diff options
| author | Jordan Cook <jordan.cook@pioneer.com> | 2021-03-03 19:47:40 -0600 |
|---|---|---|
| committer | Jordan Cook <jordan.cook@pioneer.com> | 2021-03-04 22:17:21 -0600 |
| commit | 0f03e68b9840caf4bf40321cd3110347034fddd5 (patch) | |
| tree | 28b72bf7a4756e1f426ff9ab76bdb9e719573286 /requests_cache/backends | |
| parent | bfe214eedeb728b1e8899460a5bdde5590fc34ae (diff) | |
| download | requests-cache-0f03e68b9840caf4bf40321cd3110347034fddd5.tar.gz | |
Refactor CachedSession to be usable as a mixin class
Diffstat (limited to 'requests_cache/backends')
| -rw-r--r-- | requests_cache/backends/__init__.py | 2 | ||||
| -rw-r--r-- | requests_cache/backends/base.py | 20 | ||||
| -rw-r--r-- | requests_cache/backends/dynamodb.py | 2 | ||||
| -rw-r--r-- | requests_cache/backends/gridfs.py | 2 | ||||
| -rw-r--r-- | requests_cache/backends/mongo.py | 2 | ||||
| -rw-r--r-- | requests_cache/backends/redis.py | 2 | ||||
| -rw-r--r-- | requests_cache/backends/sqlite.py | 2 | ||||
| -rw-r--r-- | requests_cache/backends/storage/dbdict.py | 4 | ||||
| -rw-r--r-- | requests_cache/backends/storage/mongodict.py | 4 |
9 files changed, 28 insertions, 12 deletions
diff --git a/requests_cache/backends/__init__.py b/requests_cache/backends/__init__.py index 82fb5e1..66df84f 100644 --- a/requests_cache/backends/__init__.py +++ b/requests_cache/backends/__init__.py @@ -7,7 +7,7 @@ """ -from .base import BaseCache +from .base import BACKEND_KWARGS, BaseCache registry = { 'memory': BaseCache, diff --git a/requests_cache/backends/base.py b/requests_cache/backends/base.py index a14b884..7210a32 100644 --- a/requests_cache/backends/base.py +++ b/requests_cache/backends/base.py @@ -14,7 +14,23 @@ from urllib.parse import parse_qsl, urlencode, urlparse, urlunparse import requests -_DEFAULT_HEADERS = requests.utils.default_headers() +# All backend-specific keyword arguments combined +BACKEND_KWARGS = [ + 'connection', + 'db_name', + 'endpont_url', + 'extension', + 'fast_save', + 'ignored_parameters', + 'include_get_headers', + 'location', + 'name', + 'namespace', + 'read_capacity_units', + 'region_name', + 'write_capacity_units', +] +DEFAULT_HEADERS = requests.utils.default_headers() class BaseCache(object): @@ -230,7 +246,7 @@ class BaseCache(object): if request.body: key.update(_to_bytes(body)) else: - if self._include_get_headers and request.headers != _DEFAULT_HEADERS: + if self._include_get_headers and request.headers != DEFAULT_HEADERS: for name, value in sorted(request.headers.items()): key.update(_to_bytes(name)) key.update(_to_bytes(value)) diff --git a/requests_cache/backends/dynamodb.py b/requests_cache/backends/dynamodb.py index 55eaf1b..d3813c1 100644 --- a/requests_cache/backends/dynamodb.py +++ b/requests_cache/backends/dynamodb.py @@ -17,7 +17,7 @@ class DynamoDbCache(BaseCache): :param namespace: dynamodb table name (default: ``'requests-cache'``) :param connection: (optional) ``boto3.resource('dynamodb')`` """ - super(DynamoDbCache, self).__init__(**options) + super().__init__(**options) self.responses = DynamoDbDict( table_name, 'responses', diff --git a/requests_cache/backends/gridfs.py b/requests_cache/backends/gridfs.py index e999043..7e8d69d 100644 --- a/requests_cache/backends/gridfs.py +++ b/requests_cache/backends/gridfs.py @@ -27,6 +27,6 @@ class GridFSCache(BaseCache): :param db_name: database name :param connection: (optional) ``pymongo.Connection`` """ - super(GridFSCache, self).__init__(**options) + super().__init__(**options) self.responses = GridFSPickleDict(db_name, options.get('connection')) self.keys_map = MongoDict(db_name, 'http_redirects', self.responses.connection) diff --git a/requests_cache/backends/mongo.py b/requests_cache/backends/mongo.py index 6f7b4ca..13ed774 100644 --- a/requests_cache/backends/mongo.py +++ b/requests_cache/backends/mongo.py @@ -17,6 +17,6 @@ class MongoCache(BaseCache): :param db_name: database name (default: ``'requests-cache'``) :param connection: (optional) ``pymongo.Connection`` """ - super(MongoCache, self).__init__(**options) + super().__init__(**options) self.responses = MongoPickleDict(db_name, 'responses', options.get('connection')) self.keys_map = MongoDict(db_name, 'urls', self.responses.connection) diff --git a/requests_cache/backends/redis.py b/requests_cache/backends/redis.py index 14bb170..daad608 100644 --- a/requests_cache/backends/redis.py +++ b/requests_cache/backends/redis.py @@ -17,6 +17,6 @@ class RedisCache(BaseCache): :param namespace: redis namespace (default: ``'requests-cache'``) :param connection: (optional) ``redis.StrictRedis`` """ - super(RedisCache, self).__init__(**options) + super().__init__(**options) self.responses = RedisDict(namespace, 'responses', options.get('connection')) self.keys_map = RedisDict(namespace, 'urls', self.responses.connection) diff --git a/requests_cache/backends/sqlite.py b/requests_cache/backends/sqlite.py index 5fef40d..543915d 100644 --- a/requests_cache/backends/sqlite.py +++ b/requests_cache/backends/sqlite.py @@ -23,6 +23,6 @@ class DbCache(BaseCache): See :ref:`backends.DbDict <backends_dbdict>` for more info :param extension: extension for filename (default: ``'.sqlite'``) """ - super(DbCache, self).__init__(**options) + super().__init__(**options) self.responses = DbPickleDict(str(location) + extension, 'responses', fast_save=fast_save) self.keys_map = DbDict(location + extension, 'urls') diff --git a/requests_cache/backends/storage/dbdict.py b/requests_cache/backends/storage/dbdict.py index 07251a3..cd0958f 100644 --- a/requests_cache/backends/storage/dbdict.py +++ b/requests_cache/backends/storage/dbdict.py @@ -144,7 +144,7 @@ class DbPickleDict(DbDict): """Same as :class:`DbDict`, but pickles values before saving""" def __setitem__(self, key, item): - super(DbPickleDict, self).__setitem__(key, sqlite3.Binary(pickle.dumps(item))) + super().__setitem__(key, sqlite3.Binary(pickle.dumps(item))) def __getitem__(self, key): - return pickle.loads(bytes(super(DbPickleDict, self).__getitem__(key))) + return pickle.loads(bytes(super().__getitem__(key))) diff --git a/requests_cache/backends/storage/mongodict.py b/requests_cache/backends/storage/mongodict.py index 2d85c0c..1511228 100644 --- a/requests_cache/backends/storage/mongodict.py +++ b/requests_cache/backends/storage/mongodict.py @@ -67,7 +67,7 @@ class MongoPickleDict(MongoDict): """Same as :class:`MongoDict`, but pickles values before saving""" def __setitem__(self, key, item): - super(MongoPickleDict, self).__setitem__(key, pickle.dumps(item)) + super().__setitem__(key, pickle.dumps(item)) def __getitem__(self, key): - return pickle.loads(bytes(super(MongoPickleDict, self).__getitem__(key))) + return pickle.loads(bytes(super().__getitem__(key))) |
