class inventaire:
    def __init__(self):
        self.invent={}
        self.inventpath=""
        self.finprog=False

    def OuvreInventaire(self):
        self.InventPath=input("Indiquez le nom de l'inventaire:")
        self.invent = {}
        try:
            with open(self.InventPath, 'r') as fichier:
                for line in fichier:
                    listline=line.split(";")
                    self.invent[listline[0]]=listline[1].strip()

        except Exception as message:
            print(message)

    def AjoutMatos(self):    
        Matos=input("saisissez le type de matériel à ajouter à l'inventaire:")
        Quant=input("saisissez la quantité de ce matériel:")
        self.invent[Matos]=Quant

    def EffaceMatos(self):
        element=input("saisissez l'élément à supprimer dans l'inventaire:")        
        try:
            del self.invent[element]
        except:
            print("L'élément que vous voulez supprimer n'existe pas!")

    def ReadInventaire(self):
        for cle, valeur in self.invent.items():
            print("{} : {}".format(cle, valeur))

    def SaveInventaire(self):
        self.InventPath=input("Indiquez le nom de sauvegarde de l'inventaire:")
        with open(self.InventPath, 'w') as fichier:
            for cle, valeur in self.invent.items():
                fichier.write("{};{}".format(cle, valeur))
                fichier.write("\n")
       
    def ChoixAction(self):
        print("////////////////// INVENTAIRE MATERIEL //////////////////")
        print("appuyer sur O pour ouvrir un inventaire.")
        print("appuyer sur A pour ajouter un matériel à l'inventaire.")
        print("appuyer sur S pour supprimer un matériel de l'inventaire.")
        print("appuyer sur V pour afficher la liste de matériel.")
        print("appuyer sur E pour enregistrer l'inventaire.")
        print("appuyer sur Q pour quitter.")
        print("/////////////////////////////////////////////////////////")
        print(" ")

        while self.finprog == False:
            
            choix=input()

            # Action en fonction de l'entrée clavier:
            if choix.upper() == "O": self.OuvreInventaire()
            if choix.upper() == "A": self.AjoutMatos()            
            if choix.upper() == "V": self.ReadInventaire()            
            if choix.upper() == "S": self.EffaceMatos()
            if choix.upper() == "E": self.SaveInventaire()        
            if choix.upper() == "Q":
                print("Fin du programme")
                self.finprog = True
                
        
mon_inventaire=inventaire()
mon_inventaire.ChoixAction()
