(self, refresh=False)
| 52 | self.__init_cache() |
| 53 | |
| 54 | def __init_cache(self, refresh=False): |
| 55 | if refresh or not os.path.exists(self.__cache_file): |
| 56 | self._cache = {'library_version': __version__} |
| 57 | refresh = True |
| 58 | else: |
| 59 | try: |
| 60 | with open(self.__cache_file) as f: |
| 61 | self._cache = json.load(f, cls=partial(CacheDecoder, self.client)) |
| 62 | if self._cache.get('library_version') != __version__: |
| 63 | # Version mismatch, need to refresh cache |
| 64 | self.invalidate_cache() |
| 65 | except Exception as e: |
| 66 | logging.error("load cache error: %s", e) |
| 67 | self.invalidate_cache() |
| 68 | self._load_server_info() |
| 69 | self.discover() |
| 70 | if refresh: |
| 71 | self._write_cache() |
| 72 | |
| 73 | def _write_cache(self): |
| 74 | try: |
no test coverage detected