Improving login mechanism
This commit is contained in:
13
mw40v.py
13
mw40v.py
@@ -12,6 +12,9 @@ class Mw40V:
|
||||
self.login_token = None
|
||||
|
||||
def request(self, method, params, id):
|
||||
if self.login_token is None and method != 'Login':
|
||||
self.login(self.username, self.password)
|
||||
|
||||
body = {
|
||||
"jsonrpc": "2.0",
|
||||
"method": method,
|
||||
@@ -25,7 +28,13 @@ class Mw40V:
|
||||
headers=self.headers(method)
|
||||
)
|
||||
|
||||
if 'result' in r.json():
|
||||
if 'error' in r.json():
|
||||
if r.json()['error']['message'] == 'Authentication Failure':
|
||||
self.login_token = None
|
||||
self.request(self, method, params, id)
|
||||
else:
|
||||
raise Exception(r.json()['error'])
|
||||
elif 'result' in r.json():
|
||||
return r.json()['result']
|
||||
else:
|
||||
return {}
|
||||
@@ -53,7 +62,6 @@ class Mw40V:
|
||||
self.login_token = result['token']
|
||||
|
||||
def connect(self):
|
||||
self.login(self.username, self.password)
|
||||
result = self.request(
|
||||
"Connect",
|
||||
None,
|
||||
@@ -63,7 +71,6 @@ class Mw40V:
|
||||
return result
|
||||
|
||||
def disconnect(self):
|
||||
self.login(self.username, self.password)
|
||||
result = self.request(
|
||||
"DisConnect",
|
||||
None,
|
||||
|
||||
Reference in New Issue
Block a user