+ kwargs = self.build_gkeydict(args)
+ logger.debug("MAIN: _action_listseed; kwargs: %s" % str(kwargs))
+ self.seeds = self._load_seeds(args.seeds)
+ if self.seeds:
+ # get the desired seed
+ keyresults = self.seeds.list(**kwargs)
+ if keyresults and not args.nick == '*':
+ self.output_results(keyresults, "\n Found GKEY seeds:")
+ elif keyresults:
+ self.output_results(['all'], "\n Installing seeds:")
+ else:
+ logger.info("MAIN: _action_addkey; "
+ "Matching seed entry not found")
+ if args.nick:
+ return {"Search failed for: %s" % args.nick: False}
+ elif args.name:
+ return {"Search failed for: %s" % args.name: False}
+ else:
+ return {"Search failed for search term": False}
+ # get confirmation
+ # fill in code here
+ keydir = self.config.get_key(args.seeds + "-keydir")
+ logger.debug("MAIN: _action_addkey; keysdir = %s" % keydir)
+ self.gpg = GkeysGPG(self.config, keydir)
+ results = {}
+ failed = []
+ for key in keyresults:
+ if not key.keyid and not key.longkeyid and not args.nick == '*':
+ logger.debug("MAIN: _action_addkey; NO key id's to add... Ignoring")
+ return {"Failed: No keyid's found for %s" % key.name : ''}
+ elif not key.keyid and not key.longkeyid:
+ print("No keyid's found for:", key.nick, key.name, "Skipping...")
+ failed.append(key)
+ continue
+ logger.debug("MAIN: _action_addkey; adding key:")
+ logger.debug("MAIN: " + str(key))
+ results[key.name] = self.gpg.add_key(key)
+ for result in results[key.name]:
+ logger.debug("MAIN: _action_addkey; result.failed = " +
+ str(result.failed))
+ if self.print_results:
+ for result in results[key.name]:
+ print("key desired:", key.name, ", key added:",
+ result.username, ", succeeded:",
+ not result.failed, ", keyid:", result.keyid,
+ ", fingerprint:", result.fingerprint)
+ logger.debug("stderr_out: " + str(result.stderr_out))
+ if result.failed:
+ failed.append(key)
+ if failed:
+ self.output_results(failed, "\n Failed to install:")
+ return {'Completed'}
+ return {"No seeds to search or install": False}