Gentoo Archives: gentoo-commits

From: Brian Dolbec <dolsen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gentoo-keys:gsoc-2016 commit in: gkeys/gkeys/
Date: Sat, 24 Dec 2016 09:13:55
Message-Id: 1482555255.33aa21ef6e619c7776a4984370c7f01a15c0ec87.dolsen@gentoo
1 commit: 33aa21ef6e619c7776a4984370c7f01a15c0ec87
2 Author: aeroniero33 <justthisthing <AT> gmail <DOT> com>
3 AuthorDate: Tue Jun 14 20:24:08 2016 +0000
4 Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
5 CommitDate: Sat Dec 24 04:54:15 2016 +0000
6 URL: https://gitweb.gentoo.org/proj/gentoo-keys.git/commit/?id=33aa21ef
7
8 gkeys actions: Add keys updated reporting
9
10 Report the updated/revoked keys during the update.
11 <rebase edit>
12 Replace print() with self.output()
13 Whitespace cleanup
14 Create a meaningful commit message
15 </edit Brian Dolbec>
16
17 gkeys/gkeys/actions.py | 18 +++++++++++++++++-
18 gkeys/gkeys/seedhandler.py | 23 +++++++++++++++++++++++
19 2 files changed, 40 insertions(+), 1 deletion(-)
20
21 diff --git a/gkeys/gkeys/actions.py b/gkeys/gkeys/actions.py
22 index 3d0399a..77d39b1 100644
23 --- a/gkeys/gkeys/actions.py
24 +++ b/gkeys/gkeys/actions.py
25 @@ -115,7 +115,9 @@ class Actions(ActionBase):
26 category_msgs.extend(messages)
27 return (True, category_msgs)
28 self.output('', "Fetching seeds for %s category.\n" %args.category)
29 + success, old_gkeys = self.listseed(args)
30 fetch_success, fetch_messages = self.fetchseed(args)
31 + self.seeds = None
32 if fetch_success is not True:
33 success = False
34 messages = fetch_messages
35 @@ -129,7 +131,21 @@ class Actions(ActionBase):
36 success = False
37 else:
38 self.output('', "Update succeeded.\n")
39 - messages = fetch_messages + ["Update operation:"] + [install_messages]
40 + messages = fetch_messages + [" Update operation:"] + [install_messages]
41 + success, new_gkeys = self.listseed(args)
42 + added_gkeys, changed_gkeys = self.seedhandler.compare_seeds(old_gkeys, new_gkeys)
43 + self.output('', "Updated revoked GKeys:")
44 + if changed_gkeys:
45 + for gkey in changed_gkeys:
46 + self.output(['', changed_gkeys])
47 + else:
48 + self.output('', "No GKeys were revoked")
49 + self.output('', "Added GKeys:")
50 + if added_gkeys:
51 + for gkey in added_gkeys:
52 + self.output(['', added_gkeys])
53 + else:
54 + self.output('', "No GKeys were added")
55 return (success, messages)
56
57 def addseed(self, args):
58
59 diff --git a/gkeys/gkeys/seedhandler.py b/gkeys/gkeys/seedhandler.py
60 index de2a6ad..c7dad2e 100644
61 --- a/gkeys/gkeys/seedhandler.py
62 +++ b/gkeys/gkeys/seedhandler.py
63 @@ -71,6 +71,29 @@ class SeedHandler(object):
64 keyinfo[attr] = None
65 return keyinfo
66
67 + def compare_seeds(self, seeds1, seeds2) :
68 + '''Compares two seed lists and returns the differences
69 +
70 + @param seeds1: set of seeds to be compared
71 + @param seeds2: set of seeds to be compared
72 + @return added_gkeys: list of keys that are included in seed2 but not seed1
73 + @return changed_gkeys: list of keys that are included in seed1 and seed2 but have been altered
74 + '''
75 + old_gkeys = seeds1[1]
76 + new_gkeys = seeds2[1]
77 + changed_gkeys = []
78 + added_gkeys = []
79 + if old_gkeys:
80 + for new_gkey in new_gkeys:
81 + for old_gkey in old_gkeys:
82 + if new_gkey.nick == old_gkey.nick and new_gkey != old_gkey:
83 + changed_gkeys.append(new_gkey)
84 + if new_gkey not in old_gkeys and new_gkey not in changed_gkeys:
85 + added_gkeys.append(new_gkey)
86 + else:
87 + added_gkeys = new_gkeys
88 + return(added_gkeys, changed_gkeys)
89 +
90 def load_seeds(self, seedfile=None, filepath=None, refresh=False):
91 '''Load seed file