Fix thumbnail and add flac metadata capabilities (#380)
* fix thumbnail * add flac cover capabilities
This commit is contained in:
parent
a3204ff7de
commit
6e5e21ba52
@ -157,6 +157,22 @@ class FileItem(BaseItem):
|
|||||||
as_flac_picture = mutagen.flac.Picture(base64.b64decode(pic_as_base64))
|
as_flac_picture = mutagen.flac.Picture(base64.b64decode(pic_as_base64))
|
||||||
im = Image.open(BytesIO(as_flac_picture.data))
|
im = Image.open(BytesIO(as_flac_picture.data))
|
||||||
|
|
||||||
|
elif ext == ".flac":
|
||||||
|
# title: 'title'
|
||||||
|
# artist: 'artist'
|
||||||
|
# album: 'album'
|
||||||
|
# cover artwork: tags.pictures
|
||||||
|
tags = mutagen.File(self.uri())
|
||||||
|
if 'title' in tags:
|
||||||
|
self.title = tags['title'][0]
|
||||||
|
if 'artist' in tags:
|
||||||
|
self.artist = tags['artist'][0]
|
||||||
|
|
||||||
|
if im is None:
|
||||||
|
for flac_picture in tags.pictures:
|
||||||
|
if flac_picture.type == 3:
|
||||||
|
im = Image.open(BytesIO(flac_picture.data))
|
||||||
|
|
||||||
if im:
|
if im:
|
||||||
self.thumbnail = self._prepare_thumbnail(im)
|
self.thumbnail = self._prepare_thumbnail(im)
|
||||||
except:
|
except:
|
||||||
@ -167,7 +183,7 @@ class FileItem(BaseItem):
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _prepare_thumbnail(im):
|
def _prepare_thumbnail(im):
|
||||||
im.thumbnail((100, 100), Image.ANTIALIAS)
|
im.thumbnail((100, 100), Image.LANCZOS)
|
||||||
buffer = BytesIO()
|
buffer = BytesIO()
|
||||||
im = im.convert('RGB')
|
im = im.convert('RGB')
|
||||||
im.save(buffer, format="JPEG")
|
im.save(buffer, format="JPEG")
|
||||||
|
@ -228,7 +228,7 @@ class URLItem(BaseItem):
|
|||||||
self.thumbnail = self._prepare_thumbnail(im)
|
self.thumbnail = self._prepare_thumbnail(im)
|
||||||
|
|
||||||
def _prepare_thumbnail(self, im):
|
def _prepare_thumbnail(self, im):
|
||||||
im.thumbnail((100, 100), Image.ANTIALIAS)
|
im.thumbnail((100, 100), Image.LANCZOS)
|
||||||
buffer = BytesIO()
|
buffer = BytesIO()
|
||||||
im = im.convert('RGB')
|
im = im.convert('RGB')
|
||||||
im.save(buffer, format="JPEG")
|
im.save(buffer, format="JPEG")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user