Callback System

Code-Stücke können hier veröffentlicht werden.
Crazed
User
Beiträge: 171
Registriert: Sonntag 18. Mai 2008, 11:44

Callback System

Beitragvon Crazed » Dienstag 15. Juli 2008, 13:17

Hey,
Ich hielt es für ganze interessant sowas zu machen:

Code: Alles auswählen

#!/usr/bin/python

class CommandParser(object):
    def __init__(self):
        self.callbacks = {}
       
    def register_callback(self, command, callback):
        self.callbacks[command] = callback
       
    def parse(self, string):
        tokens = string.split()
        command = tokens[0]
       
        if self.callbacks.has_key(command):
            self.callbacks[command](tokens[1:])
            print
           
parser = CommandParser()

##############################################################################
#Define Callbacks:
def add(tokens):
    print int(tokens[0]) + int(tokens[1])

#Register Callbacks:
parser.register_callback('add', add)


##############################################################################

command = None
while command != 'exit':
    command = str(raw_input(''))
   
    if command != '':
        parser.parse(command)


Die py-irclib benutzt glaube ich so ein ähnliches System um Aufrufe an bestimmte von dir definierte Funktionen zu machen wenn ein besonderes Ereigniss eintritt.

So kann man sich seine eigene kleine "Environment" schreiben in dem man einfach seine python scripte/funktion alles andere aufrufen kann.

Man könnte auch ein config.py importieren in dem ein dictionary namens settings importiert ist etc. Je nachdem was man damit vorhat.

Und richtig cool ist es dann wenn man es in Zusammenhang mit xmlrpclib benutzt und es fernsteuern kann ;). Und dynamische Module nachladen... bla bla ^^

Ihr wisst wodrauf ich rauswill ^^. *verspielt ist*

MfG,
CracKPod

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder