fix: small fixes.
This commit is contained in:
parent
e70727cfd1
commit
3bfc0ae5a9
@ -46,7 +46,6 @@ class FileItem(BaseItem):
|
|||||||
self.title = ""
|
self.title = ""
|
||||||
self.artist = ""
|
self.artist = ""
|
||||||
self.thumbnail = None
|
self.thumbnail = None
|
||||||
if self.path:
|
|
||||||
self.id = hashlib.md5(path.encode()).hexdigest()
|
self.id = hashlib.md5(path.encode()).hexdigest()
|
||||||
if os.path.exists(self.uri()):
|
if os.path.exists(self.uri()):
|
||||||
self._get_info_from_tag()
|
self._get_info_from_tag()
|
||||||
|
37
media/url.py
37
media/url.py
@ -6,12 +6,13 @@ import traceback
|
|||||||
from PIL import Image
|
from PIL import Image
|
||||||
import youtube_dl
|
import youtube_dl
|
||||||
import glob
|
import glob
|
||||||
|
from io import BytesIO
|
||||||
|
import base64
|
||||||
|
|
||||||
import constants
|
import constants
|
||||||
import media
|
import media
|
||||||
import variables as var
|
import variables as var
|
||||||
from media.item import item_builders, item_loaders, item_id_generators
|
from media.item import BaseItem, item_builders, item_loaders, item_id_generators
|
||||||
from media.file import FileItem
|
|
||||||
import media.system
|
import media.system
|
||||||
|
|
||||||
log = logging.getLogger("bot")
|
log = logging.getLogger("bot")
|
||||||
@ -30,30 +31,24 @@ item_loaders['url'] = url_item_loader
|
|||||||
item_id_generators['url'] = url_item_id_generator
|
item_id_generators['url'] = url_item_id_generator
|
||||||
|
|
||||||
|
|
||||||
class URLItem(FileItem):
|
class URLItem(BaseItem):
|
||||||
def __init__(self, bot, url, from_dict=None):
|
def __init__(self, bot, url, from_dict=None):
|
||||||
self.validating_lock = threading.Lock()
|
self.validating_lock = threading.Lock()
|
||||||
if from_dict is None:
|
if from_dict is None:
|
||||||
|
super().__init__(bot, "")
|
||||||
self.url = url if url[-1] != "/" else url[:-1]
|
self.url = url if url[-1] != "/" else url[:-1]
|
||||||
self.title = ''
|
self.title = ''
|
||||||
self.duration = 0
|
self.duration = 0
|
||||||
self.ready = 'pending'
|
|
||||||
super().__init__(bot, "")
|
|
||||||
self.id = hashlib.md5(url.encode()).hexdigest()
|
self.id = hashlib.md5(url.encode()).hexdigest()
|
||||||
path = var.tmp_folder + self.id + ".mp3"
|
self.path = var.tmp_folder + self.id + ".mp3"
|
||||||
|
self.thumbnail = ''
|
||||||
if os.path.isfile(path):
|
|
||||||
self.log.info("url: file existed for url %s " % self.url)
|
|
||||||
self.ready = 'yes'
|
|
||||||
self.path = path
|
|
||||||
self._get_info_from_tag()
|
|
||||||
else:
|
else:
|
||||||
# self._get_info_from_url()
|
super().__init__(bot, from_dict)
|
||||||
pass
|
|
||||||
else:
|
|
||||||
super().__init__(bot, "", from_dict)
|
|
||||||
self.url = from_dict['url']
|
self.url = from_dict['url']
|
||||||
self.duration = from_dict['duration']
|
self.duration = from_dict['duration']
|
||||||
|
self.path = from_dict['path']
|
||||||
|
self.title = from_dict['title']
|
||||||
|
self.thumbnail = from_dict['thumbnail']
|
||||||
|
|
||||||
self.downloading = False
|
self.downloading = False
|
||||||
self.type = "url"
|
self.type = "url"
|
||||||
@ -195,11 +190,21 @@ class URLItem(FileItem):
|
|||||||
im = Image.open(path_thumbnail)
|
im = Image.open(path_thumbnail)
|
||||||
self.thumbnail = self._prepare_thumbnail(im)
|
self.thumbnail = self._prepare_thumbnail(im)
|
||||||
|
|
||||||
|
def _prepare_thumbnail(self, im):
|
||||||
|
im.thumbnail((100, 100), Image.ANTIALIAS)
|
||||||
|
buffer = BytesIO()
|
||||||
|
im = im.convert('RGB')
|
||||||
|
im.save(buffer, format="JPEG")
|
||||||
|
return base64.b64encode(buffer.getvalue()).decode('utf-8')
|
||||||
|
|
||||||
def to_dict(self):
|
def to_dict(self):
|
||||||
dict = super().to_dict()
|
dict = super().to_dict()
|
||||||
dict['type'] = 'url'
|
dict['type'] = 'url'
|
||||||
dict['url'] = self.url
|
dict['url'] = self.url
|
||||||
dict['duration'] = self.duration
|
dict['duration'] = self.duration
|
||||||
|
dict['path'] = self.path
|
||||||
|
dict['title'] = self.title
|
||||||
|
dict['thumbnail'] = self.thumbnail
|
||||||
|
|
||||||
return dict
|
return dict
|
||||||
|
|
||||||
|
@ -424,7 +424,8 @@ class MumbleBot:
|
|||||||
|
|
||||||
if self.exit:
|
if self.exit:
|
||||||
self._loop_status = "exited"
|
self._loop_status = "exited"
|
||||||
if var.config.getboolean('bot', 'save_playlist', fallback=True):
|
if var.config.getboolean('bot', 'save_playlist', fallback=True) \
|
||||||
|
and var.config.get("bot", "save_music_library", fallback=True):
|
||||||
self.log.info("bot: save playlist into database")
|
self.log.info("bot: save playlist into database")
|
||||||
var.playlist.save()
|
var.playlist.save()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user