Skip to content

Commit b5a060f

Browse files
fix(cnr apiclient): improved login session management and bumped dependencies
1 parent a3ff904 commit b5a060f

4 files changed

Lines changed: 347 additions & 387 deletions

File tree

centralnicreseller/apiconnector/apiclient.py

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -195,9 +195,15 @@ def saveSession(self, session):
195195
"""
196196
Apply session data (session id and user login) to given client request session
197197
"""
198+
login = self.__socketConfig.getLogin()
199+
session_id = self.__socketConfig.getSession()
200+
if not login or not session_id:
201+
session.pop("socketcfg", None)
202+
return self
203+
198204
session["socketcfg"] = {
199-
"login": self.__socketConfig.getLogin(),
200-
"session": self.__socketConfig.getSession(),
205+
"login": login,
206+
"session": session_id,
201207
}
202208
return self
203209

@@ -206,15 +212,15 @@ def reuseSession(self, session):
206212
Use existing configuration out of session
207213
to rebuild and reuse connection settings
208214
"""
215+
socketcfg = session.get("socketcfg") if session else None
209216
if (
210-
not session
211-
or "socketcfg" not in session
212-
or "login" not in session["socketcfg"]
213-
or "session" not in session["socketcfg"]
217+
not socketcfg
218+
or not socketcfg.get("login")
219+
or not socketcfg.get("session")
214220
):
215221
return self
216-
self.setCredentials(session["socketcfg"]["login"])
217-
self.__socketConfig.setSession(session["socketcfg"]["session"])
222+
self.setCredentials(socketcfg["login"])
223+
self.__socketConfig.setSession(socketcfg["session"])
218224
return self
219225

220226
def setURL(self, value):
@@ -258,10 +264,9 @@ def login(self):
258264
self.__socketConfig.setSession(None) # clean up all session related data
259265
if rr.isSuccess():
260266
col = rr.getColumn("SESSIONID")
261-
print("session id", col)
262-
self.__socketConfig.setSession(
263-
col.getData()[0] if (col is not None) else None
264-
)
267+
session_id = col.getData()[0] if (col is not None) else None
268+
if session_id:
269+
self.__socketConfig.setSession(session_id)
265270
return rr
266271

267272
def logout(self):

0 commit comments

Comments
 (0)