summaryrefslogtreecommitdiffstats
path: root/keyedcache/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'keyedcache/models.py')
-rw-r--r--keyedcache/models.py86
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
-