From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id CA3A3139085 for ; Sat, 24 Dec 2016 09:13:55 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 84AFA2340EE; Sat, 24 Dec 2016 09:13:31 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 4D9232340EE for ; Sat, 24 Dec 2016 09:13:26 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id DAE533413AD for ; Sat, 24 Dec 2016 09:13:20 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id DBDD324F7 for ; Sat, 24 Dec 2016 09:13:16 +0000 (UTC) From: "Brian Dolbec" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Brian Dolbec" Message-ID: <1482555255.33aa21ef6e619c7776a4984370c7f01a15c0ec87.dolsen@gentoo> Subject: [gentoo-commits] proj/gentoo-keys:gsoc-2016 commit in: gkeys/gkeys/ X-VCS-Repository: proj/gentoo-keys X-VCS-Files: gkeys/gkeys/actions.py gkeys/gkeys/seedhandler.py X-VCS-Directories: gkeys/gkeys/ X-VCS-Committer: dolsen X-VCS-Committer-Name: Brian Dolbec X-VCS-Revision: 33aa21ef6e619c7776a4984370c7f01a15c0ec87 X-VCS-Branch: gsoc-2016 Date: Sat, 24 Dec 2016 09:13:16 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: ea6dacb1-4761-4f0d-be67-c2280c37fa78 X-Archives-Hash: 5bc84b0e630457e123bbc49d66cdf780 commit: 33aa21ef6e619c7776a4984370c7f01a15c0ec87 Author: aeroniero33 gmail com> AuthorDate: Tue Jun 14 20:24:08 2016 +0000 Commit: Brian Dolbec gentoo org> CommitDate: Sat Dec 24 04:54:15 2016 +0000 URL: https://gitweb.gentoo.org/proj/gentoo-keys.git/commit/?id=33aa21ef gkeys actions: Add keys updated reporting Report the updated/revoked keys during the update. Replace print() with self.output() Whitespace cleanup Create a meaningful commit message gkeys/gkeys/actions.py | 18 +++++++++++++++++- gkeys/gkeys/seedhandler.py | 23 +++++++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/gkeys/gkeys/actions.py b/gkeys/gkeys/actions.py index 3d0399a..77d39b1 100644 --- a/gkeys/gkeys/actions.py +++ b/gkeys/gkeys/actions.py @@ -115,7 +115,9 @@ class Actions(ActionBase): category_msgs.extend(messages) return (True, category_msgs) self.output('', "Fetching seeds for %s category.\n" %args.category) + success, old_gkeys = self.listseed(args) fetch_success, fetch_messages = self.fetchseed(args) + self.seeds = None if fetch_success is not True: success = False messages = fetch_messages @@ -129,7 +131,21 @@ class Actions(ActionBase): success = False else: self.output('', "Update succeeded.\n") - messages = fetch_messages + ["Update operation:"] + [install_messages] + messages = fetch_messages + [" Update operation:"] + [install_messages] + success, new_gkeys = self.listseed(args) + added_gkeys, changed_gkeys = self.seedhandler.compare_seeds(old_gkeys, new_gkeys) + self.output('', "Updated revoked GKeys:") + if changed_gkeys: + for gkey in changed_gkeys: + self.output(['', changed_gkeys]) + else: + self.output('', "No GKeys were revoked") + self.output('', "Added GKeys:") + if added_gkeys: + for gkey in added_gkeys: + self.output(['', added_gkeys]) + else: + self.output('', "No GKeys were added") return (success, messages) def addseed(self, args): diff --git a/gkeys/gkeys/seedhandler.py b/gkeys/gkeys/seedhandler.py index de2a6ad..c7dad2e 100644 --- a/gkeys/gkeys/seedhandler.py +++ b/gkeys/gkeys/seedhandler.py @@ -71,6 +71,29 @@ class SeedHandler(object): keyinfo[attr] = None return keyinfo + def compare_seeds(self, seeds1, seeds2) : + '''Compares two seed lists and returns the differences + + @param seeds1: set of seeds to be compared + @param seeds2: set of seeds to be compared + @return added_gkeys: list of keys that are included in seed2 but not seed1 + @return changed_gkeys: list of keys that are included in seed1 and seed2 but have been altered + ''' + old_gkeys = seeds1[1] + new_gkeys = seeds2[1] + changed_gkeys = [] + added_gkeys = [] + if old_gkeys: + for new_gkey in new_gkeys: + for old_gkey in old_gkeys: + if new_gkey.nick == old_gkey.nick and new_gkey != old_gkey: + changed_gkeys.append(new_gkey) + if new_gkey not in old_gkeys and new_gkey not in changed_gkeys: + added_gkeys.append(new_gkey) + else: + added_gkeys = new_gkeys + return(added_gkeys, changed_gkeys) + def load_seeds(self, seedfile=None, filepath=None, refresh=False): '''Load seed file