diff options
author | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2010-06-13 19:48:37 -0400 |
---|---|---|
committer | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2010-06-13 19:48:37 -0400 |
commit | ddb36e59b96c904a09aff3ebc35259ee9522d462 (patch) | |
tree | 20e8348d6f0a489e04701e67e49551e5795a4122 /keyedcache/models.py | |
parent | 53b95d7c80da1436ba6cf7657c9641e986dcdca7 (diff) | |
download | askbot-ddb36e59b96c904a09aff3ebc35259ee9522d462.tar.gz askbot-ddb36e59b96c904a09aff3ebc35259ee9522d462.tar.bz2 askbot-ddb36e59b96c904a09aff3ebc35259ee9522d462.zip |
easy_install kind of works
Diffstat (limited to 'keyedcache/models.py')
-rw-r--r-- | keyedcache/models.py | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/keyedcache/models.py b/keyedcache/models.py deleted file mode 100644 index dec68463..00000000 --- a/keyedcache/models.py +++ /dev/null @@ -1,86 +0,0 @@ -import keyedcache -import logging - -log = logging.getLogger('keyedcache') - -class CachedObjectMixin(object): - """Provides basic object keyedcache for any objects using this as a mixin.""" - - def cache_delete(self, *args, **kwargs): - key = self.cache_key(*args, **kwargs) - log.debug("clearing cache for %s", key) - keyedcache.cache_delete(key, children=True) - - def cache_get(self, *args, **kwargs): - key = self.cache_key(*args, **kwargs) - return keyedcache.cache_get(key) - - def cache_key(self, *args, **kwargs): - keys = [self.__class__.__name__, self] - keys.extend(args) - return keyedcache.cache_key(keys, **kwargs) - - def cache_reset(self): - self.cache_delete() - self.cache_set() - - def cache_set(self, *args, **kwargs): - val = kwargs.pop('value', self) - key = self.cache_key(*args, **kwargs) - keyedcache.cache_set(key, value=val) - - def is_cached(self, *args, **kwargs): - return keyedcache.is_cached(self.cache_key(*args, **kwargs)) - -def find_by_id(cls, groupkey, objectid, raises=False): - """A helper function to look up an object by id""" - ob = None - try: - ob = keyedcache.cache_get(groupkey, objectid) - except keyedcache.NotCachedError, e: - try: - ob = cls.objects.get(pk=objectid) - keyedcache.cache_set(e.key, value=ob) - - except cls.DoesNotExist: - log.debug("No such %s: %s", groupkey, objectid) - if raises: - raise cls.DoesNotExist - - return ob - - -def find_by_key(cls, groupkey, key, raises=False): - """A helper function to look up an object by key""" - ob = None - try: - ob = keyedcache.cache_get(groupkey, key) - except keyedcache.NotCachedError, e: - try: - ob = cls.objects.get(key__exact=key) - keyedcache.cache_set(e.key, value=ob) - - except cls.DoesNotExist: - log.debug("No such %s: %s", groupkey, key) - if raises: - raise - - return ob - -def find_by_slug(cls, groupkey, slug, raises=False): - """A helper function to look up an object by slug""" - ob = None - try: - ob = keyedcache.cache_get(groupkey, slug) - except keyedcache.NotCachedError, e: - try: - ob = cls.objects.get(slug__exact=slug) - keyedcache.cache_set(e.key, value=ob) - - except cls.DoesNotExist: - log.debug("No such %s: %s", groupkey, slug) - if raises: - raise - - return ob - |