diff --git a/__init__.py b/__init__.py index 84f1be0..85ed017 100644 --- a/__init__.py +++ b/__init__.py @@ -153,8 +153,14 @@ class property_cache_pickle(object): def _init_cache(self): load_cache = self._load_cache() uid = self._source_instance.uid() != self._uid() - data_version = self._source_instance.data_version() > self._data_version() - storage_version = self._storage_version() != self.STORAGE_VERSION + try: + data_version = self._source_instance.data_version() > self._data_version() + except TypeError: + data_version = True + try: + storage_version = self._storage_version() != self.STORAGE_VERSION + except TypeError: + storage_version = True # if not load_cache or uid or data_version or storage_version: if self._uid() is not None and uid: @@ -188,7 +194,8 @@ class property_cache_pickle(object): logger.debug('%s Loading all data from source - %s', self.LOG_PREFIX, repr(self._source_instance.keys())) for key in self._source_instance.keys(): val = self._source_instance.get(key) - self._cached_props[self._key_filter(key)] = val + self._cached_props[self.DATA_TAG][self._key_filter(key)] = val + self._cached_props[self.AGE_TAG][self._key_filter(key)] = int(time.time()) def _save_cache(self): with open(self._cache_filename, 'wb') as fh: