import sqlite3 import hashlib class DB: def __init__( self, file= ): self.file = file def create_user( self, name, pin, permission ): c = self.__connect() # check if user name is taken result = self.get_user( name ) if len(result) == 0: c.execute( "INSERT INTO user ( name, pin, permission ) VALUES ( ?, ?, ? )", ( name, pin, permission ) ) self.conn.commit c.close() return True else: c.close() return False def login_user(): c = self.__connect c.execute( "SELECT * FROM user WHERE pin=(?) and name=(?)", ( pin ,name ) ) result = c.fetchall() c.close() if len( result ) == 1 return result[0] else: return False def get_user( sefl, name ): c = self.__connect() c.execute( "SELECT * FROM user WHERE name LIKE (?)", ( name ) ) c.close() return c.fetchall() def __connect( self ): self.conn = sqlite3.connect( '' ) return self.conn.cursor() # start the data base class Users: def __int__( self, name, pin ): def creat( self, name, pin, permission ): pin = hashlib.md5( pin ) if db.create_user( name, pin.hexdigest(), permission ): return True return False def login( self, name, pin ): pin = hashlib.md5( pin ) get_user = db.login_user( name, pin.hexdigest() ) if get_user: return __check_type( get_user ) return False def __check_type( self, user ): if user.permission == "client": return Cleint( user ) elif user.permission == "banker" return Banker( user ) def look_up( self, name ): return db.get_user( name ) class account: def __init__( self, account_number ): self.account = db.account( amount ) def view( self ): return self.account def withdraw( self, amount ): if amount < self.amount.balance: db.account_update( self.account.number, amount, withdraw ) def deposit( self, amount ): db.account_update( self.account.number, amount, deposit ) def transfer( self, amount, to_account_number ): db.account_update( self.account.number, amount, transfer ) db.account_update( to_account_number, amount, transfer ) class client: def __init__( self ): self.accounts = account() def view_all_accounts( self ): return self.accounts class banker( user ): def __init__( self ): pass def view_all_users( self ): pass def view_user_acconts( self ): pass def current_account( self ): pass