mirror of
https://github.com/krateng/maloja.git
synced 2023-08-10 21:12:55 +03:00
Ported signal handling fix from 3.1
This commit is contained in:
parent
b3d4cb7a15
commit
bfc83fdbb0
@ -34,6 +34,7 @@ minor_release_name: "Yeonhee"
|
||||
- "[Feature] Added notification system for web interface"
|
||||
- "[Bugfix] Fixed crash when encountering error in Lastfm import"
|
||||
3.0.6:
|
||||
commit: "b3d4cb7a153845d1f5a5eef67a6508754e338f2f"
|
||||
notes:
|
||||
- "[Performance] Implemented search in database"
|
||||
- "[Bugfix] Better parsing of featuring artists"
|
||||
|
@ -43,7 +43,7 @@ for version in releases:
|
||||
try:
|
||||
prev_tag = sp.check_output(["git","show",f'v{maj}.{min}.{hot}']).decode()
|
||||
prev_tag_commit = prev_tag.split('\n')[6].split(" ")[1]
|
||||
except:
|
||||
except Exception:
|
||||
pass
|
||||
else:
|
||||
assert prev_tag_commit == info['commit']
|
||||
|
@ -62,7 +62,7 @@ class APIHandler:
|
||||
|
||||
try:
|
||||
response.status,result = self.handle(path,keys)
|
||||
except:
|
||||
except Exception:
|
||||
exceptiontype = sys.exc_info()[0]
|
||||
if exceptiontype in self.errors:
|
||||
response.status,result = self.errors[exceptiontype]
|
||||
@ -82,7 +82,7 @@ class APIHandler:
|
||||
try:
|
||||
methodname = self.get_method(path,keys)
|
||||
method = self.methods[methodname]
|
||||
except:
|
||||
except Exception:
|
||||
log("Could not find a handler for method " + str(methodname) + " in API " + self.__apiname__,module="debug")
|
||||
log("Keys: " + str(keys),module="debug")
|
||||
raise InvalidMethodException()
|
||||
@ -94,5 +94,5 @@ class APIHandler:
|
||||
# fixing etc is handled by the main scrobble function
|
||||
try:
|
||||
return database.incoming_scrobble(rawscrobble,api=self.__apiname__,client=client)
|
||||
except:
|
||||
except Exception:
|
||||
raise ScrobblingException()
|
||||
|
@ -76,7 +76,7 @@ class Audioscrobbler(APIHandler):
|
||||
#(artists,title) = cla.fullclean(artiststr,titlestr)
|
||||
try:
|
||||
timestamp = int(keys["timestamp"])
|
||||
except:
|
||||
except Exception:
|
||||
timestamp = None
|
||||
#database.createScrobble(artists,title,timestamp)
|
||||
self.scrobble({'track_artists':[artiststr],'track_title':titlestr,'scrobble_time':timestamp},client=client)
|
||||
|
@ -80,7 +80,7 @@ class AudioscrobblerLegacy(APIHandler):
|
||||
artiststr,titlestr = keys[artist_key], keys[track_key]
|
||||
try:
|
||||
timestamp = int(keys[time_key])
|
||||
except:
|
||||
except Exception:
|
||||
timestamp = None
|
||||
#database.createScrobble(artists,title,timestamp)
|
||||
self.scrobble({
|
||||
|
@ -34,7 +34,7 @@ class Listenbrainz(APIHandler):
|
||||
def submit(self,pathnodes,keys):
|
||||
try:
|
||||
token = self.get_token_from_request_keys(keys)
|
||||
except:
|
||||
except Exception:
|
||||
raise BadAuthException()
|
||||
|
||||
client = apikeystore.check_and_identify_key(token)
|
||||
@ -45,7 +45,7 @@ class Listenbrainz(APIHandler):
|
||||
try:
|
||||
listentype = keys["listen_type"]
|
||||
payload = keys["payload"]
|
||||
except:
|
||||
except Exception:
|
||||
raise MalformedJSONException()
|
||||
|
||||
if listentype == "playing_now":
|
||||
@ -57,9 +57,9 @@ class Listenbrainz(APIHandler):
|
||||
artiststr, titlestr = metadata["artist_name"], metadata["track_name"]
|
||||
try:
|
||||
timestamp = int(listen["listened_at"])
|
||||
except:
|
||||
except Exception:
|
||||
timestamp = None
|
||||
except:
|
||||
except Exception:
|
||||
raise MalformedJSONException()
|
||||
|
||||
self.scrobble({
|
||||
@ -74,7 +74,7 @@ class Listenbrainz(APIHandler):
|
||||
def validate_token(self,pathnodes,keys):
|
||||
try:
|
||||
token = self.get_token_from_request_keys(keys)
|
||||
except:
|
||||
except Exception:
|
||||
raise BadAuthException()
|
||||
if not apikeystore.check_key(token):
|
||||
raise InvalidAuthException()
|
||||
|
@ -256,7 +256,7 @@ def get_top_artists(dbconn=None,**keys):
|
||||
try:
|
||||
res = get_charts_artists(timerange=rng,dbconn=dbconn)[0]
|
||||
results.append({"range":rng,"artist":res["artist"],"scrobbles":res["scrobbles"]})
|
||||
except:
|
||||
except Exception:
|
||||
results.append({"range":rng,"artist":None,"scrobbles":0})
|
||||
|
||||
return results
|
||||
@ -272,7 +272,7 @@ def get_top_tracks(dbconn=None,**keys):
|
||||
try:
|
||||
res = get_charts_tracks(timerange=rng,dbconn=dbconn)[0]
|
||||
results.append({"range":rng,"track":res["track"],"scrobbles":res["scrobbles"]})
|
||||
except:
|
||||
except Exception:
|
||||
results.append({"range":rng,"track":None,"scrobbles":0})
|
||||
|
||||
return results
|
||||
@ -302,7 +302,7 @@ def artist_info(dbconn=None,**keys):
|
||||
},
|
||||
"topweeks":len([e for e in cached.weekly_topartists if e == artist])
|
||||
}
|
||||
except:
|
||||
except Exception:
|
||||
# if the artist isnt in the charts, they are not being credited and we
|
||||
# need to show information about the credited one
|
||||
replaceartist = sqldb.get_credited_artists(artist)[0]
|
||||
@ -370,7 +370,7 @@ def get_predefined_rulesets(dbconn=None):
|
||||
else: name = rawf.split("_")[1]
|
||||
desc = line2.replace("# DESC: ","") if "# DESC: " in line2 else ""
|
||||
author = rawf.split("_")[0]
|
||||
except:
|
||||
except Exception:
|
||||
continue
|
||||
|
||||
ruleset = {"file":rawf}
|
||||
|
@ -132,10 +132,10 @@ def trim_cache():
|
||||
def serialize(obj):
|
||||
try:
|
||||
return serialize(obj.hashable())
|
||||
except:
|
||||
except Exception:
|
||||
try:
|
||||
return json.dumps(obj)
|
||||
except:
|
||||
except Exception:
|
||||
if isinstance(obj, (list, tuple, set)):
|
||||
return "[" + ",".join(serialize(o) for o in obj) + "]"
|
||||
elif isinstance(obj,dict):
|
||||
|
@ -28,7 +28,7 @@ def is_dir_usable(pth):
|
||||
os.mknod(pthj(pth,".test"))
|
||||
os.remove(pthj(pth,".test"))
|
||||
return True
|
||||
except:
|
||||
except Exception:
|
||||
return False
|
||||
|
||||
def get_env_vars(key,pathsuffix=[]):
|
||||
|
@ -94,7 +94,7 @@ def dl_image(url):
|
||||
uri = datauri.DataURI.make(mime,charset='ascii',base64=True,data=data)
|
||||
log(f"Downloaded {url} for local caching")
|
||||
return uri
|
||||
except:
|
||||
except Exception:
|
||||
log(f"Image {url} could not be downloaded for local caching")
|
||||
return None
|
||||
|
||||
@ -260,7 +260,7 @@ def local_files(artist=None,artists=None,title=None):
|
||||
for f in os.listdir(data_dir['images'](purename)):
|
||||
if f.split(".")[-1] in ["png","jpg","jpeg","gif"]:
|
||||
images.append("/images/" + purename + "/" + f)
|
||||
except:
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
return images
|
||||
|
@ -13,7 +13,7 @@ def find_representative(sequence,attribute_id,attribute_count):
|
||||
|
||||
newsequence = [e for e in newsequence if e[attribute_count] == max(el[attribute_count] for el in newsequence)]
|
||||
return newsequence[0]
|
||||
except:
|
||||
except Exception:
|
||||
return None
|
||||
finally:
|
||||
for e in newsequence:
|
||||
|
@ -430,7 +430,7 @@ def time_fix(t):
|
||||
try:
|
||||
t = [int(p) for p in t]
|
||||
return MTRangeGregorian(t[:3])
|
||||
except:
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
if isinstance(t[1],str) and t[1].startswith("w"):
|
||||
@ -438,7 +438,7 @@ def time_fix(t):
|
||||
year = int(t[0])
|
||||
weeknum = int(t[1][1:])
|
||||
return MTRangeWeek(year=year,week=weeknum)
|
||||
except:
|
||||
except Exception:
|
||||
raise
|
||||
|
||||
|
||||
|
@ -146,7 +146,7 @@ def remove_identical(*dicts):
|
||||
try: #multidicts
|
||||
for v in d.getall(k):
|
||||
keys.append(k,v)
|
||||
except: #normaldicts
|
||||
except Exception: #normaldicts
|
||||
v = d.get(k)
|
||||
keys.append(k,v)
|
||||
|
||||
|
@ -11,21 +11,21 @@ try:
|
||||
from simplejson import JSONEncoder
|
||||
JSONEncoder._olddefault = JSONEncoder.default
|
||||
JSONEncoder.default = newdefault
|
||||
except:
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
try:
|
||||
from json import JSONEncoder
|
||||
JSONEncoder._olddefault = JSONEncoder.default
|
||||
JSONEncoder.default = newdefault
|
||||
except:
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
try:
|
||||
from ujson import JSONEncoder
|
||||
JSONEncoder._olddefault = JSONEncoder.default
|
||||
JSONEncoder.default = newdefault
|
||||
except:
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
@ -51,7 +51,7 @@ class expandeddate(date):
|
||||
def fromchrcalendar(cls,y,w,d):
|
||||
try:
|
||||
return datetime.date.fromisocalendar(y,w,d) - timedelta(days=1) #sunday instead of monday
|
||||
except:
|
||||
except Exception:
|
||||
# pre python3.8 compatibility
|
||||
|
||||
firstdayofyear = datetime.date(y,1,1)
|
||||
|
@ -27,14 +27,14 @@ def getInstance():
|
||||
try:
|
||||
output = subprocess.check_output(["pidof","Maloja"])
|
||||
return int(output)
|
||||
except:
|
||||
except Exception:
|
||||
return None
|
||||
|
||||
def getInstanceSupervisor():
|
||||
try:
|
||||
output = subprocess.check_output(["pidof","maloja_supervisor"])
|
||||
return int(output)
|
||||
except:
|
||||
except Exception:
|
||||
return None
|
||||
|
||||
def restart():
|
||||
@ -59,7 +59,7 @@ def start():
|
||||
print("\t" + col["blue"]("http://localhost:" + str(port)))
|
||||
print("\t" + col["blue"]("http://localhost:" + str(port) + "/admin_setup"))
|
||||
return True
|
||||
except:
|
||||
except Exception:
|
||||
print("Error while starting Maloja.")
|
||||
return False
|
||||
|
||||
|
@ -33,7 +33,7 @@ def profile(func):
|
||||
if FULL_PROFILE:
|
||||
try:
|
||||
pstats.Stats(profiler).dump_stats(os.path.join(benchmarkfolder,f"{func.__name__}.stats"))
|
||||
except:
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
return result
|
||||
|
2
maloja/thirdparty/__init__.py
vendored
2
maloja/thirdparty/__init__.py
vendored
@ -230,7 +230,7 @@ class MetadataInterface(GenericInterface,abstract=True):
|
||||
for node in self.metadata[resp]:
|
||||
try:
|
||||
res = res[node]
|
||||
except:
|
||||
except Exception:
|
||||
return None
|
||||
return res
|
||||
|
||||
|
2
maloja/thirdparty/musicbrainz.py
vendored
2
maloja/thirdparty/musicbrainz.py
vendored
@ -57,7 +57,7 @@ class MusicBrainz(MetadataInterface):
|
||||
if imgurl is not None: imgurl = self.postprocess_url(imgurl)
|
||||
return imgurl
|
||||
|
||||
except:
|
||||
except Exception:
|
||||
return None
|
||||
finally:
|
||||
time.sleep(2)
|
||||
|
@ -37,7 +37,7 @@ def upgrade_apikeys():
|
||||
for key,identifier in entries:
|
||||
_apikeys.apikeystore[identifier] = key
|
||||
os.remove(oldfile)
|
||||
except:
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user