from action import Action, ActionManager from catalogue import Catalogue class AfficherAction(Action): def __init__(self, catalogue): self.catalogue = catalogue def execute(self, param): # Afficher un document docNum = int(param) print(self.catalogue.getDocument()[docNum - 1].consulter()) def info(self): return "Consulter un document particulier" def help(self): return """Affiche un document du catalogue Paramètres : un entier qui correspond au numéro du document à afficher Attention, ne pas taper autre chose qu'un entier sinon ça plante ! """ ActionManager.getInstance().registerCommand("show",AfficherAction(Catalogue.getInstance()))
from action import Action, ActionManager from catalogue import Catalogue class CatalogueAction(Action): def __init__(self, catalogue): self.catalogue = catalogue def execute(self, param): index = 1 for doc in self.catalogue.getDocument(): print(str(index) + ": " + doc.getTitre()) index += 1 def info(self): return "Consulter le catalogue" def help(self): return "Consulte le catalogue, ne prend aucun paramètre" ActionManager.getInstance().registerCommand( "cat", CatalogueAction(Catalogue.getInstance()))
from catalogue import Catalogue from etatApp import EtatApp from action import ActionManager import os from documentFactory import DocumentFactoryPrincipale catalogue = Catalogue.getInstance() factory = DocumentFactoryPrincipale.getInstance() factory.loadFactoryPlugins() # Création des documents du catalogue main_dir = os.path.dirname(__file__) for file in os.listdir(main_dir + "/documents"): if file.endswith(".txt"): # On ne traite que les fichiers txt doc = factory.creerDocument(file) catalogue.ajouterDocument(doc) print(catalogue.getDocument()) # Gestion des actions actionManager = ActionManager.getInstance() actionManager.loadActionPlugins() while EtatApp.getInstance().getEtat(): # Afficher commandes dispo print("Que voulez vous faire ?") actionManager.afficherCommandesDispo() # Récupérer entrée utilisateur choix = input("Votre choix ? #> ")