X-Git-Url: http://git.kaliko.me/?a=blobdiff_plain;f=sima%2Flib%2Fsimaecho.py;h=4bc08b06e14a5c85ec25d02536dbb9ac86b4e13b;hb=df433543cbd671656aefa77053b88fb7fa448d20;hp=03892c0a3a7efd3ce1d41167e1a70ccbcccf3c80;hpb=a70e527205631bf656147c04d2ee022aced877d0;p=mpd-sima.git diff --git a/sima/lib/simaecho.py b/sima/lib/simaecho.py index 03892c0..4bc08b0 100644 --- a/sima/lib/simaecho.py +++ b/sima/lib/simaecho.py @@ -84,6 +84,19 @@ class Cache(): return self.elem +def purge_cache(self, age=4): + now = datetime.utcnow() + if now.hour == SimaEch.timestamp.hour: + return + SimaEch.timestamp = datetime.utcnow() + cache = SimaEch.cache + delta = timedelta(hours=age) + for url in list(cache.keys()): + timestamp = cache.get(url).created() + if now - timestamp > delta: + cache.pop(url) + + class SimaEch(): """ """ @@ -154,18 +167,6 @@ class SimaEch(): payload.update(results=30) return payload - def purge_cache(self, age=4): - now = datetime.utcnow() - if now.hour == SimaEch.timestamp.hour: - return - SimaEch.timestamp = datetime.utcnow() - cache = SimaEch.cache - delta = timedelta(hours=age) - for url in list(cache.keys()): - timestamp = cache.get(url).created() - if now - timestamp > delta: - cache.pop(url) - def get_similar(self, artist=None): """ """ @@ -177,9 +178,10 @@ class SimaEch(): artist = {} mbid = None if 'foreign_ids' in art: - for frgnid in art.get('foreign_ids'): - if frgnid.get('catalog') == 'musicbrainz': - mbid = frgnid.get('foreign_id').lstrip('musicbrainz:artist:') + for frgnid in art.get('foreign_ids'): + if frgnid.get('catalog') == 'musicbrainz': + mbid = frgnid.get('foreign_id' + ).lstrip('musicbrainz:artist:') yield Artist(mbid=mbid, name=art.get('name'))