X-Git-Url: http://git.maemo.org/git/?p=jamaendo;a=blobdiff_plain;f=jamaendo%2Fapi.py;h=44cec73a3169ddc970fc082c10e14a435910cb5f;hp=7792c33c215cc45b1e0ed112fd3574ce604a827d;hb=1db69a594f71e3b80c92d17ec171f3d6ac866bfb;hpb=61536ca548691b15e7f63340a0fbfb5a3055d5be diff --git a/jamaendo/api.py b/jamaendo/api.py index 7792c33..44cec73 100644 --- a/jamaendo/api.py +++ b/jamaendo/api.py @@ -240,23 +240,26 @@ _CACHED_COVERS = 2048 # TODO: cache queries? -class Query(object): - rate_limit = 1.1 # seconds between queries +class Ratelimit(object): + rate_limit = 1.0 # seconds between queries last_query = time.time() - 1.5 @classmethod - def _ratelimit(cls): + def ratelimit(cls): now = time.time() - if now - cls.last_query < cls.rate_limit: + if (now - cls.last_query) < cls.rate_limit: time.sleep(cls.rate_limit - (now - cls.last_query)) - cls.last_query = now + cls.last_query = time.time() + +_ratelimit = Ratelimit.ratelimit +class Query(object): def __init__(self): pass def _geturl(self, url): + _ratelimit() log.info("%s", url) - Query._ratelimit() try: ret = simplejson.loads(curlGET(url)) except Exception, e: