Matrices-Practice-Tool / src / UserClasses / user.py
user.py
Raw
'''User objects'''
import sqlite3


class User:
    '''Class for holding user data'''
    username = ""
    email = ""
    date_joined = ''

    def __init__(self, username: str):
        '''Initialiser'''
        self.username = username
        self.email = self.get_email(username)
        self.date_joined = self.get_date_joined(username)

    @staticmethod
    def get_email(username: str) -> str:
        '''Get email from database'''
        get = '''SELECT Email
                 FROM UserDetails
                 WHERE Username = (?);'''
        connection = sqlite3.connect("UserDatabase.db")
        cursor = connection.cursor()
        cursor.execute(get, (username,))
        email = cursor.fetchall()[0][0]
        connection.commit()
        connection.close()
        return email

    @staticmethod
    def get_date_joined(username: str) -> str:
        '''Get date from database'''
        get = '''SELECT Date
                 FROM UserDetails
                 WHERE Username = (?);'''
        connection = sqlite3.connect("UserDatabase.db")
        cursor = connection.cursor()
        cursor.execute(get, (username,))
        date = cursor.fetchall()[0][0]
        connection.commit()
        connection.close()
        return date