Gentoo Archives: gentoo-commits

From: Brian Dolbec <dolsen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gentoo-keys:master commit in: gkeys/gkeys/
Date: Wed, 31 Dec 2014 21:34:41
Message-Id: 1419975746.3a59f3c4f95e5136d03805049c9af638de96dde4.dolsen@gentoo.org@gentoo
1 commit: 3a59f3c4f95e5136d03805049c9af638de96dde4
2 Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
3 AuthorDate: Sun Dec 28 17:03:35 2014 +0000
4 Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
5 CommitDate: Tue Dec 30 21:42:26 2014 +0000
6 URL: http://sources.gentoo.org/gitweb/?p=proj/gentoo-keys.git;a=commit;h=3a59f3c4
7
8 gkeys: Add UpdateDbError exception usage
9
10 ---
11 gkeys/gkeys/actions.py | 2 +-
12 gkeys/gkeys/lib.py | 6 +++---
13 gkeys/gkeys/seed.py | 7 ++++++-
14 gkeys/gkeys/seedhandler.py | 11 ++++++++---
15 4 files changed, 18 insertions(+), 8 deletions(-)
16
17 diff --git a/gkeys/gkeys/actions.py b/gkeys/gkeys/actions.py
18 index 0dbdf24..2a68739 100644
19 --- a/gkeys/gkeys/actions.py
20 +++ b/gkeys/gkeys/actions.py
21 @@ -858,7 +858,7 @@ class Actions(object):
22 return (False, ["Please specify seeds type."])
23 self.logger.debug("ACTIONS: refreshkey; args: %s" % str(args))
24 handler = SeedHandler(self.logger, self.config)
25 - seeds = handler.load_category(args.category)
26 + seeds = handler.load_category(args.category, refresh=True)
27 keyring = self.config.get_key('keyring')
28 catdir = os.path.join(keyring, args.category)
29 self.logger.debug("ACTIONS: refreshkey; catdir = %s" % catdir)
30
31 diff --git a/gkeys/gkeys/lib.py b/gkeys/gkeys/lib.py
32 index f8e6615..724abfc 100644
33 --- a/gkeys/gkeys/lib.py
34 +++ b/gkeys/gkeys/lib.py
35 @@ -189,7 +189,7 @@ class GkeysGPG(GPG):
36 self.set_keyserver()
37 self.set_keydir(gkey.keydir, 'refresh-keys', reset=True)
38 self.set_keyring('pubring.gpg', 'refresh-keys', reset=False)
39 - self.set_keyseedfile()
40 + self.set_keyseedfile(refresh=True)
41 logger.debug("LIB: refresh_key, gkey: %s" % str(gkey))
42 logger.debug("** Calling runGPG with Running 'gpg %s --refresh-keys' for: %s"
43 % (' '.join(self.config.get_key('tasks', 'refresh-keys')), str(gkey)))
44 @@ -325,11 +325,11 @@ class GkeysGPG(GPG):
45 return results
46
47
48 - def set_keyseedfile(self, trap_errors=True):
49 + def set_keyseedfile(self, trap_errors=True, refresh=False):
50 if not self.keydir:
51 logger.debug("GkeysGPG.set_keyseedfile(); self.keydir error")
52 self.seedfile = Seeds(pjoin(self.keydir, 'gkey.seeds'), self.config)
53 - self.seedfile.load(trap_errors=trap_errors)
54 + self.seedfile.load(trap_errors=trap_errors, refresh=refresh)
55
56
57 def sign_file(self, gkey, mode, fingerprint, filepath):
58
59 diff --git a/gkeys/gkeys/seed.py b/gkeys/gkeys/seed.py
60 index 67354f3..1a2bae2 100644
61 --- a/gkeys/gkeys/seed.py
62 +++ b/gkeys/gkeys/seed.py
63 @@ -19,6 +19,7 @@ with gentoo-keys specific convienience functions.
64 import json
65 import os
66
67 +from gkeys.exception import UpdateDbError
68 from gkeys.log import logger
69 from gkeys.gkey import GKEY
70 from gkeys.fileops import ensure_dirs
71 @@ -38,7 +39,7 @@ class Seeds(object):
72 self.seeds = {}
73
74
75 - def load(self, filename=None, trap_errors=True):
76 + def load(self, filename=None, trap_errors=True, refresh=False):
77 '''Load the seed file into memory'''
78 if filename:
79 self.filename = filename
80 @@ -59,8 +60,12 @@ class Seeds(object):
81 for seed in list(seedlines.items()):
82 # GKEY class change auto-update
83 if not 'uid' in list(seed[1]):
84 + if not refresh:
85 + raise UpdateDbError(filename)
86 seed[1]['uid'] = []
87 if not 'keys' in list(seed[1]):
88 + if not refresh:
89 + raise UpdateDbError(filename)
90 seed[1]['keys'] = seed[1]['fingerprint'][:]
91
92 #try:
93
94 diff --git a/gkeys/gkeys/seedhandler.py b/gkeys/gkeys/seedhandler.py
95 index a9fb720..5ddccbe 100644
96 --- a/gkeys/gkeys/seedhandler.py
97 +++ b/gkeys/gkeys/seedhandler.py
98 @@ -14,6 +14,7 @@ import os
99 import re
100 from json import load
101
102 +from gkeys.exception import UpdateDbError
103 from gkeys.gkey import GKEY
104 from gkeys.seed import Seeds
105 from gkeys.fileops import ensure_dirs
106 @@ -58,7 +59,7 @@ class SeedHandler(object):
107 pass
108 return keyinfo
109
110 - def load_seeds(self, seedfile=None, filepath=None):
111 + def load_seeds(self, seedfile=None, filepath=None, refresh=False):
112 '''Load seed file
113
114 @param seeds: string of the short name seed file
115 @@ -77,11 +78,11 @@ class SeedHandler(object):
116 self.logger.debug("SeedHandler: load_seeds; seeds filepath to load: "
117 "%s" % filepath)
118 seeds = Seeds(config=self.config)
119 - seeds.load(filepath)
120 + seeds.load(filepath, refresh=refresh)
121 self.seeds = seeds
122 return seeds
123
124 - def load_category(self, category, nicks=None):
125 + def load_category(self, category, nicks=None, refresh=False):
126 '''Loads the designated key directories
127
128 @param category: string
129 @@ -113,8 +114,12 @@ class SeedHandler(object):
130 key = seed[nick]
131 # GKEY class change auto-update
132 if not 'uid' in list(key):
133 + if not refresh:
134 + raise UpdateDbError(category)
135 key['uid'] = []
136 if not 'keys' in list(key):
137 + if not refresh:
138 + raise UpdateDbError(category)
139 key['keys'] = key['fingerprint'][:]
140 seeds.add(nick, GKEY(**key))
141 except OSError as error: