我正在为Certbot开发一个插件,当他们运行该插件时,我需要从用户那里获取一些参数。我在文档中进行了搜索,找不到为插件代码添加参数的方法。我的插件仅包含一个Authenticator。插件代码类似于下面的
@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()
答案 0 :(得分:0)
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
方法来自IPlugin
界面。在该方法中,我们可以定义插件需要哪些参数,并可以对其进行描述。
然后可以将其用作perform
函数使用它