New changelist
This commit is contained in:
@ -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
|
||||
|
||||
|
@ -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
|
Reference in New Issue
Block a user