def ldapsearch(self, args): l = LdapSearch() self.logger.info("Search... Establishing connection") self.output("Search... Establishing connection") if not l.connect(): self.logger.info("Aborting search... Connection failed") self.output("Aborting search... Connection failed") return False self.logger.debug("MAIN: _action_ldapsearch; args = %s" % str(args)) x, target, search_field = self.get_args(args) results = l.search(target, search_field) devs = l.result2dict(results, gkey2ldap_map[x]) for dev in sorted(devs): self.output(dev, devs[dev]) self.output("============================================") self.output("Total number of developers in results:", len(devs)) self.logger.info("============================================") self.logger.info("Total number of developers in results: %d" % len(devs)) return True
def updateseeds(self, args): self.logger.info("Beginning LDAP search...") self.output("Beginning LDAP search...") l = LdapSearch() if not l.connect(): self.output("Aborting update... Connection failed") self.logger.info("Aborting update... Connection failed") return False results = l.search('*', UID) info = l.result2dict(results, 'uid') self.logger.debug( "MAIN: _action_updateseeds; got results :) converted to info") if not self.create_seedfile(info): self.logger.error("Developer seed file update failure: " "Original seed file is intact & untouched.") filename = self.config['dev-seedfile'] old = filename + '.old' try: self.output("Backing up existing file...") self.logger.info("Backing up existing file...") if os.path.exists(old): self.logger.debug( "MAIN: _action_updateseeds; Removing 'old' seed file: %s" % old) os.unlink(old) if os.path.exists(filename): self.logger.debug( "MAIN: _action_updateseeds; Renaming current seed file to: " "%s" % old) os.rename(filename, old) self.logger.debug( "MAIN: _action_updateseeds; Renaming '.new' seed file to: %s" % filename) os.rename(filename + '.new', filename) except IOError: raise self.output("Developer seed file updated!") return True