def wrapper(self, *args, **kwargs): c = Cache.get(self.request.tid, self.request.path, self.request.language) if c is None: d = defer.maybeDeferred(f, self, *args, **kwargs) def callback(data): if isinstance(data, (dict, list)): self.request.setHeader(b'content-type', b'application/json') data = json.dumps(data, cls=JSONEncoder) c = self.request.responseHeaders.getRawHeaders( b'Content-type', [b'application/json'])[0] return Cache.set(self.request.tid, self.request.path, self.request.language, c, data)[1] d.addCallback(callback) return d else: self.request.setHeader(b'Content-type', c[0]) return c[1]
def test_cache(self): self.assertEqual(Cache.memory_cache_dict, {}) self.assertIsNone(Cache.get(1, "passante_di_professione", "it")) self.assertIsNone(Cache.get(1, "passante_di_professione", "en")) self.assertIsNone(Cache.get(2, "passante_di_professione", "ca")) Cache.set(1, "passante_di_professione", "it", 'text/plain', 'ititit') Cache.set(1, "passante_di_professione", "en", 'text/plain', 'enenen') Cache.set(2, "passante_di_professione", "ca", 'text/plain', 'cacaca') self.assertTrue( "passante_di_professione" in Cache.memory_cache_dict[1]) self.assertTrue( "passante_di_professione" in Cache.memory_cache_dict[2]) self.assertIsNone(Cache.get(1, "passante_di_professione", "ca")) self.assertTrue( "it" in Cache.memory_cache_dict[1]['passante_di_professione']) self.assertTrue( "en" in Cache.memory_cache_dict[1]['passante_di_professione']) self.assertIsNone(Cache.get(1, "passante_di_professione", "ca")) Cache.invalidate() self.assertEqual(Cache.memory_cache_dict, {})
def test_cache(self): self.assertEqual(Cache.memory_cache_dict, {}) self.assertIsNone(Cache.get(1, "passante_di_professione", "it")) self.assertIsNone(Cache.get(1, "passante_di_professione", "en")) self.assertIsNone(Cache.get(2, "passante_di_professione", "ca")) Cache.set(1, "passante_di_professione", "it", 'text/plain', 'ititit') Cache.set(1, "passante_di_professione", "en", 'text/plain', 'enenen') Cache.set(2, "passante_di_professione", "ca", 'text/plain', 'cacaca') self.assertTrue("passante_di_professione" in Cache.memory_cache_dict[1]) self.assertTrue("passante_di_professione" in Cache.memory_cache_dict[2]) self.assertIsNone(Cache.get(1, "passante_di_professione", "ca")) self.assertTrue("it" in Cache.memory_cache_dict[1]['passante_di_professione']) self.assertTrue("en" in Cache.memory_cache_dict[1]['passante_di_professione']) self.assertIsNone(Cache.get(1, "passante_di_professione", "ca")) self.assertEqual(Cache.get(1, "passante_di_professione", "it")[1], gzipdata('ititit')) self.assertEqual(Cache.get(1, "passante_di_professione", "en")[1], gzipdata('enenen')) self.assertEqual(Cache.get(2, "passante_di_professione", "ca")[1], gzipdata('cacaca')) Cache.invalidate() self.assertEqual(Cache.memory_cache_dict, {})
def wrapper(self, *args, **kwargs): c = Cache.get(self.request.tid, self.request.path, self.request.language) if c is None: d = defer.maybeDeferred(f, self, *args, **kwargs) def callback(data): if isinstance(data, (dict, list)): self.request.setHeader(b'content-type', b'application/json') data = json.dumps(data) self.request.setHeader(b'Content-encoding', b'gzip') c = self.request.responseHeaders.getRawHeaders(b'Content-type', [b'application/json'])[0] return Cache.set(self.request.tid, self.request.path, self.request.language, c, data)[1] d.addCallback(callback) return d else: self.request.setHeader(b'Content-encoding', b'gzip') self.request.setHeader(b'Content-type', c[0]) return c[1]