]> kaliko git repositories - mpd-sima.git/blobdiff - sima/utils/utils.py
Use requests in lastfm module
[mpd-sima.git] / sima / utils / utils.py
index c3bc6c0175db30f36325c941d41d63d378c5f36e..93bac25e78084dd94b92708fc7c83b5c91daefd8 100644 (file)
@@ -27,9 +27,10 @@ import sys
 from argparse import ArgumentError, Action
 from base64 import b64decode as push
 from codecs import getencoder
 from argparse import ArgumentError, Action
 from base64 import b64decode as push
 from codecs import getencoder
-from datetime import datetime
+from datetime import datetime, timedelta
 from os import environ, access, getcwd, W_OK, R_OK
 from os.path import dirname, isabs, join, normpath, exists, isdir, isfile
 from os import environ, access, getcwd, W_OK, R_OK
 from os.path import dirname, isabs, join, normpath, exists, isdir, isfile
+from time import sleep
 
 
 def getws(dic):
 
 
 def getws(dic):
@@ -77,6 +78,19 @@ def exception_log():
     log.info('Quiting now!')
     sys.exit(1)
 
     log.info('Quiting now!')
     sys.exit(1)
 
+def purge_cache(obj, age=4):
+    now = datetime.utcnow()
+    if now.hour == obj.timestamp.hour:
+        return
+    obj.timestamp = datetime.utcnow()
+    cache = obj.cache
+    delta = timedelta(hours=age)
+    for url in list(cache.keys()):
+        timestamp = cache.get(url).created()
+        if now - timestamp > delta:
+            cache.pop(url)
+
+
 class SigHup(Exception):
     pass
 
 class SigHup(Exception):
     pass