db handling optimized

This commit is contained in:
2021-05-13 18:22:23 +02:00
parent 0894e9be90
commit efff88d5fd

View File

@@ -104,63 +104,108 @@ class TimeTrack:
""") """)
self.db_connect(sql) self.db_connect(sql)
##> Kürzer möglich ?
def db_connect(self, SQL, DATA=''): def db_connect(self, SQL, DATA=''):
if os.path.isfile(self.DATABASE): if os.path.isfile(self.DATABASE):
logging.info('DB gefunden') logging.info('DB was found')
else: else:
logging.info('Keine DB gefunden, neue wird angelegt') logging.info('DB not found, create new')
connect = sqlite3.connect(self.DATABASE) connect = sqlite3.connect(self.DATABASE)
cursor = connect.cursor() cursor = connect.cursor()
##> vorgang optimieren...
##> prüfung if DATA list if isinstance(SQL, list):
##> prüfung if init SQL list logging.info('Multible SQL commands found')
for sql in SQL: for sql in SQL:
logging.debug('Run SQL')
try: try:
if isinstance(sql, list):
logging.debug('SQL is list')
if DATA == '':
logging.info('Many execute without data')
cursor.executemany(sql)
else:
logging.info('Many execute with data')
cursor.executemany(sql, DATA)
else:
logging.debug('SQL is not list ')
if DATA == '':
logging.info('single execute without data')
cursor.execute(sql) cursor.execute(sql)
else:
logging.info('single execute with data')
cursor.execute(sql, DATA)
except: except:
logging.error('Fehler beim schreiben in DB') logging.error('Fail to execute SQL command')
logging.debug(sql) logging.debug(sql)
else: else:
logging.info('Erfolgreich in DB geschrieben') logging.info('Success execute SQL command')
connect.commit
else:
logging.info('Single SQL command found')
sql = SQL
if DATA == '':
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) logging.debug(sql)
connect.commit() connect.commit()
pass
connect.close()
def create_user(self): else:
data = [] logging.debug('Convert Data to list')
sql = [] logging.debug('Run SQL')
data.append(input('Enter your Name: ')) try:
sql.append(""" 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()
output = []
for data in cursor:
output.append(data)
connect.close()
print(output)
return output
def create_user(self, USER=''):
if USER == '':
data = input('Enter your Name: ')
else:
data = USER
sql = """
INSERT INTO users ( INSERT INTO users (
name name
) values ( ) values (
? ?
) )
""") """
self.db_connect(sql, data) self.db_connect(sql, data)
pass pass
##> verbugt noch nicht funktional ##> verbugt noch nicht funktional
def get_users(self, UID=0): def get_users(self, UID=0, NAME=''):
data = [] data = input('User ID: ')
data.append(input('User ID: '))
if UID == 0: if UID == 0:
sql = [ sql = [
""" """
@@ -173,11 +218,12 @@ class TimeTrack:
SELET id, name FROM users WHERE id=? SELET id, name FROM users WHERE id=?
""" """
] ]
self.db_connect(sql) print(self.db_connect(sql))
def set_user(self): def set_user(self):
pass pass
test = TimeTrack() test = TimeTrack()
#test.create_user()
test.get_users() test.get_users()