|
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
-
- import sqlite3
- from utils import dessine_tableau
-
- def main():
- db = sqlite3.connect('ecole.sqlite3')
- cursor = db.cursor()
-
- cursor.execute("""CREATE TABLE IF NOT EXISTS eleves(
- ID_Eleve INTEGER PRIMARY KEY AUTOINCREMENT,
- Prenom TEXT,
- Nom TEXT);
- """)
-
- while True:
- choix = input("\nVeuillez choisir une action à réaliser [A]jouter, [L]ister, " \
- "[M]odifier, [S]upprimer, [Q]uitter : ")
-
- if choix == "":
- continue
-
- if choix[0] in 'lL':
- cursor.execute("""SELECT * FROM eleves ORDER BY ID_eleve;""")
- liste_eleves = cursor.fetchall()
- titres = ['Id', 'Prénom', 'Nom']
- dessine_tableau(liste_eleves, titres)
-
- if choix[0] in 'aA':
- prenom = input("\nVeuillez entrer un prenom : ").capitalize()
- nom = input("Veuillez entrer un nom : ").upper()
- cursor.execute("""SELECT prenom, nom FROM eleves;""")
- liste_eleves = cursor.fetchall()
- if (prenom, nom) in liste_eleves:
- print('Cet élève existe déjà !')
- elif prenom=="" or nom=="":
- print('Vous devez renseigner le nom et le prénom')
- else:
- cursor.execute("""INSERT INTO eleves(prenom, nom)
- VALUES(?,?);""",
- (prenom, nom))
- db.commit()
-
- if choix[0] in 'mM':
- id_eleve = input("Veuillez entrez l'identifiant de l'élève à modifier : ")
- cursor.execute("""SELECT prenom, nom FROM eleves WHERE ID_Eleve=?""", (id_eleve,))
- prenom, nom = cursor.fetchone()
- n_prenom = input(f"\nVeuillez entrer un prenom (actuellement {prenom}): ")
- n_nom = input(f"Veuillez entrer un nom (actuellement {nom}): ")
- if n_prenom:
- prenom = n_prenom
- if n_nom:
- nom = n_nom
- cursor.execute("""UPDATE eleves
- SET prenom=?,
- nom=?
- WHERE ID_Eleve=?;""",
- (prenom.capitalize(), nom.upper(), id_eleve))
- db.commit()
-
- if choix[0] in 'sS':
- id_eleve = input("Veuillez entrez l'identifiant de l'élève à supprimer : ")
- cursor.execute("""SELECT prenom, nom FROM eleves WHERE ID_Eleve=?""", (id_eleve,))
- prenom, nom = cursor.fetchone()
- confirmation = input(f"Confirmez-vous la suppression de {prenom} {nom} ? [O/n] : ")
- if not confirmation=='n':
- cursor.execute("""DELETE FROM eleves WHERE ID_Eleve=?""",(id_eleve,))
- db.commit()
-
- if choix[0] in 'qQ':
- break
-
- print('Bye !')
- db.close()
-
- if __name__ == '__main__':
- main()
|