我正在注册 pysvn.Client.callback_get_login callback ,但我希望我的回调在我的类下定义为方法,而不是全局函数。
所以,在我的类里面,我想要这样的东西:
self.client = pysvn.Client()
self.client.callback_get_login = self.get_login
改为:
self.client = pysvn.Client()
self.client.callback_get_login = get_login
但是在第一个片段中我遇到了错误:
pysvn._pysvn_2_7.ClientError: unhandled exception in callback_get_login
有没有办法在类中分配回调?
最佳答案
我遇到了同样的问题并通过为我的登录函数创建一个闭包来解决它:
class DummyClient:
def __init__(self):
def callback_get_login(realm, username, may_save):
name = raw_input("Enter your svn login : ")
password = getpass.getpass("Enter your svn password :")
return True, name, password, False
self.client.callback_get_login = callback_get_login
关于类内的 Python 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8472299/