move record_login to separate function

This commit is contained in:
John Burwell 2023-04-30 17:32:15 -05:00
parent bb1f488761
commit c8226492a4
2 changed files with 23 additions and 3 deletions

View File

@ -45,6 +45,7 @@ def main():
# Init the user:
user = User(config, controller)
user.record_login()
# Init the UI console
console = Console(config, controller, user)

View File

@ -50,9 +50,6 @@ class User():
if result:
user = result[0]
logging.info(f"User {result[0].callsign} found.")
self.login_last = user.login_last
user.login_count = user.login_count + 1
user.login_last = datetime.now(timezone.utc)
session.commit()
else:
logging.info(f"User not found.")
@ -67,3 +64,25 @@ class User():
except Exception as e:
logging.error(e)
raise
def record_login(self):
with self.controller.session() as session:
try:
statement = sqlalchemy.select(SAUser).where(
SAUser.callsign == self.callsign)
exopts = {"prebuffer_rows": True}
result = session.execute(statement,
execution_options=exopts)
result = result.one_or_none()
if result:
user = result[0]
self.login_last = user.login_last
user.login_count = user.login_count + 1
user.login_last = datetime.now(timezone.utc)
session.commit()
logging.info(f"User updated.")
else:
logging.info(f"User not found.")
except Exception as e:
logging.error(e)
raise