remove db_connect funtion and fix all db connections

This commit is contained in:
2021-05-30 23:26:18 +02:00
parent 5df707da83
commit 3db70a8486

View File

@@ -58,6 +58,11 @@ class TimeTrack:
logging.info('config file successfully created') logging.info('config file successfully created')
def db_setup(self): def db_setup(self):
if os.path.isfile(self.DATABASE):
logging.info('DB was found')
else:
logging.info('DB not found, create new')
sql = [] sql = []
sql.append(""" sql.append("""
CREATE TABLE IF NOT EXISTS time_entries ( CREATE TABLE IF NOT EXISTS time_entries (
@@ -102,132 +107,89 @@ class TimeTrack:
name TEXT NOT NULL name TEXT NOT NULL
) )
""") """)
self.db_connect(sql)
connect = sqlite3.connect(self.DATABASE)
cursor = connect.cursor()
for SQL in sql:
logging.debug('Run SQL')
try:
cursor.execute(SQL)
except:
logging.error('Fail to execute SQL command')
logging.debug(SQL)
else:
logging.info('Success execute SQL command')
connect.commit
connect.close()
##> Kürzer möglich ? ##> Kürzer möglich ?
def db_connect(self, SQL, DATA=''): def db_connect(self, SQL, DATA=''):
if os.path.isfile(self.DATABASE): pass
logging.info('DB was found')
def create_user(self, USER=''):
if USER == '':
username = input('Enter your Name: ')
else: else:
logging.info('DB not found, create new') username = USER
while self.get_users(NAME=username):
print('Name ist schon vergeben')
username = input('Wähle einen anderen Namen: ')
connect = sqlite3.connect(self.DATABASE) connect = sqlite3.connect(self.DATABASE)
cursor = connect.cursor() cursor = connect.cursor()
if isinstance(SQL, list): sql = "INSERT INTO users ( name ) values ( ? )"
logging.info('Multible SQL commands found')
for sql in SQL: try:
logging.debug('Run SQL') cursor.execute(sql, [username])
try: except:
cursor.execute(sql) logging.error('Fail to execute SQL command')
except: logging.debug(sql)
logging.error('Fail to execute SQL command')
logging.debug(sql)
else:
logging.info('Success execute SQL command')
connect.commit
else: else:
logging.info('Single SQL command found') logging.info('Success execute SQL command')
sql = SQL connect.commit()
if DATA == '': connect.close()
logging.debug('Run SQL')
try:
cursor.execute(sql)
except:
logging.error('Fail to execute SQL command')
logging.debug(sql)
else:
logging.info('Success execute SQL command')
connect.commit()
else:
logging.info('Data found')
data = DATA
if isinstance(DATA, list):
logging.debug('Data is list')
if isinstance(DATA[0], list):
try:
cursor.executemany(sql, data)
except:
logging.error('Fail to execute SQL command')
logging.debug(sql)
else:
logging.info('Success execute SQL command')
logging.debug(sql)
connect.commit()
else:
try:
cursor.execute(sql, data)
except:
logging.error('Fail to execute SQL command')
logging.debug(sql)
else:
logging.info('Success execute SQL command')
logging.debug(sql)
connect.commit()
else:
logging.debug('Convert Data to list')
logging.debug('Run SQL')
try:
cursor.execute(sql, [data])
except:
logging.error('Fail to execute SQL command')
logging.debug(sql)
logging.debug(data)
else:
logging.info('Success execute SQL command')
logging.debug(sql)
connect.commit()
output = []
for data in cursor:
output.append(data)
connect.close()
return output
def create_user(self, USER=''):
if USER == '':
data = input('Enter your Name: ')
else:
data = USER
while self.get_users(NAME=data):
print('Name ist schon vergeben')
data = input('Wähle einen anderen Namen: ')
sql = """
INSERT INTO users (
name
) values (
?
)
"""
self.db_connect(sql, data)
##> verbugt noch nicht funktional ##> verbugt noch nicht funktional
def get_users(self, UID=0, NAME=''): def get_users(self, UID=0, NAME=''):
if not UID == 0: if not UID == 0:
logging.info('UID Used') logging.info('UID Used')
data = UID data = UID
sql = """ sql = "SELECT name FROM users WHERE id = ?"
SELECT name FROM users WHERE id = ?
"""
elif not NAME == '': elif not NAME == '':
logging.info('NAME used') logging.info('NAME used')
data = NAME data = NAME
sql = """ sql = "SELECT name FROM users WHERE name = ?"
SELECT name FROM users WHERE name = ?
"""
else: else:
logging.info('nothing used') logging.info('nothing used')
sql = """ data = ''
SELECT * FROM users WHERE sql = "SELECT * FROM users"
"""
return self.db_connect(sql, data) connect = sqlite3.connect(self.DATABASE)
cursor = connect.cursor()
try:
if data:
cursor.execute(sql, [data])
else:
cursor.execute(sql)
except:
logging.error('Fail to execute SQL command')
logging.debug(sql)
else:
logging.info('Success execute SQL command')
connect.commit()
row = cursor.fetchall()
output = []
for data in row:
print(data)
output.append(data)
connect.close()
return output
def set_user(self): def set_user(self):
pass pass