New changelist

This commit is contained in:
sidya82
2014-12-23 19:05:26 +01:00
parent 3f5c766e2f
commit e091f37ca2
10 changed files with 411 additions and 75 deletions

View File

@ -1,14 +1,15 @@
__author__ = 'sidya'
from src.m.Place import Place, TypePlace, ListeTypePlace
from src.m.Place import Place, ListeTypePlace
class Parking:
"""
Definie un parking
"""
def __init__(self, nbNiv, typePlacesParNiv):
#self.__nbPlacesParNiveau = placesParNiv
def __init__(self, nbNiv, typePlacesParNiv,nom):
self.__nom = nom
self.__nbPlacesParNiveau = typePlacesParNiv.nbPlaceTotal
self.__prix = 10
self.__nbNiveaux = nbNiv
self.__Places = {}
@ -16,21 +17,21 @@ class Parking:
l = []
for t in typePlacesParNiv.liste:
for i in range(0, t.nb):
l.append(Place(i+1, n, t.longueur, t.hauteur))
self.__Places[n+1] = l
l.append(Place(i + 1, n, t.longueur, t.hauteur))
self.__Places[n ] = l
def recherchePlace(self, voiture):
trouve = False
place = None
for i in range(0, self.__nbNiveaux):
if trouve :
if place != None:
break
l = [p for p in self.__Places[i].estLibre]
for p in l :
if p.dimValide(voiture.hauteur, voiture.longueur) :
for p in l:
if p.dimValide(voiture.hauteur, voiture.longueur):
pass
trouve = True
place = p
break
return trouve
return place
def nbPlacesLibresNiveau(self, niveau):
i = 0
@ -39,6 +40,12 @@ class Parking:
i += 1
return i
def nbPlacesLibresParking(self):
nbP = 0
for i in range(0,self.__nbNiveaux) :
nbP += self.nbPlacesLibresNiveau(i)
return nbP
def addAbonnement(self, Abonnement):
pass

View File

@ -1,15 +1,21 @@
import sys
import datetime
__author__ = 'sidya'
class Place :
def __init__(self,numero,niveau,longueur,hauteur):
class Place:
"""
Representation d'une place dans un parking
"""
def __init__(self, numero, niveau, longueur, hauteur):
self.__numero = numero
self.__niveau = niveau
self.__longueur = longueur
self.__hauteur = hauteur
self.__estLibre = True
self.__estReserver = False
self.__Placement = None
@property
def estLibre(self):
return self.__estLibre
@ -18,15 +24,36 @@ class Place :
def estReserver(self):
return self.__estReserver
def dimValide(self,h,l):
return h<self.__hauteur and l<self.__longueur
def dimValide(self, h, l):
return h < self.__hauteur and l < self.__longueur
def addPlacement(self, placement):
pass
def reserver(self):
if (self.__estReserver == True) :
raise Exception("Place déjà reservé")
self.__estReserver = True
def nonReserver(self) :
if (self.__estReserver == False):
raise Exception("Impossible de mettre une place en non si elle n'est pas reservé de base")
self.__estReserver = False
def prendre(self, Placement):
if (self.__Libre == True) :
raise Exception("Place déjà prise")
self.__estLibre = False
self.__Placement = Placement
def liberer(self) :
if (self.__estLibre == False):
raise Exception("Impossible de liberer une place vide")
self.__estLibre = True
class TypePlace :
def __init__(self,h,l,nb):
class TypePlace:
"""
Classe qui permet de définir un type de place
"""
def __init__(self, h, l, nb):
self.__hauteur = h
self.__longueur = l
self.__nb = nb
@ -44,13 +71,33 @@ class TypePlace :
return self.__nb
class ListeTypePlace :
class ListeTypePlace:
"""
Classe qui permet de définir une liste de type de place par niveau pour la création d'un parking
"""
def __init__(self):
self.l = []
def add(self,h,l,nb):
self.l.append(TypePlace(h,l,nb))
def add(self, h, l, nb):
self.l.append(TypePlace(h, l, nb))
@property
def nbPlaceTotal(self):
i = 0
for t in self.l:
i += t.nb
return i
@property
def liste(self):
return self.l
return self.l
class Placement:
def __init__(self,debut,fin):
self.debut = debut
self.fin = fin
@property
def estEnCours(self):
return datetime.datetime < self.fin