def _get_prismic_cache(cls, serialize = True, ref = None):
     ref = ref or Prismic
     if ref._prismic_cache: return ref._prismic_cache
     cache_engine = appier.conf("CACHE", "memory")
     cache_engine = appier.conf("CMS_CACHE_ENGINE", cache_engine)
     cache_engine = appier.conf("PRISMIC_CACHE_ENGINE", cache_engine)
     cache_engine = cache_engine.capitalize() + "Cache"
     cache_engine = getattr(appier, cache_engine)
     ref._prismic_cache = cache_engine.new(hash = True)
     if serialize: ref._prismic_cache = appier.SerializedCache(cls._prismic_cache)
     return ref._prismic_cache
Beispiel #2
0
 def _get_contentful_cache(cls, serialize=True, ref=None):
     ref = ref or Contentful
     if ref._contentful_cache: return ref._contentful_cache
     cache_engine = appier.conf("CACHE", "memory")
     cache_engine = appier.conf("CMS_CACHE_ENGINE", cache_engine)
     cache_engine = appier.conf("CONTENTFUL_CACHE_ENGINE", cache_engine)
     cache_engine = cache_engine.capitalize() + "Cache"
     cache_engine = getattr(appier, cache_engine)
     ref._contentful_cache = cache_engine.new(hash=True)
     if serialize:
         ref._contentful_cache = appier.SerializedCache(
             cls._contentful_cache)
     return ref._contentful_cache
Beispiel #3
0
    def test_serialized(self):
        cache = appier.FileCache.new()
        cache = appier.SerializedCache(cache)

        cache["first"] = 1
        cache["second"] = 2

        self.assertEqual(cache["first"], 1)
        self.assertEqual(cache["second"], 2)

        cache.set_item("first", 1, timeout=-1)

        self.assertEqual("first" in cache, False)
        self.assertRaises(KeyError, lambda: cache["first"])

        cache.set_item("first", 1, timeout=3600)

        self.assertEqual(cache["first"], 1)

        cache.set_item("first", 1, expires=time.time() - 1)

        self.assertEqual("first" in cache, False)
        self.assertRaises(KeyError, lambda: cache["first"])

        cache.set_item("first", 1, expires=time.time() + 3600)

        self.assertEqual(cache["first"], 1)

        cache["third"] = 3

        self.assertEqual("third" in cache, True)
        self.assertNotEqual(cache.length(), 0)

        cache.clear()

        self.assertEqual("third" in cache, False)
        self.assertEqual(cache.length(), 0)