python-memcache responds to incr on non-existent keys raising a ValueError. Cmemcache...
[plcapi.git] / aspects / ratelimitaspects.py
index 8be22e5..8c28dd5 100644 (file)
@@ -45,8 +45,11 @@ class BaseRateLimit(object):
         keys_to_check = ["%s_%s_%s" % (self.prefix, api_method_source[0], (now - timedelta(minutes = minute)).strftime("%Y%m%d%H%M")) for minute in range(self.minutes + 1)]
 
         try:
-            mc.incr(current_key)
+            value = mc.incr(current_key)
         except ValueError:
+            value = None
+
+        if value == None:
             mc.set(current_key, 1, time=self.expire_after)
 
         result = mc.get_multi(keys_to_check)