added ability to save access_token for lazy_logins during development
parent
a0b3ac0861
commit
d6d8283afb
|
@ -3,3 +3,4 @@ __pycache__
|
|||
.DS_Store
|
||||
my_settings.py
|
||||
*.orig
|
||||
.lazy_login
|
|
@ -34,6 +34,11 @@ class EagleEyev3():
|
|||
|
||||
self.base_url = None
|
||||
|
||||
self.lazy_login = True
|
||||
|
||||
if self.lazy_login:
|
||||
self._load_access_token()
|
||||
|
||||
def _load_vars_from_settings(self):
|
||||
"""
|
||||
Load variables from the settings module.
|
||||
|
@ -47,6 +52,25 @@ class EagleEyev3():
|
|||
# Note: Please see the note in settings.py about trailing slashes and modify this line if needed
|
||||
self.redirect_uri = f"{settings.server_protocol}://{settings.server_host}:{settings.server_port}"
|
||||
|
||||
def _save_access_token(self):
|
||||
with open(".lazy_login", "w") as json_file:
|
||||
json.dump({
|
||||
'access_token': self.access_token,
|
||||
'refresh_token': self.refresh_token,
|
||||
'current_user': self.current_user
|
||||
}, json_file)
|
||||
|
||||
def _load_access_token(self):
|
||||
with open(".lazy_login", "r") as json_file:
|
||||
saved = json.load(json_file)
|
||||
if 'access_token' in saved:
|
||||
self.access_token = saved['access_token']
|
||||
if 'refresh_token' in saved:
|
||||
self.refresh_token = saved['refresh_token']
|
||||
|
||||
self.get_base_url(cascade=True)
|
||||
|
||||
|
||||
def login_tokens(self, code=None, cascade=True):
|
||||
"""
|
||||
Obtains login tokens using the authorization code.
|
||||
|
@ -72,6 +96,10 @@ class EagleEyev3():
|
|||
success = True
|
||||
self.access_token = response_json['access_token']
|
||||
self.refresh_token = response_json['refresh_token']
|
||||
|
||||
if self.lazy_login:
|
||||
self._save_access_token()
|
||||
|
||||
if cascade:
|
||||
self.get_base_url()
|
||||
else:
|
||||
|
@ -358,3 +386,32 @@ class EagleEyev3():
|
|||
"response_http_status": response.status_code,
|
||||
"data": response_json
|
||||
}
|
||||
|
||||
|
||||
class Device():
|
||||
|
||||
def __init__(self, id=None, name=None, status=None, account_id=None):
|
||||
|
||||
self.id = id
|
||||
self.name = name
|
||||
self.status = status
|
||||
self.account_id = account_id
|
||||
|
||||
def get_id(self):
|
||||
return self.id
|
||||
|
||||
def get_status(self):
|
||||
return self.status
|
||||
|
||||
|
||||
|
||||
class Camera(Device):
|
||||
|
||||
def __init__(self, id=None, name=None, status=None, account_id=None, bridge_id=None):
|
||||
super().__init__(id=id, name=name, status=status, account_id=account_id)
|
||||
self.bridge_id = bridge_id
|
||||
self.previews = []
|
||||
self.videos = []
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue