commit:     c3b217c2c8e0402a71e75407e7d37f9639f045f2
Author:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 21 19:09:03 2015 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Sat May 30 23:18:50 2015 +0000
URL:        https://gitweb.gentoo.org/proj/gentoo-keys.git/commit/?id=c3b217c2

gkeys/seedhandler.py: Make key_search accept args as a dictionary or argsparse 
object

 gkeys/gkeys/seedhandler.py | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/gkeys/gkeys/seedhandler.py b/gkeys/gkeys/seedhandler.py
index a905051..8b787d1 100644
--- a/gkeys/gkeys/seedhandler.py
+++ b/gkeys/gkeys/seedhandler.py
@@ -216,17 +216,27 @@ class SeedHandler(object):
     def key_search(self, args, search_args):
         '''Performs a search for all listed args in the seeds'''
         results = []
-        self.logger.debug("_field_search search_args: %s" % str(search_args))
+        self.logger.debug("SeedHandler.key_search() search_args: %s" % 
str(search_args))
         found = {}
         search_args.sort()
+        if isinstance(args, dict):
+            exact = args.get('exact', False)
+            _all = args.get('all', False)
+        else:
+            exact = getattr(args, 'exact', False)
+            _all = getattr(args, 'all', False)
         for arg in search_args:
-            seeds = self.seeds.field_search(arg, getattr(args, arg), 
args.exact)
+            if isinstance(args, dict):
+                value = args.get(arg, '')
+            else:
+                value = getattr(args, arg)
+            seeds = self.seeds.field_search(arg, value, exact)
             for seed in seeds:
                 if seed.nick in found:
                     found[seed.nick]['args'].append(arg)
                 else:
                     found[seed.nick] = {'args': [arg], 'seed': seed}
-        if args.all:
+        if _all:
             for possible in sorted(found):
                 if search_args == found[possible]['args']:
                     results.append(found[possible]['seed'])

Reply via email to