import sqlite3 class wireguard_db: def __init__(self, name = str ,table = str ) -> None: self.db_name = name self.table_name = table def create(self): with sqlite3.connect(self.db_name) as con: #con = sqlite3.connect(":memory:") cursor = con.cursor() cursor.execute( """ CREATE TABLE IF NOT EXISTS {table_name} ( id integer primary key autoincrement, servername TEXT, public_key TEXT, adapter TEXT ) """.format(table_name=self.table_name)) con.commit() def insert(self, wireguard_server = str, wireguard_public_server_key = str, wireguard_server_adapter = str): try: with sqlite3.connect(self.db_name) as con: #con = sqlite3.connect(":memory:") cursor = con.cursor() cursor.execute( """ INSERT INTO {table_name} ( servername, public_key, adapter ) VALUES ( '{wireguard_server}', '{wireguard_public_server_key}', '{wireguard_server_adapter}' ) """.format( table_name = self.table_name, wireguard_server=wireguard_server, wireguard_public_server_key=wireguard_public_server_key, wireguard_server_adapter= wireguard_server_adapter ) ) con.commit() return True except: raise TypeError("schreiben in DB nicht möglich !! ") finally: pass def select(self, wireguard_server = str): try: with sqlite3.connect(self.db_name) as con: cursor = con.cursor() cursor.execute( """ SELECT * from {table_name} where servername = '{wireguard_server}' """.format(table_name=self.table_name, wireguard_server=wireguard_server) ) select_output = cursor.fetchall() if select_output == []: return False else: return select_output except: pass pass if __name__ == "__main__": create_server_db = wireguard_db(name="test_db", table="serverlist") #create_server_db.create() name_wireguardserver = "mandan_01" select_server = create_server_db.select(wireguard_server=name_wireguardserver) if select_server is False: print("Server existiert nicht in der Datenbank") create_server_db.insert(wireguard_server=name_wireguardserver, wireguard_public_server_key="lalakdjcdj", wireguard_server_adapter="wrg-srv" ) else: server_ids = [test[0] for test in select_server] server_publickey = [test[2] for test in select_server] print("""Der Server steht bereits in der DB mit den ID : {server_ids} \nPublic Keys der Server : {server_publickey} """.format(server_ids=server_ids, server_publickey=server_publickey).rstrip().strip())