main.py 5.54 KB
Newer Older
Louis Lechevalier's avatar
Louis Lechevalier committed
1
import psycopg2
2
import fonction
Louis Lechevalier's avatar
Louis Lechevalier committed
3
4

HOST = "tuxa.sme.utc"
5
6
7
USER = "nf18p013"#"nf18p008"
PASSWORD = "XLFuujH5"#"IeBhD9xe"
DATABASE = "dbnf18p013"
Louis Lechevalier's avatar
Louis Lechevalier committed
8
9
10
11
12
# Open connection
conn = psycopg2.connect("host=%s dbname=%s user=%s password=%s" % (HOST, DATABASE, USER, PASSWORD))
# Open a cursor to send SQL commands
cur = conn.cursor()

13

Louis Lechevalier's avatar
Louis Lechevalier committed
14
15
16
17

#menu

x=0
18
while (x != 25):
Pierre-Guerin's avatar
Pierre-Guerin committed
19
    print(" ")
20
    print("0/ insertion automatique de donnees")
Louis Lechevalier's avatar
Louis Lechevalier committed
21
22
23
24
25
26
27
28
29
30
31
32
33
34
    print("1/ Ajouter un abonné")
    print("2/ Ajouter un occasionnel")
    print("3/ Supprimer un abonné")
    print("4/ Renouveler abonnement")
    print("5/ Ajouter zone")
    print("6/ Ajouter parking")
    print("7/ Modifier le tarif d'une zone")
    print("8/ Visualiser la liste des abonnés")
    print("9/ Visualiser le nombre de places dispos dans un parking")
    print("10/ Renvoyer le nombre de places prises par abonne/ticket/automate")
    print("11/ Modifier la zone d'un parking ")
    print("12/ Créer une réservation abonné")
    print("13/ Créer une réservation occasionnel")
    print("14/ Mettre à jour les réductions fidélité")
Pierre-Guerin's avatar
Pierre-Guerin committed
35
36
    print("15/ Statistiques des tiquets pris sur un parking Particulier")
    print("16/ Statistiques des tiquets pris sur l'ensemble parking")
Pierre-Guerin's avatar
Pierre-Guerin committed
37
38
39
    print("17/ Nombre d'abonne")
    print("18/ Nombre d'occasionnel")
    print("19/ Nombre total d'utilisateur différents")
40
41
42
43
44
    print("20/ Nombre de 2 roues enregistrés")
    print("21/ Nombre de camions enregistrés")
    print("22/ Nombre de véhicules simples enregistrés")
    print("23/ Creer/Reinitialiser la BDD")
    print("24/ Supprimer la BDD")
45
    print("25/ QUITTER")
Pierre-Guerin's avatar
Pierre-Guerin committed
46
    print(" ")
Louis Lechevalier's avatar
Louis Lechevalier committed
47

48
49
50
51
    x=int(input("Quelle option ? "))
    
    if x==0:
        data: str = ""
52
        with open("Insert.sql","r") as f:
53
54
55
56
            for l in f:
                data+=l
        cur.execute(data)
        conn.commit()
57
58
        print("donnees inserees \n\n")
        
59
    elif x==1 :
60
        qst=int(input("etes vous déja venu ? oui : 1, non : 2"))
Louis Lechevalier's avatar
Louis Lechevalier committed
61
        if qst==1:
Pierre-Guerin's avatar
Pierre-Guerin committed
62
            fonction.supprimerOccasionnel(conn)
63
        fonction.ajouterAbonne(conn,25)
Louis Lechevalier's avatar
Louis Lechevalier committed
64
65
66
        

    elif x==2:
67
        fonction.ajouterOccasionnel(conn)
Louis Lechevalier's avatar
Louis Lechevalier committed
68
69

    elif x==3:
70
        mail=input("adresse mail de l'abonne à supprimer :")
71
        fonction.supprimerAbonne(conn,mail)
Louis Lechevalier's avatar
Louis Lechevalier committed
72
73

    elif x==4:
74
        idAbo=int(input("Quel est le numero d'identifiant de l'abonné dont il faut renouveler l'abonnement ?"))
75
        fonction.renouvelerAbonnement(conn, idAbo)
Louis Lechevalier's avatar
Louis Lechevalier committed
76
77
78

    elif x==5:
        nomZone=input("Quel est le nom de la nouvelle zone ?")
79
        prixZone=float(input("Quel est le prix associé à la zone ?"))
80
        fonction.ajouterZone(conn, nomZone, prixZone)
Louis Lechevalier's avatar
Louis Lechevalier committed
81
82

    elif x==6:
83
        fonction.ajouterParking(conn)
Louis Lechevalier's avatar
Louis Lechevalier committed
84
85
86
87

    elif x==7:
        nomZone=input("nom de la zone à modifier :")
        nouveauTarif=input("Quel est le nouveau tarif de la zone ?")
88
        fonction.modifierTarifZone(conn, nomZone, nouveauTarif)
Louis Lechevalier's avatar
Louis Lechevalier committed
89
90

    elif x==8:
91
        fonction.listeAbonne(conn)
Louis Lechevalier's avatar
Louis Lechevalier committed
92
93

    elif x==9:
Pierre-Guerin's avatar
Pierre-Guerin committed
94
        fonction.nbPlacesDansParking(conn)
Louis Lechevalier's avatar
Louis Lechevalier committed
95
96

    elif x==10:
Pierre-Guerin's avatar
Pierre-Guerin committed
97
        fonction.nombrePlacesPrises(conn)
Louis Lechevalier's avatar
Louis Lechevalier committed
98
99
100
    

    elif x==11:
101
        parking=input("nom du parking à modifier :")
Louis Lechevalier's avatar
Louis Lechevalier committed
102
        zone=input("zone à attribuer au parking :")
103
        fonction.modifierZoneParking(conn,parking,zone)
Louis Lechevalier's avatar
Louis Lechevalier committed
104
105

    elif x==12:
106
        date=input("date de la réservation (YYYY-MM-DD)")
107
108
        choix=int(input("Abonne : 1 | Guichet : 2 | Automate : 3 "))
        if choix==1:
Louis Lechevalier's avatar
Louis Lechevalier committed
109
            typeFournisseurPlace="abonne"
110
        elif choix==2:
Louis Lechevalier's avatar
Louis Lechevalier committed
111
            typeFournisseurPlace="guichet"
112
        elif choix==3:
Louis Lechevalier's avatar
Louis Lechevalier committed
113
            typeFournisseurPlace="automate"
114
        compte=input("Quel est l'email du compte ?")
115
116
        choix=int(input("Camion : 1 | Deux roues : 2 | Vehicule simple : 3 "))
        if choix==1:
Louis Lechevalier's avatar
Louis Lechevalier committed
117
            typeVehicule="camion"
118
        elif choix==2:
Louis Lechevalier's avatar
Louis Lechevalier committed
119
            typeVehicule="2 roues"
120
        elif choix==3:
Louis Lechevalier's avatar
Louis Lechevalier committed
121
            typeVehicule="vehicule simple"
122
        nomParking=input("Quel est le nom du parking concerne par la réservation?")
123
        fonction.reservationAbonne(conn, date, typeFournisseurPlace, compte, typeVehicule, nomParking)
Louis Lechevalier's avatar
Louis Lechevalier committed
124
125
126

        
    elif x==13:
127
        date=input("date de la réservation (YYYY-MM-DD)")
128
129
        choix=int(input("Abonne : 1 | Guichet : 2 | Automate : 3 "))
        if choix==1:
Louis Lechevalier's avatar
Louis Lechevalier committed
130
            typeFournisseurPlace="abonne"
131
        elif choix==2:
Louis Lechevalier's avatar
Louis Lechevalier committed
132
            typeFournisseurPlace="guichet"
133
        elif choix==3:
Louis Lechevalier's avatar
Louis Lechevalier committed
134
135
            typeFournisseurPlace="automate"
        
136
137
        choix=int(input("Camion : 1 | Deux roues : 2 | Vehicule simple : 3 "))
        if choix==1:
Louis Lechevalier's avatar
Louis Lechevalier committed
138
            typeVehicule="camion"
139
        elif choix==2:
Louis Lechevalier's avatar
Louis Lechevalier committed
140
            typeVehicule="2 roues"
141
        elif choix==3:
Louis Lechevalier's avatar
Louis Lechevalier committed
142
            typeVehicule="vehicule simple"
143
        nomParking=input("Quel est le nom du parking concerne par la réservation?")
144
        fonction.reservationOccasionnel(conn, date, typeFournisseurPlace, typeVehicule, nomParking)
Louis Lechevalier's avatar
Louis Lechevalier committed
145
146
147


    #elif x==14:
148
    elif x==15:
Pierre-Guerin's avatar
Pierre-Guerin committed
149
150
151
152
153
154
        fonction.NbreTicketsParkingsParticulier(conn)

    elif x==16:
        fonction.NbreTicketsParkings(conn)

    elif x==17:
Pierre-Guerin's avatar
Pierre-Guerin committed
155
156
157
158
159
160
161
162
        fonction.nombreAbonne(conn)

    elif x==18:
        fonction.nombreOccasionnel(conn)

    elif x==19:
        fonction.nombreUtilisateurs(conn)

163

Pierre-Guerin's avatar
Pierre-Guerin committed
164
    elif x==20:
165
166
        fonction.nombreDeuxRouesEnregistres(conn)

Pierre-Guerin's avatar
Pierre-Guerin committed
167
    elif x==21:
168
169
170
171
172
173
        fonction.nombreCamionsEnregistres(conn)

    elif x==22:
        fonction.nombreVSEnregistres(conn)

    elif x==23:
174
175
176
177
178
179
180
        #create bdd
        bdd:str = ""
        with open("CREATE.sql","r") as f:
            for l in f:
                bdd+=l
        cur.execute(bdd)
        conn.commit()
181
    
182
    elif x==24:
183
        fonction.supprimerBDD(conn)
184
185