correcting input of dates, duree and color boolean in insert new and correcting film

removing calendar to come and actual database
This commit is contained in:
Alice 2019-03-23 10:52:02 +01:00
parent 05d20ec695
commit 40f2d5e391
5 changed files with 59 additions and 13 deletions

2
.gitignore vendored
View file

@ -1,3 +1,5 @@
*.jpg
*.png
*pycache*
*.db

Binary file not shown.

View file

View file

@ -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

View file

@ -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 ? ")