Beispiel #1
0
    def prepare_to_run_command(self, cmd):
        self.LOG.debug(f"[*] prepare_to_run_command() '{cmd.cmd_name}'")
        #
        # Process ReadTheDocs web browser request here and then
        # fall through, which also produces help output on the
        # command line. The webbrowser module doesn't seem to work
        # consistently on Ubuntu Linux, so this helps a little
        # though may be confusing when you don't get a browser opening
        # up like you expect.
        rtd_url = 'https://python-secrets.readthedocs.io/en/latest/usage.html'
        if cmd.cmd_name == 'help' and self.options.rtd:
            for line in [
                '[+] Opening online documentation for python_secrets on ReadTheDocs.',   # noqa
                '[+] If a browser does not open, make sure that you are online and/or',  # noqa
                '[+] enter the following URL in your chosen browser:',
                rtd_url,
            ]:
                self.LOG.info(line)
            print('\n\n')
            bell()
            time.sleep(3)
            # TODO(dittrich): Add more specificity
            # FYI, new= is ignored on Windows per:
            # https://stackoverflow.com/questions/1997327/python-webbrowser-open-setting-new-0-to-open-in-the-same-browser-window-does  # noqa

            webbrowser.open(rtd_url, new=0, autoraise=True)
        self.timer.start()
        os.umask(self.options.umask)
        self.LOG.debug(f"[+] using environment '{self.options.environment}'")
        self.environment = self.options.environment
        self.secrets_basedir = self.options.secrets_basedir
        # Don't output error messages when "complete" command used
        if cmd.cmd_name != 'complete':
            SecretsEnvironment.permissions_check(
                self.secrets_basedir,
                verbose_level=self.options.verbose_level,
                )
            self.secrets_file = self.options.secrets_file
            self.secrets = SecretsEnvironment(
                environment=self.environment,
                secrets_basedir=self.secrets_basedir,
                secrets_file=self.secrets_file,
                export_env_vars=self.options.export_env_vars,
                preserve_existing=self.options.preserve_existing,
                verbose_level=self.options.verbose_level,
                env_var_prefix=self.options.env_var_prefix,
                )
Beispiel #2
0
 def prepare_to_run_command(self, cmd):
     self.LOG.debug('prepare_to_run_command "{0}"'.format(cmd.cmd_name))
     self.timer.start()
     os.umask(self.options.umask)
     self.LOG.debug('using environment "{}"'.format(
         self.options.environment))
     self.environment = self.options.environment
     self.secrets_basedir = self.options.secrets_basedir
     # Don't output error messages when "complete" command used
     if cmd.cmd_name != 'complete':
         SecretsEnvironment.permissions_check(
             self.secrets_basedir,
             verbose_level=self.options.verbose_level,
         )
         self.secrets_file = self.options.secrets_file
         self.secrets = SecretsEnvironment(
             environment=self.environment,
             secrets_basedir=self.secrets_basedir,
             secrets_file=self.secrets_file,
             export_env_vars=self.options.export_env_vars,
             preserve_existing=self.options.preserve_existing,
             verbose_level=self.options.verbose_level,
             env_var_prefix=self.options.env_var_prefix,
         )