コード例 #1
0
 def test_update_success(self):
     """Test a successful update of a password"""
     ret = True
     try:
         with patch_args(subparser_name='update',
                         identity='r3',
                         nopassphrase='true',
                         pwname='gentest'):
             with mock.patch.object(builtins, 'input', lambda _: 'y'):
                 with mock.patch.object(getpass, 'getpass', lambda _: 'y'):
                     update.Update(cli.Cli())
     except DecryptionError:
         ret = False
     self.assertTrue(ret)
コード例 #2
0
ファイル: pkinterface.py プロジェクト: olcf/pkpass
    def __init__(self):
        ####################################################################
        """Intialization function for class. Register all subcommands"""
        ####################################################################
        # Hash of registered subparser actions, mapping string to actual subparser
        self.actions = {}
        home = path.expanduser("~")
        defaultrc = None
        for file in [".pkpassrc", ".pkpassrc.yml", ".pkpassrc.yaml"]:
            if path.isfile(path.join(home, file)):
                defaultrc = path.join(home, file)
        if not defaultrc:
            defaultrc = path.join(home, ".pkpassrc")
        self.parser = ArgumentParser(description="Public Key Password Manager")
        self.parser.set_default_subparser = set_default_subparser
        self.parser.add_argument(
            "--config",
            type=str,
            help=
            "Path to a PKPass configuration file.  Defaults to '~/.pkpassrc{,.yml,.yaml}'",
            default=defaultrc,
        )
        self.parser.add_argument("--debug",
                                 action="store_true",
                                 help="Errors are more verbose")
        self.subparsers = self.parser.add_subparsers(help="sub-commands",
                                                     dest="subparser_name")

        card.Card(self)
        clip.Clip(self)
        create.Create(self)
        delete.Delete(self)
        distribute.Distribute(self)
        export.Export(self)
        generate.Generate(self)
        pkimport.Import(self)
        info.Info(self)
        pklist.List(self)
        listrecipients.Listrecipients(self)
        modify.Modify(self)
        recover.Recover(self)
        rename.Rename(self)
        show.Show(self)
        populate.Populate(self)
        update.Update(self)
        verifyinstall.VerifyInstall(self)
コード例 #3
0
ファイル: interpreter.py プロジェクト: josephvoss/pkpass
    def __init__(self, args, recipients_database):
        ####################################################################
        Cmd.__init__(self)
        # Hash of registered subparser actions, mapping string to actual subparser
        self.actions = {}
        self.parser = argparse.ArgumentParser(
            description='Public Key Password Manager')

        home = os.path.expanduser("~")
        self.parser.add_argument(
            '--config',
            type=str,
            help=
            "Path to a PKPass configuration file.  Defaults to '~/.pkpassrc'",
            default=os.path.join(home, '.pkpassrc'))
        self.subparsers = self.parser.add_subparsers(help='sub-commands',
                                                     dest='subparser_name')
        self.recipients_database = recipients_database
        self.parser.error = pkparse_error

        card.Card(self)
        clip.Clip(self)
        create.Create(self)
        delete.Delete(self)
        distribute.Distribute(self)
        export.Export(self)
        generate.Generate(self)
        pkimport.Import(self)
        pklist.List(self)
        listrecipients.Listrecipients(self)
        recover.Recover(self)
        rename.Rename(self)
        show.Show(self)
        update.Update(self)

        # Hold onto args passed on the command line
        self.pre_args = args
        # manually remove interpreter from command line so that argparse doesn't try to use it
        sys.argv.remove('interpreter')
        # change our cwd so users can tab complete
        self._change_pwstore()

        # We basically need to grab the first argument and ditch it
        self.parsedargs = {}
コード例 #4
0
    def __init__(self):
        """ Intialization function for class. Register all subcommands   """
        ####################################################################
        # Hash of registered subparser actions, mapping string to actual subparser
        self.actions = {}
        home = os.path.expanduser("~")
        self.parser = argparse.ArgumentParser(
            description='Public Key Password Manager')
        self.parser.set_default_subparser = util.set_default_subparser
        self.parser.add_argument(
            '--config',
            type=str,
            help=
            "Path to a PKPass configuration file.  Defaults to '~/.pkpassrc'",
            default=os.path.join(home, '.pkpassrc'))
        self.parser.add_argument('--version',
                                 action='store_true',
                                 help='Show the version of PkPass and exit')
        self.subparsers = self.parser.add_subparsers(help='sub-commands',
                                                     dest='subparser_name')

        card.Card(self)
        clip.Clip(self)
        create.Create(self)
        delete.Delete(self)
        distribute.Distribute(self)
        export.Export(self)
        generate.Generate(self)
        pkimport.Import(self)
        interpreter.Interpreter(self)
        pklist.List(self)
        listrecipients.Listrecipients(self)
        recover.Recover(self)
        rename.Rename(self)
        show.Show(self)
        update.Update(self)

        self.parser.set_default_subparser(self.parser, name='interpreter')
        self.parsedargs = self.parser.parse_args()
        if 'version' in self.parsedargs and self.parsedargs.version:
            print(util.show_version())
        else:
            self.actions[self.parsedargs.subparser_name].run(self.parsedargs)
コード例 #5
0
ファイル: pkinterface.py プロジェクト: Tubbz-alt/pkpass
    def __init__(self):
        """ Intialization function for class. Register all subcommands   """
        ####################################################################
        # Hash of registered subparser actions, mapping string to actual subparser
        self.actions = {}
        home = path.expanduser("~")
        self.parser = ArgumentParser(description='Public Key Password Manager')
        self.parser.set_default_subparser = util.set_default_subparser
        self.parser.add_argument(
            '--config',
            type=str,
            help=
            "Path to a PKPass configuration file.  Defaults to '~/.pkpassrc'",
            default=path.join(home, '.pkpassrc'))
        self.parser.add_argument('--debug',
                                 action='store_true',
                                 help="Errors are more verbose")
        self.subparsers = self.parser.add_subparsers(help='sub-commands',
                                                     dest='subparser_name')

        card.Card(self)
        clip.Clip(self)
        create.Create(self)
        delete.Delete(self)
        distribute.Distribute(self)
        export.Export(self)
        generate.Generate(self)
        pkimport.Import(self)
        info.Info(self)
        pklist.List(self)
        listrecipients.Listrecipients(self)
        modify.Modify(self)
        recover.Recover(self)
        rename.Rename(self)
        show.Show(self)
        update.Update(self)
        verifyinstall.VerifyInstall(self)