This commit is contained in:
Lartza
2020-03-10 23:07:29 +02:00
parent b2ced96ba4
commit 213a6c084b
14 changed files with 27 additions and 86 deletions

View File

@ -1,11 +1,10 @@
import logging
import os
from database import MusicDatabase
import json
import threading
from media.item import item_builders, item_loaders, item_id_generators, dict_to_item, dicts_to_items
from media.item import item_builders, item_id_generators, dict_to_item
from database import MusicDatabase
import variables as var
import util
@ -18,6 +17,7 @@ class MusicCache(dict):
self.log = logging.getLogger("bot")
self.dir = None
self.files = []
self.file_id_lookup = {}
self.dir_lock = threading.Lock()
def get_item_by_id(self, bot, id): # Why all these functions need a bot? Because it need the bot to send message!
@ -111,7 +111,6 @@ class MusicCache(dict):
self.dir_lock.acquire()
self.log.info("library: rebuild directory cache")
self.files = []
self.file_id_lookup = {}
files = util.get_recursive_file_list_sorted(var.music_folder)
self.dir = util.Dir(var.music_folder)
for file in files:

View File

@ -1,4 +1,3 @@
import logging
import os
import re
from io import BytesIO
@ -6,9 +5,7 @@ import base64
import hashlib
import mutagen
from PIL import Image
import json
import util
import variables as var
from media.item import BaseItem, item_builders, item_loaders, item_id_generators
import constants
@ -83,7 +80,7 @@ class FileItem(BaseItem):
return True
def _get_info_from_tag(self):
match = re.search("(.+)\.(.+)", self.uri())
match = re.search(r"(.+)\.(.+)", self.uri())
assert match is not None
file_no_ext = match[1]

View File

@ -1,15 +1,4 @@
import logging
import threading
import os
import re
from io import BytesIO
import base64
import hashlib
import mutagen
from PIL import Image
import util
import variables as var
item_builders = {}
item_loaders = {}
@ -117,5 +106,3 @@ class BaseItem:
def to_dict(self):
return {"type": self.type, "id": self.id, "ready": self.ready, "path": self.path, "tags": self.tags}

View File

@ -359,4 +359,3 @@ class AutoPlaylist(OneshotPlaylist):
if len(self) == 0:
self.refresh()
return super().next()

View File

@ -16,12 +16,11 @@ def get_radio_server_description(url):
global log
log.debug("radio: fetching radio server description")
p = re.compile('(https?\:\/\/[^\/]*)', re.IGNORECASE)
p = re.compile('(https?://[^/]*)', re.IGNORECASE)
res = re.search(p, url)
base_url = res.group(1)
url_icecast = base_url + '/status-json.xsl'
url_shoutcast = base_url + '/stats?json=1'
title_server = None
try:
r = requests.get(url_shoutcast, timeout=10)
data = r.json()
@ -31,7 +30,7 @@ def get_radio_server_description(url):
except (requests.exceptions.ConnectionError,
requests.exceptions.HTTPError,
requests.exceptions.ReadTimeout,
requests.exceptions.Timeout) as e:
requests.exceptions.Timeout):
error_traceback = traceback.format_exc()
error = error_traceback.rstrip().split("\n")[-1]
log.debug("radio: unsuccessful attempts on fetching radio description (shoutcast): " + error)
@ -52,7 +51,7 @@ def get_radio_server_description(url):
except (requests.exceptions.ConnectionError,
requests.exceptions.HTTPError,
requests.exceptions.ReadTimeout,
requests.exceptions.Timeout) as e:
requests.exceptions.Timeout):
error_traceback = traceback.format_exc()
error = error_traceback.rstrip().split("\n")[-1]
log.debug("radio: unsuccessful attempts on fetching radio description (icecast): " + error)
@ -82,7 +81,7 @@ def get_radio_title(url):
requests.exceptions.HTTPError,
requests.exceptions.ReadTimeout,
requests.exceptions.Timeout,
KeyError) as e:
KeyError):
log.debug("radio: unsuccessful attempts on fetching radio title (icy)")
return url
@ -163,6 +162,3 @@ class RadioItem(BaseItem):
def display_type(self):
return constants.strings("radio")

View File

@ -149,8 +149,6 @@ class URLItem(BaseItem):
self.ready = "preparing"
self.log.info("bot: downloading url (%s) %s " % (self.title, self.url))
ydl_opts = ""
ydl_opts = {
'format': 'bestaudio/best',
'outtmpl': save_path,
@ -170,7 +168,7 @@ class URLItem(BaseItem):
for i in range(attempts):
self.log.info("bot: download attempts %d / %d" % (i+1, attempts))
try:
info = ydl.extract_info(self.url)
ydl.extract_info(self.url)
download_succeed = True
break
except:

View File

@ -1,8 +1,6 @@
import youtube_dl
import constants
import media
import variables as var
import hashlib
from media.item import item_builders, item_loaders, item_id_generators
from media.url import URLItem, url_item_id_generator