diff --git a/.gitignore b/.gitignore index 8e9f01c..6c155f6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ *.jpg *.png *pycache* +*.db + diff --git a/baseFilms.db b/baseFilms.db index a787d04..aa2c0bd 100644 Binary files a/baseFilms.db and b/baseFilms.db differ diff --git a/calendarToCome.html b/calendarToCome.html deleted file mode 100644 index e69de29..0000000 diff --git a/ccInterface.py b/ccInterface.py index 6a31c88..32a322c 100644 --- a/ccInterface.py +++ b/ccInterface.py @@ -13,11 +13,9 @@ Created on Sun Mar 25 18:20:49 2018 from cineclubBlogSQ import filmSQ as f import sqlite3 -import os import readline DEBUG = True -OPSYS = (os.uname()).sysname class FilmInterface(): @@ -26,7 +24,11 @@ class FilmInterface(): def menu(self): self.filmEnCours() - champ = eval(input("""Voulez-vous \n 1: consulter la liste des films de la base de données \n 2: ajouter un film à la base de données \n 3: afficher une communication\n 4: modifier une séance\n 5: créer une base de données vierges\n""")) + champ = input("""Voulez-vous \n 1: consulter la liste des films de la base de données \n 2: ajouter un film à la base de données \n 3: afficher une communication\n 4: modifier une séance\n 5: créer une base de données vierges\n""") + try: + champ = eval(champ) + except NameError: + pass if champ == 1: self.selectFilm() elif champ == 2: @@ -117,6 +119,12 @@ class FilmInterface(): if nomAttr == "acteurs": print("La valeur actuelle du champ %s est %s.\nVeuillez entrer la nouvelle valeur pour ce champ (et -1 si vous ne souhaitez finalement pas modifier le champ)\n" % (nomAttr, self.filmCharge.__getattr__(nomAttr))) newValue = f.makeListActors() + elif nomAttr == "durée": + self.filmCharge.__setattr__(nomAttr, f.input_duree()) + elif nomAttr == "couleur": + self.filmCharge.__setattr__(nomAttr, f.input_color()) + elif nomAttr == "date": + self.filmCharge.__setattr__(nomAttr, f.input_date()) else: newValue = input("La valeur actuelle du champ %s est %s.\nVeuillez entrer la nouvelle valeur pour ce champ (et -1 si vous ne souhaitez finalement pas modifier le champ)\n" % (nomAttr, self.filmCharge.__getattr__(nomAttr))) @@ -182,3 +190,6 @@ try: except EOFError: print("\nCtrl-D : Sortie du programme") pass +except: + fi.main() + pass diff --git a/cineclubBlogSQ.py b/cineclubBlogSQ.py index 2b08741..e5b5e2d 100644 --- a/cineclubBlogSQ.py +++ b/cineclubBlogSQ.py @@ -244,8 +244,8 @@ class filmSQ(): res += self.synopsis return res - - def mail(self): + + def mail(self): res = ' \n \t \n \n \n \t \t' res += ' \n \t \t' res += '[cine-info] ' + self.nom + ' de ' + self.realisateur + ' (' + self.date.strftime("mardi %d %B %Y") + ', 20h30) \n \t' @@ -340,28 +340,61 @@ class filmSQ(): pass return l + def input_date(): + ok = False + d = input("date de la séance (format JJ/MM/AAAA ) ") + while not ok: + try: + d = d.split("/") + res = date(int(d[2]), int(d[1]), int(d[0])) + ok = True + except IndexError: + print("Veuillez entrer la date au format JJ/MM/AAA") + return res + + def input_duree(): + ok = False + while not ok: + try: + res = eval(input("durée du film (en minutes) ")) + ok = true + except (NameError, SyntaxError): + print("le format n'est pas correct. Ne rentrez que des chiffres svp") + pass + pass + return res + + def input_color(): + ok = False + while not ok: + d = input("le film est-il en couleur (oui/non) ? ") + if d in ["True", "true", "oui", "Oui", "y", "o", "Y", "y", "O", "yes", "Yes"]: + res = True + ok = True + elif d in ["False", "false", "non", "Non", "n", "N", "no", "No"]: + res = False + ok = True + return res + def newFilm(): """Interface d'ajout d'un nouveau film""" dic = {} i = filmSQ.maxId() - + ok = False dic['i'] = i+1 dic['idN'] = input("identifiant du film ? ") - d = input("date de la séance (format JJ/MM/AAAA ) ") - d = d.split("/") - dic['date'] = date(int(d[2]), int(d[1]), int(d[0])) + dic['date'] = input_date() dic['nom'] = input("titre ? ") - dic['acteurs'] = filmSQ.makeListActors() - #eval(input("acteurs (format [acteur1, acteur2, ..]) ? ")) dic['realisateur'] = input("realisateur ? ") - dic['duree'] = eval(input("durée du film (en minutes)? ")) + dic['acteurs'] = filmSQ.makeListActors() dic['synopsis'] = input("Donnez ici un synopsis rapide du film ") dic['pays'] = input("pays de diffusion du film ? ") dic['annee'] = input("année de sortie du film (format AAAA) ? ") + dic['duree'] dic['youtube'] = input("adresse youtube de la bande-annonce ? ") dic['image'] = input("url d'une affiche du film ? ") - dic['couleur'] = eval(input("le film est-il en couleur (format True/False) ? ")) + dic['couleur'] = input_color(); dic['formatCopie'] = input("format de la copie ? ") dic['langST'] = input("langue et sous-titre : VF/VOSTFR ? ")