Commit 430e0729 authored by Francois Mares's avatar Francois Mares
Browse files

Replace Admin.py

parent 31be7b10
......@@ -2,12 +2,19 @@ import psycopg2
from SQL import SQL
'''
Compétances :
- la maintenance de la BDD
- gère les gares, les lignes de trains, les trains et leurs itinéraires;
- obtenir des statistiques sur le fonctionnement de la société : taux de remplissage des trains, gares les plus fréquentées, les lignes les plus empruntées, etc.
'''
class Admin(SQL):
def __init__(self,HOST=None, DATABASE=None, PASSWORD=None, USER=None):
super().__init__(HOST, DATABASE, PASSWORD, USER)
# PROTECTED
# MAINTENANCE BDD
def _creation_bdd(self):
self._execute_sql("../SQL/TABLE.sql")
......@@ -17,6 +24,155 @@ class Admin(SQL):
def _suppression_bdd(self):
self._execute_sql("../SQL/DELETE.sql")
# AJOUTS DE TABLE
def ajouter_ville(self,nom_ville):
self._insert_into("Ville",[nom_ville])
def ajouter_gare(self,id_gare, nom_gare, nom_ville, adresse, zone_horaire):
if id_gare==None:
self._insert_into("Gare(nom_gare, nom_ville, adresse, zone_horaire)", [nom_gare, nom_ville, adresse, zone_horaire])
else:
self._insert_into("Gare(id_gare, nom_gare, nom_ville, adresse, zone_horaire)", [id_gare, nom_gare, nom_ville, adresse, zone_horaire])
def ajouter_ligne(self,id_ligne, nom_ligne, origine, terminus):
self._insert_into("Ligne",[id_ligne, nom_ligne, origine, terminus])
def ajouter_train(self, numero, type_train, places_max, premiere_class, vitesse_max):
self._insert_into("Train", [numero, type_train, places_max, premiere_class, vitesse_max])
def ajouter_arret(self, jour):
self._insert_into("Calendrier",[jour])
def ajouter_horaires(self, id_horaires, id_train, arrivee_gare, depart_gare, arret, date_horaires, jour, type_horaire, type_except):
self._insert_into("Horaires(id_horaires, id_train, arrivee_gare, depart_gare, arret, date_horaires, jour, type_horaire, type_except)",[id_horaires, id_train, arrivee_gare, depart_gare, arret, date_horaires, jour, type_horaire, type_except])
def ajouter_voyageur(self, id_voyageur, nom, prenom, adresse, tel, id_carte, status_voyageur, type_voyageur):
self._insert_into("Voyageur(id_voyageur, nom, prenom, adresse, tel, id_carte, status_voyageur, type_voyageur)", [id_voyageur, nom, prenom, adresse, tel, id_carte, status_voyageur, type_voyageur])
def ajouter_billet(self, prix, paiement, assurance, id_voyageur):
self._insert_into("Billet(prix, paiement, assurance, id_voyageur)", [prix, paiement, assurance, id_voyageur])
def ajouter_trajet(self, id_billet, numero_place, duree, horaire_depart, horaire_arrivee):
self._insert_into("Trajet(id_billet, numero_place, duree, horaire_depart, horaire_arrivee)", [id_billet, numero_place, duree, horaire_depart, horaire_arrivee])
# STATISTIQUES
# SCRIPTS MENU
def _script_rechercher_correspondance(self):
print("ville_depart << ")
ville_depart=input()
print("ville_arrivee << ")
ville_arrivee=input()
self.rechercher_correspondance(ville_depart, ville_arrivee)
# MAIN
def menu_gestion(self):
menu=True
while menu:
menu=False
print("\n=============== MENU GESTION (ADMIN) ===============")
print("1 >> ajouter ville")
print("2 >> ajouter gare")
print("\n Autre entrée >> quitter le menu")
choice=input()
if choice == '1':
print("nom_ville=")
self.ajouter_ville(input())
menu=True
if choice == '2':
print("id_gare= (enter -> automatic value)")
tmp=input()
if tmp=="":
id_gare=None
else:
id_gare=int(tmp)
print("nom_ville=")
nom_ville=input()
print("nom_gare= (enter -> gare de %s" % nom_ville)
tmp=input()
if tmp=="":
nom_gare="Gare de "+nom_ville
else:
nom_gare=tmp
print("adresse=")
adresse=input()
print("zone_horaire= (enter -> 0")
tmp=input()
if tmp=="":
zone_horaire=int(0)
else:
zone_horaire=int(tmp)
print(id_gare)
print(zone_horaire)
self.ajouter_gare(id_gare, nom_gare, nom_ville, adresse, zone_horaire)
menu=True
def menu(self):
menu=True
while menu:
menu=False
print("\n=============== MENU ADMIN ===============")
print("1 >> Création BDD (TABLE.SQL)")
print("2 >> Insertions BDD (DATA.sql)")
print("3 >> Suppression BDD (DELETE.sql)")
print("- -- - -- - -- - -- - -- - -- - -")
print("4 >>>> MENU gestion du réseau")
print("5 >>>> MENU statistiques")
print("\n Autre entrée >> quitter le menu")
choice=input()
if choice == '1':
self._creation_bdd()
menu=True
if choice == '2':
self._insertions_bdd()
menu=True
if choice == '3':
self._suppression_bdd()
menu=True
if choice == '4':
self.menu_gestion()
menu=True
if choice == '5':
self.menu_statistiques()
menu=True
def __main__(self):
self.menu()
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment