Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1752 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  gerer des plugins avec python.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

gerer des plugins avec python.

n°674818
Lunatik3
Serial nounours
Posté le 16-03-2004 à 10:21:47  profilanswer
 

Salut.
 
je doit faire un moteur de plugins sous python, mais j'ai du mal a voir comment je peux faire. Un prof m'as dis que cela pouvais ce gerer assez simplement. mais comme je ne peux pas le voir dans l'immedia, je m'adresse a vous. En faite j'etais partie sur ce principe:  

Code :
  1. Moteur de plug-in: analyse
  2. Il s'agit de creer une interface qui permet d'ajouter des fonctionnalité au programme
  3. Principe de fonctionnement
  4. Le principe est le suivant. les fichier de plug-in sont tous stockés dans le même dossier. Au démarage du programme, le moteur lit le nom de chaque fichier. Et à partir de ces noms, créer des objets heritant de InterfacePlugIn. ces objets, une fois creer,sont stocker dans une structure de donnée encore à definir. Ainsi stockerils ont deviennes facile à manipuler.
  5. Les problemes pouvant etre rencontré.
  6. Il est possible que ce systeme de recuperation des objets PlugIn: il faudrais alors chercher un autre system de fonctionnement. Il reste a verifier s'il n'y a pas une meilleur methode
  7. Il peut y avoir des problemes aussi au niveau de l'IHM et de son acces. c'est un point qu'il faudra éclairir
  8. Interface Moteur/plug-in
  9. creation d'une classe InterfacePlugIn, implementant les methodes ci dessous:
  10.     * getName():void => cette methode permet de recuperer le nom du plug-in
  11.     * getABCList(AllABCFile abcfile):void =>cette methode permet d'acceder à la liste de ABCFile
  12.     * setABCList():AllABCFile => cette methode permet de modifier cette liste
  13.     * getPlugInIHM(IHM ihm):void => il y a un emplacement attibué au plug-in ds l'IHM, cette methode permet d'y acceder
  14.     * setPlugInIHM():IHM => permet de modifier cette IHM
  15.     * start():void => methode qui permet de demarrer le plug-in: on peux la comparer à un main
  16.     * stop():void => methode qui arret ele plug-in (reste a verifier si c'est vraiment utile)
  17. IMPORTANT: il en peut y avoir qu'un plug-in par fichier, le nom du fichier etant l'identifiant du plug-in. ce nom de fichier doit ce retrouvé ds une des classe contenu ds le fichier. cette classe etant la classe heitant de InterfacePlugIn
  18. Classe MoteurPlugIn
  19. La classe Moteur qui va traiter les plug-in. Il y a plusieur methodes à implementer
  20.     * loadPlugIn(String pluginDirectory):boolean => cette methode permet de charger les plug-in contenu dans un dossier et de les stocker dans une structure de donnée
  21.     * getPlug(String name):void => cette methode permet d'y acceder au plug-in dont le nom est passé en parametre
  22.     * contains(String name):boolean =>cette methode permet de verifier si le plug-in avec le nom passé en parametre existe ou non.
  23.     * getPlugInList():Structure de donnée(non definit) => permet de recuperer la liste des plug-in


 
la ou je bloque en faite c'est pour charger les plugins. car je recupere le nom des fichier.py contenu dans le dossier plugins.
et avace j'aimerais creer de nouveau objet. c peu etre un peu foireux comme technique. et de toute mainere c pas ecore fait. mais enfin bon si quelqu'un a quelque chose d emieux a me proposer je suis preneur.  
 
voila merci d'avance. je ne demande pas qu'on code pour moi, mais j'aimerais avoir quelque piste sur l'algorythme a utiliser. :)

mood
Publicité
Posté le 16-03-2004 à 10:21:47  profilanswer
 

n°674844
Taz
bisounours-codeur
Posté le 16-03-2004 à 10:52:06  profilanswer
 

ben dès que t'as le nom du plugin, il te suffit de l'importer
2 facçons:
 - avec un exec, pour quoi pas dans un bac à sable, c'est mieux
 - le module imp

n°674858
Lunatik3
Serial nounours
Posté le 16-03-2004 à 11:05:26  profilanswer
 

Taz a écrit :

ben dès que t'as le nom du plugin, il te suffit de l'importer
2 facçons:
 - avec un exec, pour quoi pas dans un bac à sable, c'est mieux
 - le module imp


c'est quoi un bac a sable? et l'exec il vien faire quoi ici? :)
je regarde le module imp :)

n°674864
Taz
bisounours-codeur
Posté le 16-03-2004 à 11:13:19  profilanswer
 

renseigne toi sur exec et tu vas comprendre

n°674874
Taz
bisounours-codeur
Posté le 16-03-2004 à 11:20:40  profilanswer
 

tu as aussi __import__ je suis con, je l'ai oublié alors que c'est la voie royale

n°674876
Lunatik3
Serial nounours
Posté le 16-03-2004 à 11:23:53  profilanswer
 

Taz a écrit :

tu as aussi __import__ je suis con, je l'ai oublié alors que c'est la voie royale


 
merci beaucoup de m'avoir mis sur la voie. :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  gerer des plugins avec python.

 

Sujets relatifs
[xchat-script python] get le texte des users?[PHP] Gérer un tableau à 4 dimensions
Pourquoi python veut pas se connecter à un serveur pop???Python et le debutant
[python] fichiers de configuration.Distribution Python et WikiPython
[PYTHON/C API] Exemple simple?python et le reseau
[python] Mysql et python = Erreur :(gérer le démarrage de windows
Plus de sujets relatifs à : gerer des plugins avec python.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR