Files
Python-Schulung/meine_test/sqlite_test.py

86 lines
3.5 KiB
Python
Executable File

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())