aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraeroniero33 <justthisthing@gmail.com>2016-06-12 14:19:35 +0000
committerBrian Dolbec <dolsen@gentoo.org>2016-12-24 01:40:26 -0800
commit3dc495ebdfd31acd52d378457934aa10e9dacf64 (patch)
tree2eaf4baec2e4a145528ee5fea2c2de46449daa6a
parentCreated the update-seed function (diff)
downloadgentoo-keys-3dc495eb.tar.gz
gentoo-keys-3dc495eb.tar.bz2
gentoo-keys-3dc495eb.zip
gkeys/actions: Update the update-seed function
Update descriptions. Update operations to current library code usage. <rebase edit> Replace print() use with self.output(). Expand commit message </edit Brian Dolbec>
-rw-r--r--gkeys/gkeys/action_map.py7
-rw-r--r--gkeys/gkeys/actions.py41
2 files changed, 35 insertions, 13 deletions
diff --git a/gkeys/gkeys/action_map.py b/gkeys/gkeys/action_map.py
index 1bd0625..5433297 100644
--- a/gkeys/gkeys/action_map.py
+++ b/gkeys/gkeys/action_map.py
@@ -385,8 +385,8 @@ Found Failures:
'func': 'updateseed',
'options': ['category', 'nick', '1file', 'dest', 'signature',
'timestamp'],
- 'desc': '''Update the selected seed file(s)''',
- 'long_desc': '''Update the selected seed file(s)''',
+ 'desc': '''Update the selected seed file(s) or all categories if no arguments are given''',
+ 'long_desc': '''Update the selected seed file(s) or all categories if no arguments are given''',
'example': '''$ gkeys update-seed -C gentoo-devs
Gkey task results:
@@ -394,7 +394,8 @@ Found Failures:
Key info...............: Gentoo-Linux Gentoo-keys Project Signing Key <gkeys>, 0xA41DBBD9151C3FC7
category, nick.....: gentoo gkeys
- Update operation completed
+ Fetch operation completed
+ Completed
''',
}),
('list-seed', {
diff --git a/gkeys/gkeys/actions.py b/gkeys/gkeys/actions.py
index c75d766..b08c54c 100644
--- a/gkeys/gkeys/actions.py
+++ b/gkeys/gkeys/actions.py
@@ -1,4 +1,4 @@
-#
+
#-*- coding:utf-8 -*-
"""
@@ -96,19 +96,41 @@ class Actions(ActionBase):
messages.append("")
messages.append("Fetch operation completed")
return (False not in success, messages)
-
+
def updateseed(self, args):
- '''Updates seeds of a selected file'''
+ '''Updates seeds of a selected file or all categories if no args are given'''
self.logger.debug(_unicode("ACTIONS: updateseed; args: %s")
% _unicode(args))
+ messages = []
+ success = True
+ if not args.category:
+ '''Update all available categories'''
+ seed_categories = list(self.config.defaults['seeds'])
+ category_msgs = []
+ for seed_category in seed_categories:
+ self.seeds = None
+ custom_args = args
+ custom_args.category = seed_category
+ category_success, messages = self.updateseed(custom_args)
+ category_msgs.extend(messages)
+ return (True, category_msgs)
+ self.output('', "Fetching seeds for %s category.\n" %args.category)
fetch_success, fetch_messages = self.fetchseed(args)
if fetch_success is not True:
- return (False, fetch_messages)
- install_success, install_messages = self.installkey(args)
- if install_success is not True:
- return (False, install_messages)
- messages = fetch_messages + [install_messages]
- return (True, messages)
+ success = False
+ messages = fetch_messages
+ self.output('', "Fetch failed.\n")
+ else:
+ self.output('', "Fetch succeeded.\n")
+ self.output('', "Installing or Refreshing keys for %s category." %args.category)
+ install_success, install_messages = self.installkey(args)
+ if install_success is not True:
+ self.output('', "Update failed.\n")
+ success = False
+ else:
+ self.output('', "Update succeeded.\n")
+ messages = fetch_messages + ["Update operation:"] + [install_messages]
+ return (success, messages)
def addseed(self, args):
'''Add or replace a key in the selected seed file'''
@@ -313,7 +335,6 @@ class Actions(ActionBase):
self.gpg.set_keydir(gkey.keydir, "recv-keys")
self.gpg.set_keyseedfile()
seeds = self.gpg.seedfile.seeds
- #print(seeds)
if seeds:
self.logger.debug("ACTIONS: installkey; found installed seeds:"
"\n %s" % seeds)