Added a use_cache flag to calls. Default is true.
authorrogelio <rogelio@rsrv.(none)>
Wed, 15 Jun 2011 19:23:11 +0000 (14:23 -0500)
committerJoshua Roesslein <jroesslein@gmail.com>
Sat, 1 Oct 2011 05:13:41 +0000 (00:13 -0500)
This is to avoid caching calls like rate_limit_status which shouldn't ever be cached.

Binder was modified to only cache when the flag is true.

tests.py
tweepy/api.py
tweepy/binder.py

index c8bf5545487b6ebe8292d180a79d3e040a743da4..4929cd353ca783b31622991a3bd744a58a63b606 100644 (file)
--- a/tests.py
+++ b/tests.py
@@ -379,6 +379,5 @@ class TweepyCacheTests(unittest.TestCase):
         os.rmdir('cache_test_dir')
 
 if __name__ == '__main__':
-
     unittest.main()
 
index 3ca294ffc1bdf22c0b8920dc82e7ee673117fdfb..dafb739ec6b6ecd269d2e58d2e48d90b5a3759b1 100644 (file)
@@ -323,7 +323,8 @@ class API(object):
     """ account/rate_limit_status """
     rate_limit_status = bind_api(
         path = '/account/rate_limit_status.json',
-        payload_type = 'json'
+        payload_type = 'json',
+        use_cache = False
     )
 
     """ account/update_delivery_device """
index bf2dec35fd3a06d3a85ccf59f371072c050298a4..12933a04d27242ebc100a593ef6a98905c086b8b 100644 (file)
@@ -25,6 +25,7 @@ def bind_api(**config):
         method = config.get('method', 'GET')
         require_auth = config.get('require_auth', False)
         search_api = config.get('search_api', False)
+        use_cache = config.get('use_cache', True)
 
         def __init__(self, api, args, kargs):
             # If authentication is required and no credentials
@@ -108,7 +109,7 @@ def bind_api(**config):
 
             # Query the cache if one is available
             # and this request uses a GET method.
-            if self.api.cache and self.method == 'GET':
+            if self.use_cache and self.api.cache and self.method == 'GET':
                 cache_result = self.api.cache.get(url)
                 # if cache result found and not expired, return it
                 if cache_result:
@@ -172,7 +173,7 @@ def bind_api(**config):
             conn.close()
 
             # Store result into cache if one is available.
-            if self.api.cache and self.method == 'GET' and result:
+            if self.use_cache and self.api.cache and self.method == 'GET' and result:
                 self.api.cache.store(url, result)
 
             return result