Пример #1
0
def find_setting(group, key, site=None):
    """Get a setting or longsetting by group and key, cache and return it."""

    siteid = _safe_get_siteid(site)

    ck = cache_key('Setting', siteid, group, key)
    setting = None
    try:
        setting = cache_get(ck)

    except NotCachedError:
        if apps.ready:
            try:
                setting = Setting.objects.get(site__id__exact=siteid, key__exact=key, group__exact=group)

            except Setting.DoesNotExist:
                # maybe it is a "long setting"
                try:
                    setting = LongSetting.objects.get(site__id__exact=siteid, key__exact=key, group__exact=group)

                except LongSetting.DoesNotExist:
                    pass

            cache_set(ck, value=setting)

    if not setting:
        raise SettingNotSet(key, cachekey=ck)

    return setting
Пример #2
0
    def testDisable(self):
        caching.cache_set('disabled', value=False)
        v = caching.cache_get('disabled')
        self.assertEqual(v, False)

        caching.cache_enable(False)
        caching.cache_set('disabled', value=True)
        try:
            caching.cache_get('disabled')
            self.fail('should have raised NotCachedError')
        except caching.NotCachedError, nce:
            key = caching.cache_key('disabled')
            self.assertEqual(nce.key, key)
Пример #3
0
 def testDisable(self):
     caching.cache_set('disabled', value=False)
     v = caching.cache_get('disabled')
     self.assertEqual(v, False)
     
     caching.cache_enable(False)
     caching.cache_set('disabled', value=True)
     try:
         caching.cache_get('disabled')
         self.fail('should have raised NotCachedError')
     except caching.NotCachedError, nce:
         key = caching.cache_key('disabled')
         self.assertEqual(nce.key, key)
Пример #4
0
    def testDisable(self):
        caching.cache_set("disabled", value=False)
        v = caching.cache_get("disabled")
        self.assertEqual(v, False)

        caching.cache_enable(False)
        caching.cache_set("disabled", value=True)
        try:
            caching.cache_get("disabled")
            self.fail("should have raised NotCachedError")
        except caching.NotCachedError as nce:
            key = caching.cache_key("disabled")
            self.assertEqual(nce.key, key)

        caching.cache_enable()
        v2 = caching.cache_get("disabled")
        # should still be False, since the cache was disabled
        self.assertEqual(v2, False)
Пример #5
0
 def find(cls, group, key):
     """Get a setting from cache, if possible"""
     site_id = settings.SITE_ID
     ck = cache_key('Setting', site_id, group, key)
     try:
         setting = cache_get(ck)
         
     except NotCachedError:
         if loading.app_cache_ready():
             try:
                 setting = Setting.objects.get(site__id__exact=site_id, key__exact=key, group__exact=group)
                 setting.cache_set()
             
             except Setting.DoesNotExist:
                 raise SettingNotSet(key)
         else:
             raise SettingNotSet("App cache not loaded: %s" % key)
             
     return setting
Пример #6
0
 def testPairedDualKey(self):
     v = caching.cache_key("test", 3, more="yes")
     self.assertEqual(v, caching.CACHE_PREFIX + "::test::3::more::yes")
Пример #7
0
 def testSimpleKey(self):
     v = caching.cache_key('test')
     self.assertEqual(v, 'test')
Пример #8
0
 def cache_key(self, *args, **kwargs):
     # note same cache pattern as Setting.  This is so we can look up in one check.
     # they can't overlap anyway, so this is moderately safe.  At the worst, the
     # Setting will override a LongSetting.
     return cache_key('Setting', self.site, self.group, self.key)
Пример #9
0
 def cache_key(self, *args, **kwargs):
     return cache_key('Setting', self.site, self.group, self.key)
Пример #10
0
 def testDualKey(self):
     v = caching.cache_key('test', 2)
     self.assertEqual(v, 'test::2')
Пример #11
0
 def cache_key(self, *args, **kwargs):
     keys = [self.__class__.__name__, self]
     keys.extend(args)
     return caching.cache_key(keys, **kwargs)
Пример #12
0
 def testPairedDualKey(self):
     v = caching.cache_key('test', 3, more='yes')
     self.assertEqual(v, caching.CACHE_PREFIX + '::test::3::more::yes')
Пример #13
0
 def testSimpleKey(self):
     v = caching.cache_key('test')
     self.assertEqual(v, caching.CACHE_PREFIX + '::test')
Пример #14
0
 def testDualKey(self):
     v = caching.cache_key("test", 2)
     self.assertEqual(v, caching.CACHE_PREFIX + "::test::2")
Пример #15
0
 def testSimpleKey(self):
     v = caching.cache_key("test")
     self.assertEqual(v, caching.CACHE_PREFIX + "::test")
Пример #16
0
 def testPairedDualKey(self):
     v = caching.cache_key('test', 3, more='yes')
     self.assertEqual(v, 'test::3::more::yes')
Пример #17
0
 def testDualKey(self):
     v = caching.cache_key('test', 2)
     self.assertEqual(v, 'test::2')
Пример #18
0
 def testDualKey(self):
     v = caching.cache_key('test', 2)
     self.assertEqual(v, caching.CACHE_PREFIX + '::test::2')
Пример #19
0
 def testSimpleKey(self):
     v = caching.cache_key('test')
     self.assertEqual(v, caching.CACHE_PREFIX + '::test')
Пример #20
0
 def cache_key(self, *args, **kwargs):
     keys = [self.__class__.__name__, self]
     keys.extend(args)
     return caching.cache_key(keys, **kwargs)
Пример #21
0
 def testDualKey(self):
     v = caching.cache_key('test', 2)
     self.assertEqual(v, caching.CACHE_PREFIX + '::test::2')
Пример #22
0
 def testSimpleKey(self):
     v = caching.cache_key('test')
     self.assertEqual(v, 'test')
Пример #23
0
 def testPairedDualKey(self):
     v = caching.cache_key('test', 3, more='yes')
     self.assertEqual(v, caching.CACHE_PREFIX + '::test::3::more::yes')
Пример #24
0
    def testPairedDualKey(self):
        v = caching.cache_key('test', 3, more='yes')
        self.assertEqual(v, 'test::3::more::yes')


        
Пример #25
0
 def cache_key(self, *args, **kwargs):
     return cache_key("setting", self.group, self.key)