From 4f663eb8a5a4aecf6611878992e2cae3aebfc744 Mon Sep 17 00:00:00 2001 From: florianuhlig Date: Thu, 2 Oct 2025 23:36:57 +0200 Subject: [PATCH] First look --- .gitignore | 4 ++++ main.py | 15 ++++++++++++--- sqlLite/__init__.py | 5 +++++ sqlLite/create.py | 15 +++++++++++++++ sqlLite/get.py | 10 ++++++++++ sqlLite/set.py | 19 +++++++++++++++++++ useful/check.py | 10 ++++++++++ useful/hash.py | 0 8 files changed, 75 insertions(+), 3 deletions(-) create mode 100644 .gitignore create mode 100644 sqlLite/__init__.py create mode 100644 sqlLite/create.py create mode 100644 sqlLite/get.py create mode 100644 sqlLite/set.py create mode 100644 useful/check.py create mode 100644 useful/hash.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9b0ee44 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.gitignore +/.idea/ +testing.py +/databases/ diff --git a/main.py b/main.py index 4cd5283..2f20172 100644 --- a/main.py +++ b/main.py @@ -1,5 +1,14 @@ -import sqlite3 +db_type = "sqlite" +import sqlLite +sqlLite.set_db_name("databases/test.db") -DB_CON = sqlite3.connect("database.db") -DB_CUR = DB_CON.cursor() +if db_type == "sqlite": + import sqlLite.get as getter + import sqlLite.create as create + import sqlLite.set as setter + import testing as testing + create.create_table_t_user() + setter.set_login("test@test.test", "password") + getter.get_user() + #testing.sqllite_reset(sqlitename) diff --git a/sqlLite/__init__.py b/sqlLite/__init__.py new file mode 100644 index 0000000..83dee19 --- /dev/null +++ b/sqlLite/__init__.py @@ -0,0 +1,5 @@ +db_name = "databases/test.db" + +def set_db_name(name): + global db_name + db_name = name \ No newline at end of file diff --git a/sqlLite/create.py b/sqlLite/create.py new file mode 100644 index 0000000..d9d1503 --- /dev/null +++ b/sqlLite/create.py @@ -0,0 +1,15 @@ +import sqlite3 +from . import db_name + +## Create Tables +def create_table_t_user(): + db_con = sqlite3.connect(db_name) + db_cur = db_con.cursor() + db_cur.execute(""" + CREATE TABLE IF NOT EXISTS T_USERS ( + ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, + USERNAME TEXT NOT NULL UNIQUE, + EMAIL TEXT NOT NULL UNIQUE, + PASSWORD TEXT NOT NULL + );""") + db_con.commit() \ No newline at end of file diff --git a/sqlLite/get.py b/sqlLite/get.py new file mode 100644 index 0000000..95a4771 --- /dev/null +++ b/sqlLite/get.py @@ -0,0 +1,10 @@ +import sqlite3 +from . import db_name + +def get_user(): + conn = sqlite3.connect(db_name) + cursor = conn.cursor() + cursor.execute('select * from T_USERS') + rows = cursor.fetchall() + for row in rows: + print(row) \ No newline at end of file diff --git a/sqlLite/set.py b/sqlLite/set.py new file mode 100644 index 0000000..b11adab --- /dev/null +++ b/sqlLite/set.py @@ -0,0 +1,19 @@ +from hashlib import sha512 +import sqlite3 +import useful.check as check +from . import db_name + +def set_password_hash(password): + return sha512(password.encode('utf-8')).hexdigest() + +def set_login(email, password): + db_con = sqlite3.connect(db_name) + db_cur = db_con.cursor() + try: + if check.check_email(email): + db_cur.execute("INSERT INTO T_USERS (USERNAME, EMAIL, PASSWORD) VALUES (?,?,?)", ('test',email, set_password_hash(password))) + db_con.commit() + else: + print("Email entered is not valid") + except sqlite3.IntegrityError: + print("Username or Email entered is not unique") \ No newline at end of file diff --git a/useful/check.py b/useful/check.py new file mode 100644 index 0000000..ff57fb2 --- /dev/null +++ b/useful/check.py @@ -0,0 +1,10 @@ +import re + +def check_email(email): + # Click on Edit and place your email ID to validate + #email = "my.ownsite@our-earth.de" + valid = re.match(r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$', email) + if valid: + return True + else: + return False \ No newline at end of file diff --git a/useful/hash.py b/useful/hash.py new file mode 100644 index 0000000..e69de29