12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- #!/usr/bin/env python
- # -*- coding: UTF-8 -*-
-
- import sys
- import time
- sys.path.append('../..')
-
- import caching
- import report
-
-
- report.stdoutLoggingConfigure(log_name_lvl=[('root', 'DEBUG'), ])
-
-
- class test_slow_data(object):
- _ONE = '1'
- _TWO = '2'
- _THREE = '_property_cache_data_version_'
- _FOUR = '_property_cache_uid_'
- _FIVE = '__property_cache_uid_'
- KEYS = [_ONE, _TWO, _THREE, _FOUR, _FIVE]
- VERS = 0.1
-
- def data_version(self):
- return self.VERS
-
- def one(self):
- return self.get(self._ONE)
-
- def two(self):
- return self.get(self._TWO)
-
- def three(self):
- return self.get(self._THREE)
-
- def four(self):
- return self.get(self._FOUR)
-
- def five(self):
- return self.get(self._FIVE)
-
- def get(self, key, default=None):
- def print_n_sleep(k):
- sys.stdout.write('slow get executed for %s\n' % k)
- time.sleep(3)
- if key == self._ONE:
- print_n_sleep(key)
- return 'one'
- if key == self._TWO:
- print_n_sleep(key)
- return 'two'
- if key == self._THREE:
- print_n_sleep(key)
- return 'three'
- if key == self._FOUR:
- print_n_sleep(key)
- return 'four'
- if key == self._FIVE:
- print_n_sleep(key)
- return 'five'
- return default
-
- def keys(self):
- return self.KEYS
-
- def uid(self):
- return None
-
-
- class tsd_cache_pickle(test_slow_data):
- def __init__(self, *args, **kwargs):
- test_slow_data.__init__(self, *args, **kwargs)
- self._cached_data = caching.property_cache_pickle(test_slow_data(*args, **kwargs), 'cache.pickle', load_all_on_init=False)
-
- def two(self):
- return test_slow_data.get(self, self._TWO)
-
- def get(self, key, default=None):
- return self._cached_data.get(key, default)
-
-
- data = tsd_cache_pickle()
- print('Testing property_cache (pickle):\\n--------------------------------')
- print(data.one())
- print(data.two())
- print(data.three())
- print(data.four())
- print(data.five())
|