refacto: rename variables

This commit is contained in:
Alice 2022-03-03 18:03:17 +01:00
parent 917b67484c
commit d368b59cba
2 changed files with 39 additions and 37 deletions

View file

@ -67,7 +67,7 @@ class FilmInterface():
conn.close() conn.close()
def selectFilm(self): def selectFilm(self):
f.printAll() f.list_all()
rep = input("Entrez le code identifiant du film\n") rep = input("Entrez le code identifiant du film\n")
try: try:
self.filmCharge = f(rep) self.filmCharge = f(rep)
@ -77,7 +77,7 @@ class FilmInterface():
self.menu() self.menu()
def newFilm(self): def newFilm(self):
self.filmCharge = f.newFilm() self.filmCharge = f.new_film()
def afficherFilm(self): def afficherFilm(self):
if self.filmCharge: if self.filmCharge:
@ -124,9 +124,9 @@ class FilmInterface():
print( 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" % ( "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))) nomAttr, self.filmCharge.__getattr__(nomAttr)))
newValue = f.makeListActors() newValue = f.make_actors_list()
elif nomAttr == "durée": elif nomAttr == "duree":
self.filmCharge.__setattr__(nomAttr, f.input_duree()) newValue = f.input_duration()
elif nomAttr == "couleur": elif nomAttr == "couleur":
newValue = f.input_color() newValue = f.input_color()
elif nomAttr == "date": elif nomAttr == "date":

View file

@ -17,8 +17,10 @@ import sqlite3
from config import db_path from config import db_path
from datetime import date from datetime import date
import locale import locale
locale.setlocale(locale.LC_ALL, 'fr_FR.utf8') locale.setlocale(locale.LC_ALL, 'fr_FR.utf8')
# def adapt_datetime(ts): # def adapt_datetime(ts):
# return time.mktime(ts.timetuple()) # return time.mktime(ts.timetuple())
@ -75,7 +77,9 @@ class filmSQ():
c = conn.cursor() c = conn.cursor()
try: try:
c.execute('INSERT INTO films VALUES (:i, :idN, :date, :nom, :realisateur, :duree, :synopsis, :pays, :annee, :youtube, :couleur, :image, :formatCopie, :langST)', dic) c.execute(
'INSERT INTO films VALUES (:i, :idN, :date, :nom, :realisateur, :duree, :synopsis, :pays, :annee, :youtube, :couleur, :image, :formatCopie, :langST)',
dic)
acteursToSq = [{'idFilm': dic['i'], 'acteur': a} for a in dic['acteurs']] acteursToSq = [{'idFilm': dic['i'], 'acteur': a} for a in dic['acteurs']]
c.executemany('INSERT INTO acteurs VALUES (NULL, :idFilm, :acteur)', acteursToSq) c.executemany('INSERT INTO acteurs VALUES (NULL, :idFilm, :acteur)', acteursToSq)
@ -90,21 +94,21 @@ class filmSQ():
self.__setattr__('idN', dic['idN']) self.__setattr__('idN', dic['idN'])
def __setattr__(self, nom_attr, val_attr): def __setattr__(self, attr_name, attr_value):
if nom_attr == 'idN': if attr_name == 'idN':
object.__setattr__(self, 'idN', val_attr) object.__setattr__(self, 'idN', attr_value)
else: else:
try: try:
conn = sqlite3.connect(db_path) conn = sqlite3.connect(db_path)
conn.row_factory = sqlite3.Row conn.row_factory = sqlite3.Row
c = conn.cursor() c = conn.cursor()
if nom_attr == 'acteurs': if attr_name == 'acteurs':
c.execute("""DELETE FROM acteurs WHERE iFilm =?""", (self.i,)) c.execute("""DELETE FROM acteurs WHERE iFilm =?""", (self.i,))
acteursToSq = [{'iFilm' : self.i, 'acteur' : a} for a in val_attr] acteursToSq = [{'iFilm': self.i, 'acteur': a} for a in attr_value]
c.executemany('INSERT INTO acteurs VALUES (NULL, :iFilm, :acteur)', acteursToSq) c.executemany('INSERT INTO acteurs VALUES (NULL, :iFilm, :acteur)', acteursToSq)
else: else:
c.execute('UPDATE films SET %s = ? WHERE idN = ?' % nom_attr, (val_attr, self.idN)) c.execute('UPDATE films SET %s = ? WHERE idN = ?' % attr_name, (attr_value, self.idN))
conn.commit() conn.commit()
except Exception as e: except Exception as e:
conn.rollback() conn.rollback()
@ -112,17 +116,17 @@ class filmSQ():
finally: finally:
conn.close() conn.close()
def __getattr__(self, nom): def __getattr__(self, attr_name):
conn = sqlite3.connect(db_path, detect_types=sqlite3.PARSE_DECLTYPES) conn = sqlite3.connect(db_path, detect_types=sqlite3.PARSE_DECLTYPES)
conn.row_factory = sqlite3.Row conn.row_factory = sqlite3.Row
c = conn.cursor() c = conn.cursor()
try: try:
if nom == 'acteurs': if attr_name == 'acteurs':
c.execute("""SELECT name FROM acteurs WHERE iFilm=?""", (self.i,)) c.execute("""SELECT name FROM acteurs WHERE iFilm=?""", (self.i,))
r = c.fetchall() r = c.fetchall()
res = [a[0] for a in r] res = [a[0] for a in r]
else: else:
c.execute("""SELECT %s FROM films WHERE idN=:idN""" % nom, {"idN":self.idN}) c.execute("""SELECT %s FROM films WHERE idN=:idN""" % attr_name, {"idN": self.idN})
r = c.fetchone() r = c.fetchone()
res = r[0] res = r[0]
conn.commit() conn.commit()
@ -152,7 +156,7 @@ class filmSQ():
return s return s
def maxId(): def max_id():
try: try:
conn = sqlite3.connect(db_path) conn = sqlite3.connect(db_path)
@ -168,7 +172,7 @@ class filmSQ():
return r[0] return r[0]
def printAll(): def list_all():
try: try:
conn = sqlite3.connect(db_path) conn = sqlite3.connect(db_path)
@ -185,9 +189,10 @@ class filmSQ():
conn.close() conn.close()
pass pass
def makeListActors(): def make_actors_list():
l = [] l = []
new = input("Entrez le nom des acteurs en appuyant sur Entrée entre chaque. Pour terminer, appuyer sur Entrée avec une ligne vide.\n") new = input(
"Entrez le nom des acteurs en appuyant sur Entrée entre chaque. Pour terminer, appuyer sur Entrée avec une ligne vide.\n")
if (new == -1): if (new == -1):
return -1 return -1
while (new != ""): while (new != ""):
@ -208,7 +213,7 @@ class filmSQ():
print("Veuillez entrer la date au format JJ/MM/AAA") print("Veuillez entrer la date au format JJ/MM/AAA")
return res return res
def input_duree(): def input_duration():
ok = False ok = False
while not ok: while not ok:
try: try:
@ -232,29 +237,27 @@ class filmSQ():
ok = True ok = True
return res return res
def new_film():
def newFilm():
"""Interface d'ajout d'un nouveau film""" """Interface d'ajout d'un nouveau film"""
dic = {} dic = {}
i = filmSQ.maxId() i = filmSQ.max_id()
ok = False ok = False
dic['i'] = i + 1 dic['i'] = i + 1
dic['idN'] = input("identifiant du film ? ") dic['idN'] = input("identifiant du film ? ")
dic['date'] = filmSQ.input_date() dic['date'] = filmSQ.input_date()
dic['nom'] = input("titre ? ") dic['nom'] = input("titre ? ")
dic['realisateur'] = input("realisateur ? ") dic['realisateur'] = input("realisateur ? ")
dic['acteurs'] = filmSQ.makeListActors() dic['acteurs'] = filmSQ.make_actors_list()
dic['synopsis'] = input("Donnez ici un synopsis rapide du film ") dic['synopsis'] = input("Donnez ici un synopsis rapide du film ")
dic['pays'] = input("pays de diffusion du film ? ") dic['pays'] = input("pays de diffusion du film ? ")
dic['annee'] = input("année de sortie du film (format AAAA) ? ") dic['annee'] = input("année de sortie du film (format AAAA) ? ")
dic['duree'] = filmSQ.input_duree(); dic['duree'] = filmSQ.input_duration();
dic['youtube'] = input("adresse youtube de la bande-annonce ? ") dic['youtube'] = input("adresse youtube de la bande-annonce ? ")
dic['image'] = input("url d'une affiche du film ? ") dic['image'] = input("url d'une affiche du film ? ")
dic['couleur'] = filmSQ.input_color(); dic['couleur'] = filmSQ.input_color();
dic['formatCopie'] = input("format de la copie ? ") dic['formatCopie'] = input("format de la copie ? ")
dic['langST'] = input("langue et sous-titre : VF/VOSTFR ? ") dic['langST'] = input("langue et sous-titre : VF/VOSTFR ? ")
seance = filmSQ(dic) seance = filmSQ(dic)
return seance return seance
@ -266,4 +269,3 @@ def strListe(liste):
if liste != []: if liste != []:
res += liste[-1] res += liste[-1]
return res return res