> Mi sembra di capire che tu fai execfile per sfruttare gli effetti secondari > delle istruzioni eseguite. Se posso, ti suggerisco di creare dei moduli > plugin che definiscano unicamente una funzione. Puoi "caricare" tutti i > plugin all'avvio del programma o ad un certo evento e poi usare le funzioni > dove servono. > > Puoi definire ad esempio che ogni plugin debba esportare una funzione > handle_<qualcosa> con una signature prefissata - diciamo (self, > server_response). All'atto di caricare i plugin puoi fare (untested, e > senza error handling): > > env = {} > execfile(my_file, env) > > for k, v in env.iteritems(): > if k.startswith('handle_'): > register_plugin(v) > break > else: > complain("no plugin in this file")
Non ho ben capito. Scusate la mia niubbagine, ma sono da pochi mesu su python ed è il primo linguaggio che "studio". Mi stai dicendo di creare un'unica funzione all'interno di ogni modulo e importare tutti i moduli all'avvio, dopodichè chiamare la funzione anzichè il modulo? e cosa dovrei passare all'argomento self della funzione? Un'istanza di Rule? Andrei in perdita dal punto di vista delle prestazioni facendo così? > Se i plugin hanno la possibilita' di poter intervenire in diverse fasi del > tuo processo, potresti definire una classe BasePlugin fornita dei diversi > hook e implementare gli hook desiderati in ogni plugin. Questa frase non l'ho capita proprio del tutto.. Scusa ancora per la mia niubbagine, grazie per le risposte _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python