86 lines
3.5 KiB
Python
Executable File
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()) |