catsclaw wrote:
I can't for the life of me figure out how to set a callback in
Python.  I have a class, which wraps another class.  The second class
needs a callback assigned.  I don't want to use globals for it.
Here's what I'd like to do:

class MyWrapper:
    def get_login(self, username):
        return self.user, self.pass

    def __init__(self, user, pass):
        self.user = user
        self.pass = pass

        self.client = Client("connection string")
        self.client.callback_login = get_login

Make that list line:

       self.client.callback_login = self.get_login


Then you are passing a "bound" method (meaning bound to a particular instance).
The client class calls its callback_login as a normal function with parameters,
and the Wrapper get_login will be called on the proper instance of MyWrapper.

This is a very common thing for many uses, including callbacks.


Hoping I understood what you wanted correctly,
Gary Herron



... but obviously, the Client class, when it calls the callback,
doesn't pass a reference to the "self" object.  How do I do this?

-- Chris
--
http://mail.python.org/mailman/listinfo/python-list

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to