Wrap Callback Function To Include Extra Argument When Caller Verifies Exact Callback Signature
I'm trying to bind multiple callback functions across multiple properties with code that looks something like: for key in keys:     def callback(self, value):         #Do stuff...
Solution 1:
I would create a callback generator that takes your parameters (such as key) and creates your callbacks.
>>>defcallback_generator(key):...defcallback(self, value):...        do_something_with(key, value)...return callback...>>>for key in keys:...    doSomething(callback_generator(key))...Solution 2:
Minutes after I figured out that I can create a function inside the for loop to get a new stack frame. This unfortunately does not seem at all Pythonic...
forkeyin keys:
    def dummyForStackFrame(key): #Extra functiontoget a new stack frame withkey
        def wrappedCallback(self, value):
            realCallback(self, key, value)
            return None
        doSomething(wrappedCallback
    dummyForStackFrame(key)
Post a Comment for "Wrap Callback Function To Include Extra Argument When Caller Verifies Exact Callback Signature"