Certbot 插件开发 - 如何获取命令行参数

Certbot pluging development - How to get command line arguments

我正在为 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方法来自IPlugin接口。在该方法中,我们可以定义插件需要的参数并对其进行描述。 然后可以像 perform 函数那样使用它