ajout fonction save load

This commit is contained in:
vincent 2018-02-05 21:52:28 +01:00
parent 13499d5ee3
commit de9183f019

24
cave.py
View File

@ -1,14 +1,20 @@
import pickle
class Etageres(object): class Etageres(object):
def __init__(self): def __init__(self):
self.etageres = [] self.etageres = []
self.nbetagere = 0 self.nbetagere = 0
@classmethod
def load_etageres(cls,file):
with open(file, 'rb') as data:
return pickle.load(data)
def add_etagere(self, largeur, hauteur): def add_etagere(self, largeur, hauteur):
self.nbetagere += 1 self.nbetagere += 1
self.etageres.append(Etagere(largeur, hauteur, self)) self.etageres.append(Etagere(largeur, hauteur, self))
def nbbouteille(self): def nbbouteille(self):
i = 0 i = 0
for etagere in self.etageres: for etagere in self.etageres:
@ -31,6 +37,9 @@ class Etageres(object):
self.nbetagere -= 1 self.nbetagere -= 1
return "etagere {} suprimer".format(etagere.num_etagere) return "etagere {} suprimer".format(etagere.num_etagere)
def save_etageres(self):
with open('company_data.pkl', 'wb') as output:
pickle.dump(self,output)
def __iter__(self): def __iter__(self):
return iter(self.etageres) return iter(self.etageres)
@ -48,10 +57,10 @@ class Etagere(object):
for bouteille in self.bouteilles: for bouteille in self.bouteilles:
if (pos_hauteur > self.hauteur or pos_largeur > self.largeur or pos_largeur < 1 or pos_largeur < 1): if (pos_hauteur > self.hauteur or pos_largeur > self.largeur or pos_largeur < 1 or pos_largeur < 1):
return "bouteille positioné en dehors des emplacement" return "bouteille positioné en dehors des emplacement"
if (pos_largeur == bouteille.pos_largeur and pos_hauteur == bouteille.pos_hauteur): if (pos_largeur == bouteille.pos_largeur and pos_hauteur == bouteille.pos_hauteur):
return "une bouteille existe déja a cette emplacement" return "une bouteille existe déja a cette emplacement"
self.bouteilles.append(
Bouteille(pos_largeur, pos_hauteur, couleur, appelation, millesime, self)) self.bouteilles.append(Bouteille(pos_largeur, pos_hauteur, couleur, appelation, millesime, self))
return "OK" return "OK"
def remove_bouteille(self, pos_largeur, pos_hauteur): def remove_bouteille(self, pos_largeur, pos_hauteur):
@ -94,4 +103,7 @@ print(new.etageres[0].bouteilles)
print("vos etagére contiennes {} bouteille".format(new.nbbouteille())) print("vos etagére contiennes {} bouteille".format(new.nbbouteille()))
print("vos etagére contiennes {} bouteille de rouge".format( print("vos etagére contiennes {} bouteille de rouge".format(
new.nbbouteillecouleur("rouge"))) new.nbbouteillecouleur("rouge")))
new.save_etageres()
print(new.remove_etagere(new.etageres[0])) print(new.remove_etagere(new.etageres[0]))
del new