From 4d1a49bee8e26dc834ec7c9174d725297dd5b3f5 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Sun, 28 Nov 2021 12:43:05 +0100 Subject: [PATCH] Added choice if you want to create a default database or not --- main.py | 18 +++++++++++++----- stock.py | 4 ++-- users.py | 4 ++-- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/main.py b/main.py index 936ceaa..858a080 100644 --- a/main.py +++ b/main.py @@ -1,16 +1,22 @@ +# Tkinter from tkinter import IntVar, Checkbutton, LabelFrame, PhotoImage, Scrollbar, Listbox, Entry, Button, Label, Frame, Tk, Toplevel from tkinter.ttk import Combobox from tkinter.messagebox import showerror, showinfo, showwarning, askyesno from tkinter.filedialog import askopenfile +# Regex from re import sub -from users import Utilisateurs # import de mon fichier pour gérer la base de donnée +# Import des fichiers pour gérer la base de donnée +from users import Utilisateurs from stock import Stock class GesMag: """Programme de Gestion d'une caise de magasin.""" - def __init__(self) -> None: + def __init__(self, presentation: bool = False) -> None: """Instancie quelques variables pour plus de clareté.""" + Utilisateurs().creationTable(presentation) # on créer la table utilisateurs si elle n'existe pas déjà + Stock().creationTable(presentation) # on créer la table du stock si elle n'existe pas déjà + self.parent = Tk() # fenêtre affiché à l'utilisateur self.parent.resizable(False, False) # empêche la fenêtre d'être redimensionnée self.f = Frame(self.parent) # `Frame` affiché à l'écran @@ -20,8 +26,6 @@ class GesMag: def demarrer(self) -> None: """Lance le programme GesMag.""" self.font = ("Comfortaa", 14) # police par défaut - Utilisateurs().creationTable() # on créer la table utilisateurs si elle n'existe pas déjà - Stock().creationTable() # on créer la table du stock si elle n'existe pas déjà self._interfaceConnexion() # on créer la variable `self.f` qui est la frame a affiché self.f.grid() # on affiche la frame @@ -730,4 +734,8 @@ class GesMag: if __name__ == "__main__": """Application "GesMag" pour le module de Programmation d'interfaces (2021-2022)""" print("-- Compte par défaut --\nNom d'utilisateur: admin\nMot de passe: P@ssword") - GesMag().demarrer() + """ + si presentation = True alors une base de donnée par défaut sera généré. + si presentation = False ou n'est même pas mentionné, alors aucune base de donnée par défaut ne sera généré. + """ + GesMag(presentation = True).demarrer() diff --git a/stock.py b/stock.py index 178e463..01e33c9 100644 --- a/stock.py +++ b/stock.py @@ -7,7 +7,7 @@ class Stock(BaseDeDonnees): def __init__(self): super().__init__(r"db.sqlite3") - def creationTable(self) -> None: + def creationTable(self, presentation: bool = False) -> None: """Créer la table qui stocker les stocks.""" requete = """ CREATE TABLE IF NOT EXISTS stocks ( @@ -21,7 +21,7 @@ class Stock(BaseDeDonnees): """ self.requete(requete) # Ajout d'un stock par défaut si aucun stock n'existe dans la base de donnée - if len(self.listeStocks()) == 0: + if len(self.listeStocks()) == 0 and presentation: # Créer un dictionnaire d'éléments pour mieux voir ce que l'on ajoute à la base de donnée defaut = { "fruits legumes": [ diff --git a/users.py b/users.py index ea1f02f..cdf2fd1 100644 --- a/users.py +++ b/users.py @@ -5,7 +5,7 @@ class Utilisateurs(BaseDeDonnees): def __init__(self): super().__init__(r"db.sqlite3") - def creationTable(self) -> None: + def creationTable(self, presentation: bool = False) -> None: """Créer la table qui stocker les utilisateurs.""" requete = """ CREATE TABLE IF NOT EXISTS utilisateurs ( @@ -24,7 +24,7 @@ class Utilisateurs(BaseDeDonnees): """ self.requete(requete) # Ajout d'un utilisateur par défaut si aucun utilisateur n'existe dans la base de donnée - if len(self.listUtilisateurs()) == 0: + if len(self.listUtilisateurs()) == 0 and presentation: self.ajoutUtilisateur( pseudo="admin", passe="P@ssword",