@@ -37,6 +37,7 @@ class Token(Base):
37
37
"_token" ,
38
38
"_credentials" ,
39
39
"__last_updated_at" ,
40
+ "__token_checked" ,
40
41
)
41
42
42
43
def __init__ (self , email : str , password : str , save_token = False , env_file_path = None , auto_update : bool = True ):
@@ -52,28 +53,30 @@ def __init__(self, email: str, password: str, save_token=False, env_file_path=No
52
53
self .env_file_path = env_file_path
53
54
54
55
self .__last_updated_at : Optional [datetime ] = None
56
+ self .__token_checked = False
55
57
56
58
@property
57
59
def token (self ):
58
60
try :
59
61
if self ._token is None :
60
62
if self .save_token :
61
- _token = self ._get_token ()
63
+ _token = self ._get_token_from_env ()
62
64
if not _token :
63
65
_token = self ._get_new_token ()
64
- self ._save_token (_token )
66
+ self ._save_token_to_env (_token )
65
67
else :
66
68
try :
67
69
self ._check_token (_token )
68
70
except TokenInvalid :
69
71
logger .warning ("Token is invalid. Getting new token" )
70
72
_token = self ._get_new_token ()
71
- self ._save_token (_token )
73
+ self ._save_token_to_env (_token )
72
74
self ._token = _token
73
75
else :
74
76
self ._token = self ._get_new_token ()
75
77
else :
76
- self ._check_token (self ._token )
78
+ if not self .__token_checked :
79
+ self ._check_token (self ._token )
77
80
return self ._token
78
81
except EskizException as e :
79
82
raise e
@@ -112,13 +115,14 @@ def _check_token(self, _token: str):
112
115
if r .status_code == 401 :
113
116
response = Response (** r .json ())
114
117
raise TokenInvalid (status = response .status , message = response .message )
118
+ self .__token_checked = True
115
119
116
- def _save_token (self , _token ):
120
+ def _save_token_to_env (self , _token ):
117
121
set_key (self .env_file_path , key_to_set = ESKIZ_TOKEN_KEY , value_to_set = _token )
118
122
logger .info (f"Eskiz token saved to { self .env_file_path } " )
119
123
return _token
120
124
121
- def _get_token (self ):
125
+ def _get_token_from_env (self ):
122
126
return get_key (dotenv_path = self .env_file_path , key_to_get = ESKIZ_TOKEN_KEY )
123
127
124
128
def _get_new_token (self ):
0 commit comments