andr1an/nic-api

Exception for api.authorize()

igroykt opened this issue · 1 comments

Приветствую.
Судя по всему для api.authorize() отсутствует exception. Делаю:

try:
	api.authorize(
        	username = USERNAME,
        	password = PASSWORD,
        	token_filename = TOKEN_FILE
    	)
except Exception as err:
	logging.error(f"API Authorize error: {err}")

А в логах вижу:

Can't load token from cache!
Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/nic_api/init.py", line 154, in authorize
token = OAuth2Token.from_cache(token_filename)
File "/usr/local/lib/python3.6/dist-packages/nic_api/oauth.py", line 79, in from_cache
cache_data = json.load(fp_cache)
File "/usr/lib/python3.6/json/init.py", line 299, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "/usr/lib/python3.6/json/init.py", line 354, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Работе скрипта это конечно не мешает, но не красиво видеть в логах целую трассировку вместо вменяемого текста ошибки.

Здравствуйте!

Да, работа с JSON-кешом токена реализована криво. Сделаю кастомные классы для эксепшнов.