我正在为Certbot开发一个插件,在运行插件时,我需要从用户中获取一些参数。我在文档中搜索,找不到一种获取插件代码参数的方法。我的插件仅包含一个身份验证器。插件代码类似于下面的
@zope.interface.implementer(interfaces.IAuthenticator)
@zope.interface.provider(interfaces.IPluginFactory)
class Authenticator(common.Plugin):
def prepare(self):
pass
def get_chall_pref(self, domain):
return [challenges.HTTP01]
def perform(self, achalls):
param = #need to get param here
def cleanup(self, achalls):
self.reverter.recovery_routine()
class Authenticator(common.Plugin):
@classmethod
def add_parser_arguments(cls, add):
add('server-url', help='url or ip of the server')
def perform(self, achalls):
param = self.conf('server-url')
与上述代码一样,add_parser_arguments
METHD从IPlugin
接口开始。在这种方法中,我们可以定义插件需要的参数,并可以对其进行描述。然后可以使用它,因为perform
函数使用它