[embedthumbnail] Only wrapped import statements with try..except.
Some comments are added previous ones are improvised.
This commit is contained in:
parent
05899a47d4
commit
01d84b7db5
@ -97,33 +97,33 @@ class EmbedThumbnailPP(FFmpegPostProcessor):
|
|||||||
from mutagen.oggopus import OggOpus
|
from mutagen.oggopus import OggOpus
|
||||||
from mutagen.flac import Picture, FLAC
|
from mutagen.flac import Picture, FLAC
|
||||||
from base64 import b64encode
|
from base64 import b64encode
|
||||||
|
except ImportError:
|
||||||
|
raise EmbedThumbnailPPError('mutagen was not found. Please install.')
|
||||||
|
|
||||||
# to prevent the behaviour of in-place modification of Mutagen
|
|
||||||
shutil.copyfile(filename, temp_filename)
|
shutil.copyfile(filename, temp_filename)
|
||||||
|
|
||||||
aufile = {'opus': OggOpus, 'flac': FLAC, 'ogg': OggVorbis} \
|
aufile = {'opus': OggOpus, 'flac': FLAC, 'ogg': OggVorbis} \
|
||||||
[info['ext']](temp_filename)
|
[info['ext']](temp_filename)
|
||||||
|
|
||||||
covart = Picture()
|
covart = Picture()
|
||||||
covart.data = open(thumbnail_filename, 'rb').read()
|
covart.data = open(thumbnail_filename, 'rb').read()
|
||||||
covart.type = 3 #< use as front cover.
|
covart.type = 3 # Cover (front)
|
||||||
|
|
||||||
|
# Since, OGGOpus and OGGVorbis doesn't natively support
|
||||||
|
# (coverart / thumbnail)s, it's wrapped in if..else
|
||||||
if info['ext'] == 'flac':
|
if info['ext'] == 'flac':
|
||||||
aufile.add_picture(covart)
|
aufile.add_picture(covart)
|
||||||
else:
|
else:
|
||||||
# VorbisComments don't allow raw-bytes so it's encoded
|
|
||||||
# in base64 and converted to a string.
|
|
||||||
aufile['metadata_block_picture'] = \
|
aufile['metadata_block_picture'] = \
|
||||||
b64encode(covart.write()).decode('ascii')
|
b64encode(covart.write()).decode('ascii')
|
||||||
|
|
||||||
|
# Save changes to temporary file, it'd be overlapped as the
|
||||||
|
# original one.
|
||||||
aufile.save()
|
aufile.save()
|
||||||
|
|
||||||
if not self._already_have_thumbnail:
|
if not self._already_have_thumbnail:
|
||||||
os.remove(encodeFilename(thumbnail_filename))
|
os.remove(encodeFilename(thumbnail_filename))
|
||||||
os.remove(encodeFilename(filename))
|
os.remove(encodeFilename(filename))
|
||||||
os.rename(encodeFilename(temp_filename), encodeFilename(filename))
|
os.rename(encodeFilename(temp_filename), encodeFilename(filename))
|
||||||
except ImportError:
|
|
||||||
raise EmbedThumbnailPPError('mutagen was not found. Please install.')
|
|
||||||
else:
|
else:
|
||||||
raise EmbedThumbnailPPError('Only mp3, m4a/mp4, ogg, opus and flac are supported for thumbnail embedding for now.')
|
raise EmbedThumbnailPPError('Only mp3, m4a/mp4, ogg, opus and flac are supported for thumbnail embedding for now.')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user