# -*- coding: utf-8 -*- """ Created on Mon Aug 21 13:54:39 2017 @author: alice """ import shelve import pickle class film(): def __init__(self, _i, _idN, _date, _nom, _acteurs, _realisateur, _duree, _synopsis, _pays, _annee, _youtube, _couleur): """ceci est une aide""" self.i = _i self.idN = _idN self.date = _date self.nom = _nom self.acteurs = _acteurs self.realisateur = _realisateur self.duree = _duree self.synopsis = _synopsis self.pays = _pays self.annee = _annee self.youtube = _youtube self.couleur = _couleur def blog(self): res = u'

' res += u'
\
\
Durée :' res += self.duree if self.couleur: res += u'
Couleur' else: res += u'
Noir et blanc' res += u'
Pays :' + self.pays res += u'
Année :' + str(self.annee) res += u'
Avec :' + strListe(self.acteurs) res += u'
' res += u"
" res += u"Comme d'habitude, l'entrée coûte 4 euros, 3 pour les membres du COF et vous avez la possibilité d'acheter des cartes de 10 places pour respectivement 30 et 20 euros. L'entrée est gratuite pour les étudiant.e.s invité.e.s." res += u'
Et pour résumer :
Rendez-vous le ' + self.date res += u', 20h30
en salle Dussane, au 45 rue ' + "d'Ulm
" + 'pour voir et revoir
' res += self.nom + u'
de ' + self.realisateur res += u"
" return res def calendrier(self): res = ' \n \n
' res += '
' res += '' res += '

Retour en haut de page' res += "
\n \n
" return res def bocal(self): res = "\centerline{\date{" + self.date + ", 20h30}} \n" res += "\centerline{Salle Dussane} \n" res += "\centerline{\emph{\Large " + self.nom + "}} \n" res += "\centerline{" + self.realisateur + " (" + str(self.annee) + ") } \n" res += "\medskip \n" if len(self.acteurs) == 1 : res += "\centerline{" + self.acteurs[0] + "}\n" if len(self.acteurs) >= 2 : res += "\centerline{" + self.acteurs[0]+ ', ' + self.acteurs[1] + "}\n" if len(self.acteurs) > 2 : res += "\centerline{" + self.acteurs[2] + "}\n" res += "\medskip \n" res += "\centerline{\\textit{" + self.duree + "}}\n \n" res += "\medskip\n" res += "\medskip \n \centerline{4~€~/~3~€ COF} \n \medskip \n \n " res += "\centerline{\includegraphics[width=5cm]{cine}}\n \n" res += "\medskip\n" res += self.synopsis return res 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 + ', 20h30) \n \t' res += ' \n \t \n \t \t
' res += '\n \t \t \t \n \t\t\t' res += '
\n \n
' res += '\n \t\t\t\t\t \n\t\t\t\t
\n' res += '

Bonjour à toutes et à tous,

\n

Ce mail contient du HTML. Si vous ne pouvez pas le lire, allez sur notre site : http://www.cineclub.ens.fr

' res += '\n

Retrouvez-nous en salle Dussane ' + self.date + ", 20h30 ! Comme d'habitude, l'entrée coûte 4€, 3€ pour les membres du COF et vous avez la possibilité d'acheter des cartes de 10 places pour respectivement 30€ et 20€. L'entrée est gratuite pour les étudiants invités.
" res += '

' res += '
'+ self.nom +' \n de ' + self.realisateur + '
\n
\n
' res += 'Durée : '+ self.duree + '.
\n' if self.couleur: res +'Couleur.
\n' else: res += 'Noir et blanc <\br> \n' res += 'Pays : ' + self.pays + '
\n' res += 'Année : ' + str(self.annee) + '.
\n' res += 'Avec : ' + strListe(self.acteurs) + '...
\n' res += 'Rapide synopsis : ' + self.synopsis + '

' res += '
Plus d\'informations (bande-annonce, etc.) sur notre blog !
' res += '

Vous ne pouvez pas venir à cette séance mais vous aimeriez aller au ciné-club une prochaine fois ?
' res += 'Découvrez le calendrier de nos prochaines séances.

' res += '

À très bientôt en salle Dussane !
L\'équipe du ciné-club
http://cineclub.ens.fr

' res += '

Toutes les séances du ciné-club se déroulent en salle Dussane, au 45 rue d\'Ulm, Paris.
Métro : Luxembourg, Place Monge. Bus: Feuillantine.

' res += '

Vous ne souhaitez plus recevoir notre newsletter ? Désinscrivez-vous

' res += '
' return res def strListe(liste): res = "" for l in liste[:-1]: res += l +', ' if liste != []: res += liste[-1] return res i = 38 def nouveauFilmIn(dicFilms, index = {}): if index == {}: with open('index', 'rb') as index: pickler = pickle.Unpickler(index) dicIndex = pickler.load() i = pickler.load() + 1 ind = False idN = input("identifiant du film ? ") date = input("date de la séance (format mardi JJ MOIS AAAA) ") nom = input("titre ? ") acteurs = eval(input("acteurs (format [acteur1, acteur2, ..]) ? ")) realisateur = input("realisateur ? ") duree = input("durée du film ? ") synopsis = input("Donnez ici un synopsis rapide du film ") pays = input("pays de diffusion du film ? ") annee = input("année de sortie du film (format AAAA) ? ") youtube = input("adresse youtube de la bande-annonce ? ") couleur = eval(input("le film est-il en couleur (format True/False) ? ")) seance = film(i, idN, date, nom, acteurs, realisateur, duree, synopsis, pays, annee, youtube, couleur) dicIndex[i] = idN dicFilms[idN] = seance if not(ind) : with open('index', 'wb') as index: pickler = pickle.Pickler(index) pickler.dump(dicIndex) pickler.dump(i) return seance def updateFilmIn(dicFilms, key, index = {}): if index == {}: with open('index', 'rb') as index: pickler = pickle.Unpickler(index) dicIndex = pickler.load() ind = False i = dicFilms[key].i idN = input("identifiant du film ? ") date = input("date de la séance (format mardi JJ MOIS AAAA) ") nom = input("titre ? ") acteurs = eval(input("acteurs (format [acteur1, acteur2, ..]) ? ")) realisateur = input("realisateur ? ") duree = input("durée du film ? ") synopsis = input("Donnez ici un synopsis rapide du film ") pays = input("pays de diffusion du film ? ") annee = input("année de sortie du film (format AAAA) ? ") youtube = input("adresse youtube de la bande-annonce ? ") couleur = eval(input("le film est-il en couleur (format True/False) ? ")) seance = film(i, idN, date, nom, acteurs, realisateur, duree, synopsis, pays, annee, youtube, couleur) dicIndex[i] = key dicFilms[idN] = seance dicFilms.remove(key) if not(ind) : with open('index', 'wb') as index: pickler = pickle.Pickler(index) pickler.dump(dicIndex) pickler.dump(i) return seance def nouveauFilm(): with shelve.open('filmsShelve') as db: seance = nouveauFilmIn(db) return seance def updateFilm(key): with shelve.open('filmsShelve') as db: seance = updateFilmIn(db, key) return seance def getIndex(): with open('index', 'rb') as index: pickler = pickle.Unpickler(index) dicIndex = pickler.load() return dicIndex def getFilms(): res = {} with shelve.open('filmsShelve') as db: for f in db: res[f] = updateFilm(db[f]) return res def setFilms(dico): with shelve.open('filmsShelve', writeback = True) as db: for f in dico: db[f] = updateFilm(dico[f]) def correctFilm(a): res = film(a.i, a.idN, a.date, a.nom, a.acteurs, a.realisateur, a.duree, a.synopsis, a.pays, a.annee, a.youtube, a.couleur) return res def correctShelf(): with shelve.open('filmsShelve') as db: for f in db: db[f] = correctFilm(db[f]) def liste(db): lis = [(db[k].i, k) for k in db.keys()] lis = sorted(lis) for tup in lis: k = tup[1] print(k, ' : ', db[k].nom) return None #print(enqSex.mail())