diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-06-07 21:55:48 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-06-07 21:55:48 -0400 |
commit | d4a934ac72fa1e06db5a108c2dc81044327cb58b (patch) | |
tree | a46d699299899c4cc355542ff8bc4ea71c0898fe | |
parent | 7a2681dd2ca909091ccb1d446f6844ef9efae851 (diff) | |
download | dogpile-cache-d4a934ac72fa1e06db5a108c2dc81044327cb58b.tar.gz |
- compat.py needs to be in dogpile.cache - we're a namespace package !
- don't import compat's into util if we're going to have compat, keep it clean
- fix imports of new compat module
-rw-r--r-- | dogpile/cache/api.py | 2 | ||||
-rw-r--r-- | dogpile/cache/backends/file.py | 9 | ||||
-rw-r--r-- | dogpile/cache/backends/memcached.py | 3 | ||||
-rw-r--r-- | dogpile/cache/backends/redis.py | 2 | ||||
-rw-r--r-- | dogpile/cache/compat.py (renamed from dogpile/compat.py) | 6 | ||||
-rw-r--r-- | dogpile/cache/util.py | 16 | ||||
-rw-r--r-- | setup.cfg | 6 | ||||
-rw-r--r-- | tests/cache/__init__.py | 2 |
8 files changed, 26 insertions, 20 deletions
diff --git a/dogpile/cache/api.py b/dogpile/cache/api.py index ea28c42..b8e04c3 100644 --- a/dogpile/cache/api.py +++ b/dogpile/cache/api.py @@ -1,5 +1,5 @@ import operator -from dogpile.compat import py3k +from .compat import py3k class NoValue(object): diff --git a/dogpile/cache/backends/file.py b/dogpile/cache/backends/file.py index 734276e..37e7301 100644 --- a/dogpile/cache/backends/file.py +++ b/dogpile/cache/backends/file.py @@ -8,6 +8,7 @@ Provides backends that deal with local filesystem access. from dogpile.cache.api import CacheBackend, NO_VALUE from contextlib import contextmanager +from dogpile.cache import compat from dogpile.cache import util import os import fcntl @@ -97,7 +98,7 @@ class DBMBackend(CacheBackend): util.KeyReentrantMutex.factory) # TODO: make this configurable - if util.py3k: + if compat.py3k: import dbm else: import anydbm as dbm @@ -165,12 +166,12 @@ class DBMBackend(CacheBackend): with self._dbm_file(False) as dbm: value = dbm.get(key, NO_VALUE) if value is not NO_VALUE: - value = util.pickle.loads(value) + value = compat.pickle.loads(value) return value def set(self, key, value): with self._dbm_file(True) as dbm: - dbm[key] = util.pickle.dumps(value) + dbm[key] = compat.pickle.dumps(value) def delete(self, key): with self._dbm_file(True) as dbm: @@ -188,7 +189,7 @@ class FileLock(object): """ def __init__(self, filename): - self._filedescriptor = util.threading.local() + self._filedescriptor = compat.threading.local() self.filename = filename def acquire(self, wait=True): diff --git a/dogpile/cache/backends/memcached.py b/dogpile/cache/backends/memcached.py index 51dfdcc..2c9f108 100644 --- a/dogpile/cache/backends/memcached.py +++ b/dogpile/cache/backends/memcached.py @@ -7,6 +7,7 @@ Provides backends for talking to `memcached <http://memcached.org>`_. """ from dogpile.cache.api import CacheBackend, NO_VALUE +from dogpile.cache import compat from dogpile.cache import util import random import time @@ -117,7 +118,7 @@ class GenericMemcachedBackend(CacheBackend): @util.memoized_property def _clients(self): backend = self - class ClientPool(util.threading.local): + class ClientPool(compat.threading.local): def __init__(self): self.memcached = backend._create_client() diff --git a/dogpile/cache/backends/redis.py b/dogpile/cache/backends/redis.py index fbb60ab..d0aa5e6 100644 --- a/dogpile/cache/backends/redis.py +++ b/dogpile/cache/backends/redis.py @@ -8,7 +8,7 @@ Provides backends for talking to `Redis <http://redis.io>`_. from __future__ import absolute_import from dogpile.cache.api import CacheBackend, NO_VALUE -from dogpile.cache.util import pickle +from dogpile.cache.compat import pickle import random import time diff --git a/dogpile/compat.py b/dogpile/cache/compat.py index 628f4a1..622c86b 100644 --- a/dogpile/compat.py +++ b/dogpile/cache/compat.py @@ -5,6 +5,12 @@ py3k = sys.version_info >= (3, 0) jython = sys.platform.startswith('java')
+try:
+ import threading
+except ImportError:
+ import dummy_threading as threading
+
+
if py3k: # pragma: no cover
string_types = str,
text_type = str
diff --git a/dogpile/cache/util.py b/dogpile/cache/util.py index ed2d515..8515825 100644 --- a/dogpile/cache/util.py +++ b/dogpile/cache/util.py @@ -3,19 +3,13 @@ import inspect import sys import re import collections -from dogpile.compat import string_types, text_type, pickle - - -try: - import threading -except ImportError: - import dummy_threading as threading +from . import compat def coerce_string_conf(d): result = {} for k, v in d.items(): - if not isinstance(v, string_types): + if not isinstance(v, compat.string_types): result[k] = v continue @@ -86,7 +80,7 @@ def function_key_generator(namespace, fn): "function does not accept keyword arguments.") if has_self: args = args[1:] - return namespace + "|" + " ".join(map(text_type, args)) + return namespace + "|" + " ".join(map(compat.text_type, args)) return generate_key def sha1_mangle_key(key): @@ -147,7 +141,7 @@ class KeyReentrantMutex(object): return fac def acquire(self, wait=True): - current_thread = threading.current_thread().ident + current_thread = compat.threading.current_thread().ident keys = self.keys.get(current_thread) if keys is not None and \ self.key not in keys: @@ -162,7 +156,7 @@ class KeyReentrantMutex(object): return False def release(self): - current_thread = threading.current_thread().ident + current_thread = compat.threading.current_thread().ident keys = self.keys.get(current_thread) assert keys is not None, "this thread didn't do the acquire" assert self.key in keys, "No acquire held for key '%s'" % self.key @@ -1,6 +1,10 @@ [egg_info] -tag_build = dev [upload_docs] upload-dir = docs/build/output/html + +[nosetests] +cover-package = dogpile.cache +with-coverage = 1 +cover-erase = 1
\ No newline at end of file diff --git a/tests/cache/__init__.py b/tests/cache/__init__.py index 2613f08..7ec9a07 100644 --- a/tests/cache/__init__.py +++ b/tests/cache/__init__.py @@ -16,4 +16,4 @@ def assert_raises_message(except_cls, msg, callable_, *args, **kwargs): except except_cls as e: assert re.search(msg, str(e)), "%r !~ %s" % (msg, e) -from dogpile.compat import configparser, io +from dogpile.cache.compat import configparser, io |