exception handling for CDDB improved
This commit is contained in:
parent
ceece81b6d
commit
bbe327c73b
14
CDDB.py
14
CDDB.py
@ -69,7 +69,11 @@ def my_disc_metadata(**kwargs):
|
||||
|
||||
def query(data_str, server_url=default_server, user=default_user, host=hostname, client_name=ROOT_LOGGER_NAME, client_version=version):
|
||||
url = f"{server_url}?cmd=cddb+query+{data_str}&hello={user}+{host}+{client_name}+{client_version}&proto={proto}"
|
||||
response = urllib.request.urlopen(url)
|
||||
try:
|
||||
response = urllib.request.urlopen(url)
|
||||
except urllib.error.URLError as e:
|
||||
logger.warning("Error while getting data from CDDB database: %s", repr(e))
|
||||
return None
|
||||
header = response.readline().decode("utf-8").rstrip().split(" ", 3)
|
||||
header[0] = int(header[0])
|
||||
|
||||
@ -94,13 +98,17 @@ def cddb(disc_id, server_url=default_server, user=default_user, host=hostname, c
|
||||
}
|
||||
#
|
||||
url = f"{server_url}?cmd=cddb+read+data+{disc_id}&hello={default_server}+{hostname}+{client_name}+{client_version}&proto={proto}"
|
||||
response = urllib.request.urlopen(url)
|
||||
try:
|
||||
response = urllib.request.urlopen(url)
|
||||
except urllib.error.URLError as e:
|
||||
logger.warning("Error while getting data from CDDB database: %s", repr(e))
|
||||
return None
|
||||
|
||||
header = response.readline().decode("utf-8").rstrip().split(" ", 3)
|
||||
header[0] = int(header[0])
|
||||
|
||||
if header[0] not in (210, ):
|
||||
logger.error("Error while reading cddb entry: \"%d - %s\"", header[1], header[3])
|
||||
logger.error("Error while reading cddb entry: \"%s - %s\"", repr(header[1]), repr(header[3]))
|
||||
return None
|
||||
data = {}
|
||||
for line in response.readlines():
|
||||
|
@ -97,7 +97,10 @@ def get_disc_data(full_path, user_callback):
|
||||
for i in range(0, int(did.split('+')[1])):
|
||||
data["track_%02d" % (i + 1)] = None
|
||||
data = user_callback(common.CALLBACK_MAN_INPUT, data)
|
||||
return media.CDDB.my_disc_metadata(**data)
|
||||
try:
|
||||
return media.CDDB.my_disc_metadata(**data)
|
||||
except TypeError:
|
||||
return None
|
||||
|
||||
if len(q) == 1:
|
||||
logger.debug("Single database entry identified")
|
||||
|
Loading…
x
Reference in New Issue
Block a user