Разработка плагинов Certbot - Как получить аргументы командной строки - PullRequest
0 голосов
/ 02 июля 2019

Я разрабатываю плагин для 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()

1 Ответ

0 голосов
/ 02 июля 2019
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 функция использует его

...