fix: minor fixes

This commit is contained in:
Terry Geng 2020-03-06 17:03:00 +08:00
parent 3bfc0ae5a9
commit 1f22d3b1a9
5 changed files with 23 additions and 13 deletions

View File

@ -275,7 +275,7 @@ def cmd_play_url(bot, user, text, command, parameter):
global log
url = util.get_url_from_input(parameter)
music_wrapper = get_item_wrapper(bot, type='url', url=url)
music_wrapper = get_item_wrapper(bot, type='url', url=url, user=user)
var.playlist.append(music_wrapper)
log.info("cmd: add to playlist: " + music_wrapper.format_debug_string())
@ -296,9 +296,10 @@ def cmd_play_playlist(bot, user, text, command, parameter):
url = util.get_url_from_input(parameter)
log.debug("cmd: fetching media info from playlist url %s" % url)
items = get_playlist_info(bot, url=url, start_index=offset, user=user)
items = get_playlist_info(url=url, start_index=offset, user=user)
if len(items) > 0:
var.playlist.extend(list(map(lambda item: PlaylistItemWrapper(item, user), items)))
items = var.playlist.extend(list(map(
lambda item: get_item_wrapper(bot, **item), items)))
for music in items:
log.info("cmd: add to playlist: " + music.format_debug_string())
else:

View File

@ -83,7 +83,10 @@ def get_item_wrapper(bot, **kwargs):
def get_item_wrapper_by_id(bot, id, user):
item = var.library.get_item_by_id(bot, id)
if item:
return PlaylistItemWrapper(var.library, item.id, item.type, user)
else:
return None
def get_playlist(mode, _list=None, index=None):
if _list and index is None:

View File

@ -35,7 +35,7 @@ class URLItem(BaseItem):
def __init__(self, bot, url, from_dict=None):
self.validating_lock = threading.Lock()
if from_dict is None:
super().__init__(bot, "")
super().__init__(bot)
self.url = url if url[-1] != "/" else url[:-1]
self.title = ''
self.duration = 0

View File

@ -6,7 +6,7 @@ import hashlib
from media.item import item_builders, item_loaders, item_id_generators
from media.url import URLItem, url_item_id_generator
def get_playlist_info(bot, url, start_index=0, user=""):
def get_playlist_info(url, start_index=0, user=""):
items = []
ydl_opts = {
'extract_flat': 'in_playlist'
@ -36,13 +36,14 @@ def get_playlist_info(bot, url, start_index=0, user=""):
else "https://www.youtube.com/watch?v=" + info['entries'][j]['url']
print(info['entries'][j])
music = PlaylistURLItem(
bot,
item_url,
title,
url,
playlist_title
)
music = {
"type": "url_from_playlist",
"url": item_url,
"title": title,
"playlist_url": url,
"playlist_title": playlist_title,
"user": user
}
items.append(music)
except:

View File

@ -170,6 +170,11 @@ class MumbleBot:
sys.exit(0)
self.nb_exit += 1
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")
var.playlist.save()
def check_update(self):
self.log.debug("update: checking for updates...")
new_version = util.new_release_version()