From 1f6c466ea7bb155c4c0a0fdfceea281b35296297 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 5 Dec 2012 23:18:02 +0100 Subject: [PATCH] Fix CLI for key management. --- python/pakfire/base.py | 4 ++++ python/pakfire/cli.py | 15 +++++++-------- python/pakfire/keyring.py | 4 ++-- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/python/pakfire/base.py b/python/pakfire/base.py index d1a5b4816..75ec5e8ac 100644 --- a/python/pakfire/base.py +++ b/python/pakfire/base.py @@ -729,3 +729,7 @@ class PakfireServer(Pakfire): # Return the new repository. return repo + + +class PakfireKey(Pakfire): + mode = "key" diff --git a/python/pakfire/cli.py b/python/pakfire/cli.py index 5c160377d..eadb99b14 100644 --- a/python/pakfire/cli.py +++ b/python/pakfire/cli.py @@ -1205,6 +1205,8 @@ class CliDaemon(Cli): class CliKey(Cli): + pakfire = base.PakfireKey + def __init__(self): self.parser = argparse.ArgumentParser( description = _("Pakfire key command line interface."), @@ -1266,8 +1268,6 @@ class CliKey(Cli): help=_("The ID of the key to export.")) sub_export.add_argument("filename", nargs=1, help=_("Write the key to this file.")) - sub_export.add_argument("--secret", action="store_true", - help=_("Export the secret key, too.")) sub_export.add_argument("action", action="store_const", const="export") def parse_command_delete(self): @@ -1313,32 +1313,31 @@ class CliKey(Cli): # Generate the key. p = self.pakfire(**self.pakfire_args) - p.key_generate(realname, email) + p.keyring.gen_key(realname, email) def handle_import(self): filename = self.args.filename[0] # Simply import the file. p = self.pakfire(**self.pakfire_args) - p.key_import(filename) + p.keyring.import_key(filename) def handle_export(self): keyid = self.args.keyid[0] filename = self.args.filename[0] - secret = self.args.secret p = self.pakfire(**self.pakfire_args) - p.key_export(keyid, filename, secret=secret) + p.keyring.export_key(keyid, filename) def handle_delete(self): keyid = self.args.keyid[0] p = self.pakfire(**self.pakfire_args) - p.key_delete(keyid) + p.keyring.delete_key(keyid) def handle_list(self): p = self.pakfire(**self.pakfire_args) - for line in p.key_list(): + for line in p.keyring.list_keys(): print line def handle_sign(self): diff --git a/python/pakfire/keyring.py b/python/pakfire/keyring.py index d1f46261e..8fe052e9b 100644 --- a/python/pakfire/keyring.py +++ b/python/pakfire/keyring.py @@ -168,9 +168,9 @@ class Keyring(object): log.info(_("Successfully imported %s.") % keyfile) - def export_key(self, keyid, keyfile, secret=False): + def export_key(self, keyid, keyfile): keydata = io.BytesIO() - self.ctx.export(keyid, keydata, secret) + self.ctx.export(keyid, keydata) f = open(keyfile, "wb") f.write(keydata.getvalue()) -- 2.39.5