I use this module to enable me to write the execute and get_stack_bump methods for the ops module despite the latter being autogenerated.
(Gruntle: I wouldn't need this if Python had multimethods).
Let's have ahopefully illustrative example. Suppose the file ``foo_methods'' contains:
CLASS_1: return "one", arg CLASS_2: return "two", arg
then the code
from bytecodehacks.code_gen.method_spec import MethodSpecifier m = MethodSpecifier("foo_methods") m.set_template("""\ def foo(self,arg): %s""") print "the whole method from CLASS_1:" print m.get_method("CLASS_1") print "just the method body from CLASS_2:" print m.get_method_body("CLASS_2")
yields the output
the whole method from CLASS_1: def foo(self,arg): return "one", arg just the method body from CLASS_2: return "two", arg
Send comments to mwh@python.net