88 lines
3.5 KiB
Python
88 lines
3.5 KiB
Python
import sqlite3, os, argv
|
|
|
|
class db_work:
|
|
def __init__(self,db_file = str ) -> None:
|
|
self.db_file = db_file
|
|
self.script_folder = os.path.dirname(os.path.realpath(__file__))
|
|
def create_db(self):
|
|
with sqlite3.connect(self.db_file) as con_db:
|
|
cursor = con_db.cursor()
|
|
sql_code = """
|
|
CREATE TABLE IF NOT EXISTS movies(
|
|
'id' INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
'name' TEXT,
|
|
'filmgenres' TEXT,
|
|
'year' TEXT,
|
|
'persönlich' TEXT
|
|
); """
|
|
cursor.execute(sql_code)
|
|
|
|
sql_code = """
|
|
CREATE TABLE IF NOT EXISTS filmgenres(
|
|
'genre' TEXT PRIMARY KEY,
|
|
'beschreibung' TEXT
|
|
); """
|
|
cursor.execute(sql_code)
|
|
|
|
con_db.commit()
|
|
|
|
def add_value_db(self):
|
|
with sqlite3.connect(self.db_file) as con_db:
|
|
cursor = con_db.cursor()
|
|
while True:
|
|
name = input("Name des Films: ")
|
|
if not name:
|
|
break
|
|
movie_genre = input("Genre: ")
|
|
movie_year = input("Jahr: ")
|
|
per_info = input("Meinung : ")
|
|
sql = """Select * from movies WHERE name = '{name}';""".format(name=name)
|
|
cursor.execute(sql)
|
|
if not cursor.fetchone():
|
|
print("Film wird angelgt ")
|
|
self.speicher_aktion(movie=name, filmgenre=movie_genre, year=movie_year, persönlich=per_info)
|
|
else:
|
|
print("Film bereits vorhanden !")
|
|
print("Eingabevorgang wurde beendet.")
|
|
|
|
def speicher_aktion(self, movie = str, filmgenre = str, year = str, persönlich = str):
|
|
with sqlite3.connect(self.db_file) as verbindung:
|
|
cursor = verbindung.cursor()
|
|
sql = """INSERT INTO movies(name, filmgenres, year, 'persönlich' )
|
|
VALUES ( '{movie}', '{filmgenre}', '{year}', '{persönlich}' );""".format(
|
|
movie=movie,
|
|
filmgenre=filmgenre,
|
|
year=year,
|
|
persönlich=persönlich)
|
|
|
|
cursor.execute(sql)
|
|
|
|
def ausgabe_abfrage(self, sql_abfrage):
|
|
with sqlite3.connect(self.db_file) as daten:
|
|
try:
|
|
zeiger = daten.cursor()
|
|
zeiger.execute(sql_abfrage)
|
|
for datensatz in zeiger:
|
|
for wert in datensatz:
|
|
wert = str(wert)
|
|
print('| ', wert, " " * (9 - len(wert)), end="")
|
|
print("|")
|
|
except sqlite3.OperationalError:
|
|
print("Tabelle nicht gefunden!")
|
|
except:
|
|
print("Daten konnten nicht bearbeitet werden!")
|
|
|
|
if __name__ == "__main__":
|
|
script_folder = os.path.dirname(os.path.realpath(__file__))
|
|
db_file_full = script_folder + os.sep + "my_moviedb.db"
|
|
my_db = db_work(db_file=db_file_full)
|
|
|
|
for query in argv.sys.argv[1:]:
|
|
if query == '-q':
|
|
my_db.ausgabe_abfrage(sql_abfrage="""SELECT * FROM movies;""")
|
|
|
|
|
|
#my_db.create_db()
|
|
#add_value_to_db = my_db.add_value_db()
|
|
#print (add_value_to_db)
|