Esempio n. 1
0
    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)
Esempio n. 2
0
 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
Esempio n. 3
0
    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)
Esempio n. 4
0
    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=[])