DocString

This commit is contained in:
sidya82 2015-02-08 02:55:45 +01:00
parent e92819cbb7
commit 506e2e65b9
12 changed files with 140 additions and 125 deletions

View File

@ -1,8 +1,5 @@
from src.c.Main import Main from src.c.Main import Main
__author__ = 'sidya'
if __name__ == "__main__": if __name__ == "__main__":
# lancement du controleur principal # lancement du controleur principal
main = Main() main = Main()

View File

@ -1,3 +1,7 @@
"""
Module Controleur de la vue des bornes permettant l'accès au parking
"""
from PyQt4 import QtGui, QtCore from PyQt4 import QtGui, QtCore
from src.c.Teleporteur import Teleporteur from src.c.Teleporteur import Teleporteur
from src.m.Parking import Placement from src.m.Parking import Placement
@ -9,23 +13,23 @@ from src.v.MyQt import MyQWidget
from src.v.Ui_User import Ui_Borne from src.v.Ui_User import Ui_Borne
__author__ = 'sidya' ##Controleur de la vue des bornes permettant l'accès au parking
class Borne: class Borne:
"""
Controleur de la vue des bornes permettant l'accès au parking
"""
bornes = [] bornes = []
## Met a jour l'affichages du nombres de places dispo sur toutes les bornes
@staticmethod @staticmethod
def MajBornes(): def MajBornes():
for b in Borne.bornes: for b in Borne.bornes:
b.MajBorne() b.MajBorne()
## Met a jour l'affichage du nombre de places dispo sur la borne courante
def MajBorne(self): def MajBorne(self):
self.__ui.lcdNumber.display(self.__parking.nbPlacesLibresParking) self.__ui.lcdNumber.display(self.__parking.nbPlacesLibresParking)
## Contructeur du controleur de borne
# @param main Controleur parent Main
# @param parking Parking auquel la borne est associé
def __init__(self, main, parking): def __init__(self, main, parking):
self.__nomBorne = "Borne " + str(len(self.bornes) + 1) self.__nomBorne = "Borne " + str(len(self.bornes) + 1)
self.__parking = parking self.__parking = parking
@ -63,7 +67,7 @@ class Borne:
Borne.bornes.append(self) Borne.bornes.append(self)
Borne.MajBornes() Borne.MajBornes()
## block l'ensmeble des éléments de la fenetre
def blockAll(self): def blockAll(self):
self.__ui.box_abo.setDisabled(True) self.__ui.box_abo.setDisabled(True)
self.__ui.box_garer.setDisabled(True) self.__ui.box_garer.setDisabled(True)
@ -74,11 +78,8 @@ class Borne:
self.__ui.btn_annuler.setDisabled(True) self.__ui.btn_annuler.setDisabled(True)
self.__ui.btn_desabo.setDisabled(True) self.__ui.btn_desabo.setDisabled(True)
## Met en etat initial de départ sans voiture
def nonVoiture(self): def nonVoiture(self):
"""
Met en etat initial de départ sans voiture
:return:
"""
self.__main.activity(self.__nomBorne + " : En Attente d'une voiture", self.__main.lvl.INFO) self.__main.activity(self.__nomBorne + " : En Attente d'une voiture", self.__main.lvl.INFO)
self.__ui.label_aff.setText("Dream park") self.__ui.label_aff.setText("Dream park")
self.__c = None self.__c = None
@ -106,11 +107,8 @@ class Borne:
self.__ui.dateTimeEdit.setDateTime(QtCore.QDateTime.currentDateTime()) self.__ui.dateTimeEdit.setDateTime(QtCore.QDateTime.currentDateTime())
Borne.MajBornes() Borne.MajBornes()
## Met en etat d'arrive de voiture detecte par la camera
def newVoiture(self): def newVoiture(self):
"""
Meten etat d'arrive de voiture detecte par la camera
:return:
"""
self.__ui.btn_Voiture.setDisabled(True) self.__ui.btn_Voiture.setDisabled(True)
self.__v_actuel = Camera.donnerVoiture() self.__v_actuel = Camera.donnerVoiture()
self.__main.activity(self.__nomBorne + " : Arrivee : " + str(self.__v_actuel), self.__main.lvl.INFO) self.__main.activity(self.__nomBorne + " : Arrivee : " + str(self.__v_actuel), self.__main.lvl.INFO)
@ -121,12 +119,8 @@ class Borne:
self.__ui.label_aff.setText("Bienvenue !") self.__ui.label_aff.setText("Bienvenue !")
self.__ui.btn_quitter.setDisabled(True) self.__ui.btn_quitter.setDisabled(True)
## Gestion de l'identification a partir d'un abo a partir de son id (lineedit)
def identification(self): def identification(self):
"""
Gestion de l'identification a partir d'un abo a partir de son id (lineedit)
:return:
"""
try: try:
self.__c = Client(self.__ui.lineEdit_id.text()) self.__c = Client(self.__ui.lineEdit_id.text())
self.__ui.label_aff.setText("Bonjour " + str(self.__c.nom) + " " + str(self.__c.prenom)) self.__ui.label_aff.setText("Bonjour " + str(self.__c.nom) + " " + str(self.__c.prenom))
@ -150,11 +144,8 @@ class Borne:
self.__main.activity(self.__nomBorne + " : Erreur lors de l'indentification " + str(e), self.__main.activity(self.__nomBorne + " : Erreur lors de l'indentification " + str(e),
self.__main.lvl.FAIL) self.__main.lvl.FAIL)
## Gestion validation formulaire d'abonnement
def abo(self): def abo(self):
"""
Gestion validation formulaire d'abonnement
:return:
"""
if self.__c != None: if self.__c != None:
if self.__ui.checkBox.isChecked(): if self.__ui.checkBox.isChecked():
self.__c.maj(str(self.__ui.nomLineEdit.text()), self.__c.maj(str(self.__ui.nomLineEdit.text()),
@ -187,6 +178,7 @@ class Borne:
self.identification() self.identification()
self.__ui.label_aff.setText("Votre id membre est : " + self.__c.id) self.__ui.label_aff.setText("Votre id membre est : " + self.__c.id)
## Gestion du desabonnment du client identifié
def desabo(self): def desabo(self):
self.__c.desabo() self.__c.desabo()
self.__c = None self.__c = None
@ -199,12 +191,8 @@ class Borne:
self.__ui.box_service.setDisabled(True) self.__ui.box_service.setDisabled(True)
## Gestion de la validation pour garer son vehicule
def garer(self): def garer(self):
"""
Gestion de la validation de garer son vehicule
:return:
"""
placement = None placement = None
if self.__c is None: if self.__c is None:
p = self.__parking.recherchePlace(self.__v_actuel) p = self.__parking.recherchePlace(self.__v_actuel)
@ -247,12 +235,8 @@ class Borne:
self.__main.activity(self.__nomBorne + " : Pas de place dispo pour " + str(self.__v_actuel), self.__main.activity(self.__nomBorne + " : Pas de place dispo pour " + str(self.__v_actuel),
self.__main.lvl.INFO) self.__main.lvl.INFO)
## Gestion de recuperation une voiture avec le numero de ticket (lineedit)
def recuperer(self): def recuperer(self):
"""
Essaie de recuperer une voiture avec le numero de ticket (lineedit)
:return:
"""
p = None p = None
try: try:
p = Placement(self.__ui.numeroTicketLineEdit.text()) p = Placement(self.__ui.numeroTicketLineEdit.text())
@ -281,18 +265,20 @@ class Borne:
self.__ui.pushButton.setDisabled(False) self.__ui.pushButton.setDisabled(False)
self.__ui.numeroTicketLineEdit.setDisabled(True) self.__ui.numeroTicketLineEdit.setDisabled(True)
## Gestion du payeent
def payer(self): def payer(self):
self.ticketRetrait(self.__placementAPayer, Service.getAllServicePlacement(self.__placementAPayer)) self.ticketRetrait(self.__placementAPayer, Service.getAllServicePlacement(self.__placementAPayer))
self.__main.activity(self.__nomBorne + " : Recuperation Anonyme : " + str(self.__placementAPayer), self.__main.lvl.INFO) self.__main.activity(self.__nomBorne + " : Recuperation Anonyme : " + str(self.__placementAPayer), self.__main.lvl.INFO)
self.nonVoiture() self.nonVoiture()
## generation ticket depot
def ticketDepot(self, id): def ticketDepot(self, id):
QtGui.QMessageBox.information(self.__w, QtGui.QMessageBox.information(self.__w,
"Ticket", "Ticket",
"Votre numero ticket : " + str(id) "Votre numero ticket : " + str(id)
) )
## generation ticket retrait
def ticketRetrait(self, placement, services): def ticketRetrait(self, placement, services):
if placement.voiture.client == "NULL": if placement.voiture.client == "NULL":
prix = placement.place.typePlace.prix prix = placement.place.typePlace.prix
@ -322,27 +308,18 @@ class Borne:
str(s) str(s)
) )
## Gestion affichage de la vue borne
def showWindow(self): def showWindow(self):
"""
Gestion affichage de la vue borne
:return:
"""
self.__w.show() self.__w.show()
## Gestion de sortie de la vue borne
def quitter(self): def quitter(self):
"""
Gestion de sortie de la vue borne
:return:
"""
self.__main.activity(self.__nomBorne + " : Quitter", self.__main.lvl.INFO) self.__main.activity(self.__nomBorne + " : Quitter", self.__main.lvl.INFO)
self.__main.showWindow() self.__main.showWindow()
## Generation Qdialog d'erreur
# @param msg message d'erreur a afficher
def error(self, msg): def error(self, msg):
"""
Qdialog message erreur
:return:
"""
QtGui.QMessageBox.warning(self._w, QtGui.QMessageBox.warning(self._w,
"Erreur ...", "Erreur ...",
"Erreur lors de la création du parking ...\n" + "Erreur lors de la création du parking ...\n" +

View File

@ -1,3 +1,7 @@
"""
Contrileur Principal de l'application
"""
import sys import sys
from PyQt4 import QtGui, QtCore from PyQt4 import QtGui, QtCore
@ -16,8 +20,9 @@ from src.v.MyQt import MyQMainWindow
from src.v.Ui_Admin import Ui_MainWindow from src.v.Ui_Admin import Ui_MainWindow
## Controleur principal de l'application administration
class Main: class Main:
## Contructeur
def __init__(self): def __init__(self):
# Init des logs # Init des logs
self.lvl = lvl() # Public : Acces au constante self.lvl = lvl() # Public : Acces au constante
@ -53,11 +58,14 @@ class Main:
self.showWindow() self.showWindow()
sys.exit(app.exec_()) sys.exit(app.exec_())
## Methode d'ecriture dans les logs
# @param msg message a ecrire
# @param lvl lvl du message (niveau d'importance)
def activity(self, msg, lvl): def activity(self, msg, lvl):
self.__log.printL(msg, lvl) self.__log.printL(msg, lvl)
self.addItemActivite(self.activite.readlines()[-1]) self.addItemActivite(self.activite.readlines()[-1])
## Chargement des derniers log
def loadLastActivity(self): def loadLastActivity(self):
try: try:
self.activite = open("log/activity.log", "r") self.activite = open("log/activity.log", "r")
@ -74,12 +82,14 @@ class Main:
def addItemActivite(self, line): def addItemActivite(self, line):
self.__ui.listWidget.addItem(line) self.__ui.listWidget.addItem(line)
## Mise a jour de la liste des parking
def majListeParking(self): def majListeParking(self):
self.__ui.comboBox.clear() self.__ui.comboBox.clear()
self.__ui.comboBox.addItem("Selectionner un parking") self.__ui.comboBox.addItem("Selectionner un parking")
for p in Parking.getAllActif(): for p in Parking.getAllActif():
self.__ui.comboBox.addItem(p.nom) self.__ui.comboBox.addItem(p.nom)
## Action a réaliser lorque un parking est selectionné
def selectParking(self): def selectParking(self):
# onglet detail parking # onglet detail parking
self.__ui.nom.clear() self.__ui.nom.clear()
@ -132,7 +142,7 @@ class Main:
self.__ui.labelNbSuperAbo.setText(str(Client.nbSuperAbo())) self.__ui.labelNbSuperAbo.setText(str(Client.nbSuperAbo()))
self.__ui.labelMoySta.setText(str(Placement.dureeMoyPlacement())) self.__ui.labelMoySta.setText(str(Placement.dureeMoyPlacement()))
## Gestion de la realisation d'une maintenance
def doMaintenance(self): def doMaintenance(self):
if len(self.__serviceMaintenance) > 0: if len(self.__serviceMaintenance) > 0:
try: try:
@ -144,6 +154,7 @@ class Main:
self.error("Livraision echoué.") self.error("Livraision echoué.")
self.selectParking() self.selectParking()
## Gestion de la realisation d'un entrerien
def doEntretien(self): def doEntretien(self):
if len(self.__serviceEntretien) > 0: if len(self.__serviceEntretien) > 0:
try: try:
@ -155,6 +166,7 @@ class Main:
self.error("Entretien echoué.") self.error("Entretien echoué.")
self.selectParking() self.selectParking()
## Gestion de la realisation d'une livraison
def doLivraison(self): def doLivraison(self):
if len(self.__serviceLivraisons) > 0: if len(self.__serviceLivraisons) > 0:
try: try:
@ -167,6 +179,7 @@ class Main:
self.error("Livraison echoué.") self.error("Livraison echoué.")
self.selectParking() self.selectParking()
## Gestion de la mise a our d'une livraison
def majLivraison(self): def majLivraison(self):
if len(self.__serviceLivraisons) > 0: if len(self.__serviceLivraisons) > 0:
try: try:
@ -179,10 +192,12 @@ class Main:
self.error("Maj Livraison echoué.") self.error("Maj Livraison echoué.")
self.selectParking() self.selectParking()
## Gestion de l'ouverture d'une fenetre de CreaParking
def creerParking(self): def creerParking(self):
self.__view.hide() self.__view.hide()
self.__widgetCourant = CreaParking(self) self.__widgetCourant = CreaParking(self)
## Suppresion d'un parking
def rmParking(self): def rmParking(self):
if self.__ui.comboBox.currentIndex() != 0: if self.__ui.comboBox.currentIndex() != 0:
result = QtGui.QMessageBox.question(self.__view, result = QtGui.QMessageBox.question(self.__view,
@ -201,17 +216,20 @@ class Main:
self.__view.hide() self.__view.hide()
self.showWindow() self.showWindow()
## Affichage d'une fentre DetailsPlaces des places d'un parking
def detailsPlacesParking(self): def detailsPlacesParking(self):
if self.__ui.comboBox.currentIndex() != 0: if self.__ui.comboBox.currentIndex() != 0:
self.__view.hide() self.__view.hide()
self.__widgetCourant = DetailsPlaces(self, Parking.getAllActif()[self.__ui.comboBox.currentIndex() - 1]) self.__widgetCourant = DetailsPlaces(self, Parking.getAllActif()[self.__ui.comboBox.currentIndex() - 1])
## Gestion affichage des Borne
def afficherBornes(self): def afficherBornes(self):
if self.__ui.comboBox.currentIndex() != 0: if self.__ui.comboBox.currentIndex() != 0:
self.__view.hide() self.__view.hide()
Borne(self, Parking.getAllActif()[self.__ui.comboBox.currentIndex() - 1]) Borne(self, Parking.getAllActif()[self.__ui.comboBox.currentIndex() - 1])
Borne(self, Parking.getAllActif()[self.__ui.comboBox.currentIndex() - 1]) Borne(self, Parking.getAllActif()[self.__ui.comboBox.currentIndex() - 1])
## Gestion reinitilaisation de la BD
def nouveau(self): def nouveau(self):
result = QtGui.QMessageBox.question(self.__view, result = QtGui.QMessageBox.question(self.__view,
"Confirmer Nouveau...", "Confirmer Nouveau...",
@ -225,6 +243,7 @@ class Main:
Parking.removeAllRam() Parking.removeAllRam()
self.majListeParking() self.majListeParking()
## gestion du chargement d'une BD enregistre dans un fichier
def charger(self): def charger(self):
path = QtGui.QFileDialog.getOpenFileName(self.__view, "Charger", ".") path = QtGui.QFileDialog.getOpenFileName(self.__view, "Charger", ".")
if path: if path:
@ -236,6 +255,7 @@ class Main:
self.error("Le chargement a echoué.") self.error("Le chargement a echoué.")
self.majListeParking() self.majListeParking()
## Gestion suvegarde de la BD dans un fichier
def sauver(self): def sauver(self):
path = QtGui.QFileDialog.getSaveFileName(self.__view, "Sauvegarder", ".") path = QtGui.QFileDialog.getSaveFileName(self.__view, "Sauvegarder", ".")
if path: if path:
@ -247,9 +267,11 @@ class Main:
self.error("La sauvegarde a echoué.") self.error("La sauvegarde a echoué.")
self.majListeParking() self.majListeParking()
## Gestion quitter
def quitter(self): def quitter(self):
self.__view.close() self.__view.close()
## Gestion affichage Main
def showWindow(self): def showWindow(self):
self.activity("Chargement de la fenetre principal", self.lvl.INFO) self.activity("Chargement de la fenetre principal", self.lvl.INFO)
self.majListeParking() self.majListeParking()
@ -258,11 +280,9 @@ class Main:
Borne.bornes = [] Borne.bornes = []
self.__view.focusWidget() # reprend le focus sur la fenetre principal self.__view.focusWidget() # reprend le focus sur la fenetre principal
## Gestion affichage QDialog d'erreur
# @param msg le message d'erreur
def error(self, msg): def error(self, msg):
"""
Qdialog message erreur
:return:
"""
QtGui.QMessageBox.warning(self.__widgetCourant, QtGui.QMessageBox.warning(self.__widgetCourant,
"Erreur ...", "Erreur ...",
msg msg

View File

@ -1,15 +1,17 @@
"""
Module Controleur de gestion de parking
"""
from PyQt4 import QtGui, QtCore from PyQt4 import QtGui, QtCore
from PyQt4.QtGui import QTableWidgetItem from PyQt4.QtGui import QTableWidgetItem
from src.m.Parking import TypePlace, Parking from src.m.Parking import TypePlace, Parking
from src.v.MyQt import MyQWidget from src.v.MyQt import MyQWidget
from src.v.Ui_Admin import Ui_CreaParking from src.v.Ui_Admin import Ui_CreaParking
#Controleur de creation de parking
class CreaParking: class CreaParking:
""" ## Contructeur
Controleur de cretion de parking # @param main Controleur parent
"""
def __init__(self, main): def __init__(self, main):
self._main = main self._main = main
self._main.activity("Debut Creation Parking", self._main.lvl.INFO) self._main.activity("Debut Creation Parking", self._main.lvl.INFO)
@ -31,25 +33,16 @@ class CreaParking:
self._ui.tableWidget.insertRow(self._ui.tableWidget.rowCount()) self._ui.tableWidget.insertRow(self._ui.tableWidget.rowCount())
self.showWindow() self.showWindow()
## Ajoute une ligne de creation de place
def addRow(self): def addRow(self):
"""
Ajoute une ligne de creation de place
:return:
"""
self._ui.tableWidget.insertRow(self._ui.tableWidget.rowCount()) self._ui.tableWidget.insertRow(self._ui.tableWidget.rowCount())
## Enleve une ligne de creation de place
def rmRow(self): def rmRow(self):
"""
Enleve une ligne de creation de place
:return:
"""
self._ui.tableWidget.removeRow(self._ui.tableWidget.rowCount() - 1) self._ui.tableWidget.removeRow(self._ui.tableWidget.rowCount() - 1)
## Gestion annulation creation parking
def annuler(self): def annuler(self):
"""
Gestion annulation creation parking
:return:
"""
result = QtGui.QMessageBox.question(self._w, result = QtGui.QMessageBox.question(self._w,
"Confirmer Fermeture...", "Confirmer Fermeture...",
"Etes vous sur de vouloir abandonner ?\n" "Etes vous sur de vouloir abandonner ?\n"
@ -61,11 +54,8 @@ class CreaParking:
self._w.hide() self._w.hide()
self._main.showWindow() self._main.showWindow()
## Gestion validation de formulaire de creation de parking
def valider(self): def valider(self):
"""
Gestion validation de formulaire de creation de parking.
:return:
"""
if self._ui.lineEdit_nom.text() == "": if self._ui.lineEdit_nom.text() == "":
self._main.activity("Erreur lors de la creations du Parking. Nom Invalide.\n", self._main.lvl.FAIL) self._main.activity("Erreur lors de la creations du Parking. Nom Invalide.\n", self._main.lvl.FAIL)
self.error("Nom Invalide!") self.error("Nom Invalide!")
@ -86,26 +76,24 @@ class CreaParking:
self._main.activity("Erreur lors de la creations du Parking \n" + str(e), self._main.lvl.FAIL) self._main.activity("Erreur lors de la creations du Parking \n" + str(e), self._main.lvl.FAIL)
self.error("Verifiez que votre saisie est valide !") self.error("Verifiez que votre saisie est valide !")
## Gestion affichage CreaParking
def showWindow(self): def showWindow(self):
"""
Gestion affichage vue Creation de Parking
:return:
"""
self._w.show() self._w.show()
## Gestion affichage QDialog d'erreur
# @param msg le message d'erreur
def error(self, msg): def error(self, msg):
"""
Qdialog message erreur
:return:
"""
QtGui.QMessageBox.warning(self._w, QtGui.QMessageBox.warning(self._w,
"Erreur ...", "Erreur ...",
"Erreur lors de la création du parking ...\n" + "Erreur lors de la création du parking ...\n" +
msg msg
) )
## Controleur d'affichage des details des places d'un parking existant
class DetailsPlaces(CreaParking): class DetailsPlaces(CreaParking):
## Contructeur
# @param main Controleur parent
# @param parking praking dont on veux afficher le détail
def __init__(self, main, parking): def __init__(self, main, parking):
self.__parking = parking self.__parking = parking
super(DetailsPlaces, self).__init__(main) super(DetailsPlaces, self).__init__(main)
@ -125,6 +113,7 @@ class DetailsPlaces(CreaParking):
self._ui.btn_addRow.setVisible(False) self._ui.btn_addRow.setVisible(False)
self._ui.btn_rmRow.setVisible(False) self._ui.btn_rmRow.setVisible(False)
## Gestion de retour sur le fenetre principal
def valider(self): def valider(self):
self._w.hide() self._w.hide()
self._main.showWindow() self._main.showWindow()

View File

@ -1,21 +1,31 @@
"""
Gestion de teleportation de voiture
"""
from src.m.Parking import Placement from src.m.Parking import Placement
__author__ = 'sidya'
## Gestion de teleportation de Voiture
class Teleporteur: class Teleporteur:
## Teleportation d'une voiture standars
# @param voiture Voiture a garer
# @param place Place ou garer la voiture
# @return Placement creer
@staticmethod @staticmethod
def teleporterVoiture(voiture, place): def teleporterVoiture(voiture, place):
p = Placement(None, voiture, place) p = Placement(None, voiture, place)
place.prendre() place.prendre()
return p return p
## Teleportation d'une voiture d'un superAbo
# @param voiture Voiture a garer
# @param parking Parking ou garer la voiture
# @return Placement creer
@staticmethod @staticmethod
def teleporterVoitureSuperAbonne(voiture, parking): def teleporterVoitureSuperAbonne(voiture, parking):
place = parking.addPlaceSuperAbo(parking) place = parking.addPlaceSuperAbo(parking)
p = Placement(None, voiture, place) p = Placement(None, voiture, place)
return p return p
## Teleportation de la voiture vers la sortie
# @param placement Placement de lavoiture que l'on veut sortir
@staticmethod @staticmethod
def teleporterVersSortie(placement): def teleporterVersSortie(placement):
placement.end() placement.end()

View File

@ -1,11 +1,15 @@
"""
Module de gestion de la base de Donnée Sqlite
"""
from shutil import copyfile from shutil import copyfile
import sqlite3 import sqlite3
## Classe de connexion a la bd
class connexionBDD: class connexionBDD:
__chemin = "m/BDDprojetPython.sq3" __chemin = "m/BDDprojetPython.sq3"
__sql = "m/table.sql" __sql = "m/table.sql"
## Construeur de la connexion. Initialise la bd en cas d'inexistance
def __init__(self): def __init__(self):
try: try:
with open(self.__chemin): with open(self.__chemin):
@ -19,33 +23,42 @@ class connexionBDD:
self.__conn.row_factory = sqlite3.Row self.__conn.row_factory = sqlite3.Row
self.__cur = self.__conn.cursor() self.__cur = self.__conn.cursor()
## Execute une requete avec des param
# @param req la requete a execute
# @param param un tuple contenant les donnees a inserer dans la requete
def execute(self, req, param=()): def execute(self, req, param=()):
r = None try:
# try: r = self.__cur.execute(req, param)
r = self.__cur.execute(req, param) self.__conn.commit()
self.__conn.commit() except Exception as e:
"""except Exception as e: print (e)
print (e)""" r = None
return r return r
## Id genere par la derniere requete
# @return Id genere par la derniere requete
def lastId(self): def lastId(self):
return self.__cur.lastrowid return self.__cur.lastrowid
## Deconnexion de la BD
def seDeconnecter(self): def seDeconnecter(self):
self.__cur.close() self.__cur.close()
self.__conn.close() self.__conn.close()
## Initialise la BD
def initialisationBDD(self): def initialisationBDD(self):
with open(self.__sql) as f: with open(self.__sql) as f:
sql = f.read() sql = f.read()
self.__conn.executescript(sql) self.__conn.executescript(sql)
self.__conn.commit() self.__conn.commit()
## Creer une copie de la bd
# @param path le chemin du fichier de sauvegarde de la bd
@staticmethod @staticmethod
def sauver(path): def sauver(path):
copyfile(connexionBDD.chemin, path) copyfile(connexionBDD.chemin, path)
## Charge une copie de la bd
# @param path le chemin du fichier a charger pour la bd
@staticmethod @staticmethod
def charger(path): def charger(path):
copyfile(path, connexionBDD.chemin) copyfile(path, connexionBDD.chemin)

View File

@ -1,5 +1,6 @@
""" """
Module de gestion de Log Module : Log
(Realisé dans le cadre du Projet Tuteuré 2013/2014 MI Blagnac)
""" """
import logging import logging
@ -56,9 +57,9 @@ class Log(object):
def __init__(self): def __init__(self):
""" """
Define 3 differents utils : Define 3 differents utils :
activity.utils -> all activity activity.log -> all activity
warning.utils -> only warning warning.log -> only warning
error.utils -> error error.log -> error
Write all message on terminal too Write all message on terminal too
""" """
self.logger = logging.getLogger() self.logger = logging.getLogger()
@ -84,9 +85,9 @@ class Log(object):
def printL(self, pMsg, pLvl): def printL(self, pMsg, pLvl):
""" """
Add color and write in utils with an define level Add color and write in log with an define level
pMsg : message to write in utils pMsg : message to write in log
pLvl : level of utils message pLvl : level of log message
""" """
if pLvl == lvl.DEBUG: if pLvl == lvl.DEBUG:
pMsg = bcolors.DEBUG + str(pMsg) + bcolors.ENDC pMsg = bcolors.DEBUG + str(pMsg) + bcolors.ENDC

View File

@ -1,8 +1,14 @@
"""
Module de simaultaion d'une camera
"""
import random import random
import string import string
from src.m.Voiture import Voiture from src.m.Voiture import Voiture
## Une Camera
class Camera: class Camera:
## Retourne une voiture genere aleatoirement de longueur entre 150 et 300 cm et de hauteur entre 100 et 200 cm
@staticmethod @staticmethod
def donnerVoiture(): def donnerVoiture():
v = Voiture(None, None, random.randint(150, 300), random.randint(100, 200), ''.join( v = Voiture(None, None, random.randint(150, 300), random.randint(100, 200), ''.join(

View File

@ -1,3 +0,0 @@

View File

@ -1,7 +1,12 @@
"""
Module de Gestion personnalisée d'élément Qt
"""
from PyQt4 import QtGui from PyQt4 import QtGui
## QMainWindow personnalisé
class MyQMainWindow(QtGui.QMainWindow): class MyQMainWindow(QtGui.QMainWindow):
## Ajout d'une boite de dialogue a la fermeture de la fenetre
def closeEvent(self, event): def closeEvent(self, event):
result = QtGui.QMessageBox.question(self, result = QtGui.QMessageBox.question(self,
"Confirmer Fermeture...", "Confirmer Fermeture...",
@ -11,22 +16,15 @@ class MyQMainWindow(QtGui.QMainWindow):
if result == QtGui.QMessageBox.Yes: if result == QtGui.QMessageBox.Yes:
event.accept() event.accept()
def error(self, msg):
"""
Qdialog message erreur
:return:
"""
QtGui.QMessageBox.warning(self._w,
"Erreur ...",
msg
)
## QWydget personnalisé
class MyQWidget(QtGui.QWidget): class MyQWidget(QtGui.QWidget):
## Ajout d'un controleur parent en parametre lors de la creation d'un Qwidget
def __init__(self, main): def __init__(self, main):
super(MyQWidget, self).__init__() super(MyQWidget, self).__init__()
self.__main = main self.__main = main
## Ajout d'une boite de dialogue a la fermeture de la fenetre
def closeEvent(self, event): def closeEvent(self, event):
result = QtGui.QMessageBox.question(self, result = QtGui.QMessageBox.question(self,
"Confirmer Fermeture...", "Confirmer Fermeture...",

View File

@ -1,3 +1,6 @@
"""
Module des classes d'affichage UI generés par QtDesigner pour les UI Admin
"""
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
try: try:
@ -15,7 +18,7 @@ except AttributeError:
def _translate(context, text, disambig): def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig) return QtGui.QApplication.translate(context, text, disambig)
## UI page principal d'administration
class Ui_MainWindow(object): class Ui_MainWindow(object):
def setupUi(self, MainWindow): def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow")) MainWindow.setObjectName(_fromUtf8("MainWindow"))
@ -248,7 +251,7 @@ class Ui_MainWindow(object):
self.action.setText(_translate("MainWindow", "?", None)) self.action.setText(_translate("MainWindow", "?", None))
self.actionNouveau_2.setText(_translate("MainWindow", "Nouveau", None)) self.actionNouveau_2.setText(_translate("MainWindow", "Nouveau", None))
## UI de creatoin de parking
class Ui_CreaParking(object): class Ui_CreaParking(object):
def setupUi(self, CreaParking): def setupUi(self, CreaParking):
CreaParking.setObjectName(_fromUtf8("CreaParking")) CreaParking.setObjectName(_fromUtf8("CreaParking"))

View File

@ -1,3 +1,7 @@
"""
Module des classes d'affichage UI generés par QtDesigner pour les UI Utilisateurs
"""
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
try: try:
@ -15,7 +19,7 @@ except AttributeError:
def _translate(context, text, disambig): def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig) return QtGui.QApplication.translate(context, text, disambig)
## Ui de la Borne
class Ui_Borne(object): class Ui_Borne(object):
def setupUi(self, Borne): def setupUi(self, Borne):
Borne.setObjectName(_fromUtf8("Borne")) Borne.setObjectName(_fromUtf8("Borne"))