Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Aures Discussion :

Aures client plugins (Jython)


Sujet :

Aures

  1. #1
    Membre averti
    Aures client plugins (Jython)
    Bonjour.

    Je viens de découvrir http://www.jython.org/Project/
    Et aprés avoir parcouru la documentation j'ai décidé de m'en servir pour le système de plugin du client d'Aures.
    Comme dit dans la présentation le serveur aussi utilisera un système de plugin Python.

    Pourquoi des plugins en python ?
    - Simple à lire/écrire
    - Pas besoin de formation. Juste un minimum de connaissances en programmation
    - Rapidité de programmation. En effet, pondre un plugin quelconque en Python se fait relativement vite.
    - Tout aussi portable !

    Note: Toute fois je précise que dans le cas présent le client ne sera pas porté pour windows ou autre, il ne fonctionnera que sur les plateformes qui supportent Java-gnome
    Compil your life guy!
    The Aures Project

  2. #2
    Membre averti
    Bon j'avais du temps à tuer alors je me suis amusé à faire le plugin loader dans un projet à part et voilà à quoi va ressembler un plugin d'Aures:

    Code python :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    from aures.plugins import sysPlugin
     
    __PLUGIN_NAME__         = 'Da plugin'
    __PLUGIN_VERSION__  = "1.0"
    __PLUGIN_AUTHOR__       = "Goundy"
    __PLUGIN_DATE__         = "00/00/0000"
    __PLUGIN_DESC__         = "This plugin just rox"
     
     
    def aures_init (Self):
            sysPlugin.addHook (Self, 'HOOK_ON_RECEIVE', 'hooked')
            sysPlugin.addHook (Self, 'HOOK_AFTER_PARSE', 'hooked2')
            sysPlugin.print('Init of Di Insekt\n')
     
    def aures_clean():
            sysPlugin.removeHook ('HOOK_ON_RECEIVE', 'hooked');
            sysPlugin.removeHook ('HOOK_AFTER_PARSE', 'hooked2');
     
    def hooked():
            print "I hook the on receive"
     
    def hooked2():
            print "I hook the after parse"


    Le code source est déjà présent dans le repository launchpad
    Compil your life guy!
    The Aures Project