From a78770d3e74e29522a0a29f04ba2757fc8f8704d Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 30 Jun 2012 12:20:41 +0200 Subject: [PATCH] Add option to export secret keys. --- python/pakfire/api.py | 4 ++-- python/pakfire/cli.py | 5 ++++- python/pakfire/keyring.py | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/python/pakfire/api.py b/python/pakfire/api.py index 5203c5fdb..372e4d544 100644 --- a/python/pakfire/api.py +++ b/python/pakfire/api.py @@ -145,10 +145,10 @@ def key_import(keyfile, **pakfire_args): return pakfire.keyring.import_key(keyfile) -def key_export(keyid, keyfile, **pakfire_args): +def key_export(keyid, keyfile, secret=False, **pakfire_args): pakfire = Pakfire(**pakfire_args) - return pakfire.keyring.export_key(keyid, keyfile) + return pakfire.keyring.export_key(keyid, keyfile, secret=secret) def key_delete(keyid, **pakfire_args): pakfire = Pakfire(**pakfire_args) diff --git a/python/pakfire/cli.py b/python/pakfire/cli.py index 05a8c6edf..a808975d5 100644 --- a/python/pakfire/cli.py +++ b/python/pakfire/cli.py @@ -1220,6 +1220,8 @@ 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): @@ -1275,8 +1277,9 @@ class CliKey(Cli): def handle_export(self): keyid = self.args.keyid[0] filename = self.args.filename[0] + secret = self.args.secret - pakfire.key_export(keyid, filename, **self.pakfire_args) + pakfire.key_export(keyid, filename, secret=secret, **self.pakfire_args) def handle_delete(self): keyid = self.args.keyid[0] diff --git a/python/pakfire/keyring.py b/python/pakfire/keyring.py index 8fe052e9b..d1f46261e 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): + def export_key(self, keyid, keyfile, secret=False): keydata = io.BytesIO() - self.ctx.export(keyid, keydata) + self.ctx.export(keyid, keydata, secret) f = open(keyfile, "wb") f.write(keydata.getvalue()) -- 2.39.5