Example #1
0
    def test_resets_caching(self):
        self.called_foo = False
        def foo():
            self.called_foo = True

        caching.register(foo)
        ModelBridge(SuccessAdapter())(**self.options)
        self.assertEqual(self.called_foo, True)
    def test_resets_caching(self):
        self.called_foo = False

        def foo():
            self.called_foo = True

        caching.register(foo)
        ModelBridge(SuccessAdapter())(**self.options)
        self.assertEqual(self.called_foo, True)
Example #3
0
    def test_calls_each_registry_item(self):
        self.called = False

        def foo():
            self.called = True

        caching.register(foo)
        self.assertEqual(self.called, False)
        caching.reset()
        self.assertEqual(self.called, True)
Example #4
0
        # Use configured cache expiry interval if set
        expires_at = None
        if self.options.has_key('interval'):
            expires_at = (datetime.now() +
                timedelta(seconds=self.options.get('interval')))

        # Only store records < configured max_entry_size if set
        if (not self.options.has_key('max_entry_size') or
                self.options['max_entry_size'] > len(result)):
            self.cache_store.write(key, result, expires_at)

        return result

cache_store = LocalCache.cache_store

caching.register(cache_store.empty)

##
# Add features to Relation needed for caching
#
if not Relation.singular_query_methods.count('fresh'):
    Relation.singular_query_methods.append('fresh')

    def fresh(self, value=True):
        self = self.clone()
        self.params['fresh'] = value
        self._query = None
        self._records = None
        return self

    setattr(Relation, 'fresh', fresh)
Example #5
0
        expires_at = None
        if self.options.has_key('interval'):
            expires_at = (datetime.now() +
                          timedelta(seconds=self.options.get('interval')))

        # Only store records < configured max_entry_size if set
        if (not self.options.has_key('max_entry_size')
                or self.options['max_entry_size'] > len(result)):
            self.cache_store.write(key, result, expires_at)

        return result


cache_store = LocalCache.cache_store

caching.register(cache_store.empty)

##
# Add features to Relation needed for caching
#
if not Relation.singular_query_methods.count('fresh'):
    Relation.singular_query_methods.append('fresh')

    def fresh(self, value=True):
        self = self.clone()
        self.params['fresh'] = value
        self._query = None
        self._records = None
        return self

    setattr(Relation, 'fresh', fresh)