def _get_cached_token(self, token_name, token_variant=None): """Return a cached token""" path = self._get_token_path(token_name, token_variant) if not exists(path): return None with open_file(path) as fdesc: token = get_json_data(fdesc) if token is None: return None from datetime import datetime import dateutil.parser import dateutil.tz now = datetime.now(dateutil.tz.tzlocal()) exp = dateutil.parser.parse(token.get('expirationDate')) if exp <= now: log(2, "Token expired, cached token '{path}' deleted", path=path) delete(path) return None log(3, "Got cached token '{path}'", path=path) return token.get(token_name)
def read_history(self): ''' Read search history from disk ''' from json import load try: with open_file(self._search_history, 'r') as fdesc: history = load(fdesc) except (TypeError, ValueError): # No JSON object could be decoded history = [] return history
def _set_cached_token(self, token, token_variant=None): """Save token to cache""" from json import dump token_name = list(token.keys())[0] path = self._get_token_path(token_name, token_variant) if not exists(get_tokens_path()): mkdir(get_tokens_path()) with open_file(path, 'w') as fdesc: dump(token, fdesc)
def _get_cached_token(self, token_name, token_variant=None): ''' Return a cached token ''' from json import load cached_token = None path = self._get_token_path(token_name, token_variant) if exists(path): from datetime import datetime import dateutil.parser import dateutil.tz with open_file(path) as fdesc: token = load(fdesc) now = datetime.now(dateutil.tz.tzlocal()) exp = dateutil.parser.parse(token.get('expirationDate')) if exp > now: log(3, "Got cached token '{path}'", path=path) cached_token = token.get(token_name) else: log(2, "Cached token '{path}' deleted", path=path) delete(path) return cached_token
def write_history(self, history): """Write search history to disk""" from json import dump with open_file(self._search_history, 'w') as fdesc: dump(history, fdesc)
def read_history(self): """Read search history from disk""" with open_file(self._search_history, 'r') as fdesc: return get_json_data(fdesc, fail=[])