1 |
commit: 11aa646eac0397f32e7617961d4f339f33e52fb8 |
2 |
Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Mar 1 00:54:25 2014 +0000 |
4 |
Commit: Brian Dolbec <brian.dolbec <AT> gmail <DOT> com> |
5 |
CommitDate: Sat Mar 1 00:54:25 2014 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-keys.git;a=commit;h=11aa646e |
7 |
|
8 |
gkeys/actions.py: Add listseedfiles() and fix -S option support. |
9 |
|
10 |
--- |
11 |
etc/gkeys.conf | 9 +++++++-- |
12 |
gkeys/actions.py | 25 +++++++++++++++++++------ |
13 |
2 files changed, 26 insertions(+), 8 deletions(-) |
14 |
|
15 |
diff --git a/etc/gkeys.conf b/etc/gkeys.conf |
16 |
index 46d45aa..2497c30 100644 |
17 |
--- a/etc/gkeys.conf |
18 |
+++ b/etc/gkeys.conf |
19 |
@@ -31,14 +31,19 @@ overlays-keydir: %(keysdir)s/overlays |
20 |
known-keysfile: %(keysdir)s/knownkeys |
21 |
|
22 |
|
23 |
+# seedsdir: base directory for all seed files |
24 |
+# used when searching all seed files. |
25 |
+seedsdir: %(keysdir)s/seeds |
26 |
+ |
27 |
+ |
28 |
# releaseseedfile: txt file of one tuple of (name, keyid, fingerprint) |
29 |
# entry per line |
30 |
-release-seedfile: /etc/gentoo-keys/release.seeds |
31 |
+release-seedfile: %(seedsdir)s/release.seeds |
32 |
|
33 |
|
34 |
# devseedfile: txt file of one tuple of (name, keyid, fingerprint) |
35 |
# entry per line |
36 |
-dev-seedfile: /etc/gentoo-keys/developer.seeds |
37 |
+dev-seedfile: %(seedsdir)s/developer.seeds |
38 |
|
39 |
|
40 |
# logfile directory |
41 |
|
42 |
diff --git a/gkeys/actions.py b/gkeys/actions.py |
43 |
index 77ac212..2e2b1b7 100644 |
44 |
--- a/gkeys/actions.py |
45 |
+++ b/gkeys/actions.py |
46 |
@@ -12,14 +12,17 @@ |
47 |
|
48 |
from __future__ import print_function |
49 |
|
50 |
+import os |
51 |
+ |
52 |
|
53 |
from gkeys.seedhandler import SeedHandler |
54 |
from gkeys.lib import GkeysGPG |
55 |
from gkeys.seed import Seeds |
56 |
|
57 |
|
58 |
-Avialable_Actions = ['listseed', 'addseed', 'removeseed', 'moveseed', 'listkey', |
59 |
- 'addkey', 'removekey', 'movekey', 'installed'] |
60 |
+Avialable_Actions = ['listseed', 'addseed', 'removeseed', 'moveseed', |
61 |
+ 'listseedfiles', 'listkey', 'addkey', 'removekey', 'movekey', |
62 |
+ 'installed'] |
63 |
|
64 |
|
65 |
class Actions(object): |
66 |
@@ -32,13 +35,17 @@ class Actions(object): |
67 |
self.seeds = None |
68 |
|
69 |
|
70 |
- def load_seeds(self, filename): |
71 |
- if not filename: |
72 |
+ def load_seeds(self, seeds=None ,seedfile=None): |
73 |
+ if not seeds and not seedfile: |
74 |
self.logger.error("ACTIONS: load_seeds; no filename to load: " |
75 |
"setting = %s. Please use the -s option to indicate: which seed " |
76 |
"file to use." % filename) |
77 |
return None |
78 |
- filepath = self.config.get_key(filename + "-seedfile") |
79 |
+ if seeds: |
80 |
+ filepath = self.config.get_key(filename + "-seedfile") |
81 |
+ elif seedfile: |
82 |
+ filepath = os.path.join(self.config.get_key('seedsdir'), |
83 |
+ '%s.seeds' % seedfile) |
84 |
self.logger.debug("ACTIONS: load_seeds; seeds filepath to load: " |
85 |
"%s" % filepath) |
86 |
seeds = Seeds() |
87 |
@@ -52,7 +59,7 @@ class Actions(object): |
88 |
kwargs = handler.build_gkeydict(args) |
89 |
self.logger.debug("ACTIONS: listseed; kwargs: %s" % str(kwargs)) |
90 |
if not self.seeds: |
91 |
- self.seeds = self.load_seeds(args.seeds) |
92 |
+ self.seeds = self.load_seeds(args.seeds, args.seedfile) |
93 |
if self.seeds: |
94 |
results = self.seeds.list(**kwargs) |
95 |
return results |
96 |
@@ -275,3 +282,9 @@ class Actions(object): |
97 |
''' |
98 |
pass |
99 |
|
100 |
+ |
101 |
+ def listseedfiles(self, args): |
102 |
+ seedsdir = self.config.get_key('seedsdir') |
103 |
+ files = os.listdir(seedsdir) |
104 |
+ return {"Seed files found at path: %s\n %s" |
105 |
+ % (seedsdir, "\n ".join(files)): True} |