@classmethod
def set_tags(cls, audiobook, file_name):
- tags = getattr(audiobook, "%s_tags" % cls.ext)['tags']
+ tags = getattr(audiobook, "get_%s_tags" % cls.ext)()['tags']
if not tags.get('flac_sha1'):
tags['flac_sha1'] = audiobook.get_source_sha1()
audio = File(file_name)
@classmethod
def put(cls, user, audiobook, path):
- tags = getattr(audiobook, "%s_tags" % cls.ext)
+ tags = getattr(audiobook, "get_%s_tags" % cls.ext)()
data = {
'book': tags['url'],
'type': cls.ext,
'parts_count': audiobook.parts_count,
'source_sha1': audiobook.source_sha1,
}
- api_call(user, UPLOAD_URL, data=data, files={
- "file": open(path, 'rb'),
- })
+ with open(path, 'rb') as f:
+ api_call(user, UPLOAD_URL, data=data, files={
+ "file": f,
+ })
def run(self, uid, aid, publish=True):
aid = int(aid)
# these shouldn't be staticmethods
def id3_text(tag, text):
- return tag(encoding=1, text=text)
+ return tag(encoding=3, text=text)
def id3_url(tag, text):
return tag(url=text)
- def id3_comment(tag, text, lang=u'pol'):
- return tag(encoding=1, lang=lang, desc=u'', text=text)
- def id3_priv(tag, text, what=u''):
+ def id3_comment(tag, text, lang='pol'):
+ return tag(encoding=3, lang=lang, desc='', text=text)
+ def id3_priv(tag, text, what=''):
return tag(owner='wolnelektury.pl?%s' % what, data=text.encode('utf-8'))
TAG_MAP = {
@classmethod
def set_tags(cls, audiobook, file_name):
- mp3_tags = audiobook.mp3_tags['tags']
+ mp3_tags = audiobook.get_mp3_tags()['tags']
if not mp3_tags.get('flac_sha1'):
mp3_tags['flac_sha1'] = audiobook.get_source_sha1()
audio = id3.ID3(file_name)
if COVER_IMAGE:
mime = mimetypes.guess_type(COVER_IMAGE)
- f = open(COVER_IMAGE)
- audio.add(id3.APIC(encoding=0, mime=mime, type=3, desc=u'', data=f.read()))
- f.close()
+ with open(COVER_IMAGE, 'rb') as f:
+ audio.add(id3.APIC(encoding=0, mime=mime, type=3, desc='', data=f.read()))
audio.save()