diff --git a/my_movies/database.py b/my_movies/database.py index 53d7db9..0b56b3d 100644 --- a/my_movies/database.py +++ b/my_movies/database.py @@ -6,25 +6,27 @@ class db_work: 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 = """ + if not os.path.exists(self.db_file): + 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, + 'format', 'persönlich' TEXT ); """ - cursor.execute(sql_code) + cursor.execute(sql_code) - sql_code = """ + sql_code = """ CREATE TABLE IF NOT EXISTS filmgenres( 'genre' TEXT PRIMARY KEY, 'beschreibung' TEXT ); """ - cursor.execute(sql_code) - if not os.path.exists(self.db_file): + cursor.execute(sql_code) + sql_code = """ INSERT INTO filmgenres(genre, beschreibung) VALUES @@ -34,17 +36,22 @@ INSERT INTO filmgenres(genre, beschreibung) ( 'drama', 'Das Drama ist nach antiker Definition eine Gattung der Dichtung und bezeichnet eine Handlung mit verteilten Rollen. '); """ cursor.execute(sql_code) - - con_db.commit() + con_db.commit() + return "db create" + else: + return "db exists" def add_value_db(self): with sqlite3.connect(self.db_file) as con_db: cursor = con_db.cursor() while True: + ##Abfrage Name name = input("Name des Films: ") if not name: break + ##Abfrage Genre while True: + movie_genre = input("Genre: ") sql = """Select * from filmgenres where genre = '{genre}'""".format(genre=movie_genre) cursor.execute(sql) @@ -56,27 +63,37 @@ INSERT INTO filmgenres(genre, beschreibung) sql = """Select genre from filmgenres""" print("Folgende Genres sind angelegt :") self.ausgabe_abfrage(sql_abfrage="""Select genre from filmgenres""") - - ###########if movie_genre + + #Abfrage Jahr movie_year = input("Jahr: ") + #Abfrage Format + while True: + format = input("Format :") + if format == "blue-ray" or format == "dvd" or format == "platte" or format == "sd": + break + else: + print("blue-ray", "dvd", "platte", "sd") + #Abfrage Meinung 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) + self.speicher_aktion(movie=name, filmgenre=movie_genre, year=movie_year, persönlich=per_info, format=format) else: print("Film bereits vorhanden !") print("Eingabevorgang wurde beendet.") - def speicher_aktion(self, movie = str, filmgenre = str, year = str, persönlich = str): + def speicher_aktion(self, movie = str, filmgenre = str, year = str, persönlich = str, format = 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( + sql = """INSERT INTO movies(name, filmgenres, year, format, 'persönlich' ) + VALUES ( '{movie}', '{filmgenre}', '{year}', '{format}','{persönlich}' );""".format( movie=movie, filmgenre=filmgenre, year=year, + format = format, persönlich=persönlich) cursor.execute(sql) @@ -90,7 +107,7 @@ INSERT INTO filmgenres(genre, beschreibung) for wert in datensatz: wert = str(wert) print('| ', wert, " " * (9 - len(wert)), end="") - print("|") + print("|") except sqlite3.OperationalError: print("Tabelle nicht gefunden!") except: @@ -100,7 +117,7 @@ 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) - my_db.create_db() + print(my_db.create_db()) for query in argv.sys.argv[1:]: if query == '-q': diff --git a/my_movies/my_moviedb.db b/my_movies/my_moviedb.db new file mode 100644 index 0000000..b95f1e3 Binary files /dev/null and b/my_movies/my_moviedb.db differ diff --git a/my_movies/spam.db b/my_movies/spam.db deleted file mode 100644 index e69de29..0000000