예제 #1
0
 def updateseeds(self, args):
     '''Performs a search for all active developers and
     generates a new seeds file'''
     l = LdapSearch(logger=self.logger)
     self.logger.debug("MAIN: _action_updateseeds; args = %s" % str(args))
     self.output('', "Search... Establishing connection")
     if not l.status:
         self.output('', "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 args.category:
         filename = self.config.get_key('seeds', args.category) + '.new'
     if not self.create_seedfile(info, filename):
         self.logger.error("Developer seed file update failure: "
                           "Original seed file is intact & untouched.")
     self.output('', "Backing up existing file...")
     status = updatefiles(self.config, self.logger, args.category)
     if not status:
         self.output('', "Develope seed failed to update!")
         return False
     self.output('', "Developer seed file updated!")
     return (True, ['Completed'])
예제 #2
0
 def updateseeds(self, args):
     '''Performs a search for all active developers and
     generates a new seeds file'''
     l = LdapSearch(logger=self.logger)
     self.logger.debug("MAIN: _action_updateseeds; args = %s" % str(args))
     self.output('', "Search... Establishing connection")
     if not l.status:
         self.output('', "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 args.category:
         filename = self.config.get_key('seeds', args.category) + '.new'
     if not self.create_seedfile(info, filename):
         self.logger.error("Developer seed file update failure: "
             "Original seed file is intact & untouched.")
     self.output('', "Backing up existing file...")
     status = updatefiles(self.config, self.logger, args.category)
     if not status:
         self.output('', "Develope seed failed to update!")
         return False
     self.output('', "Developer seed file updated!")
     return (True, ['Completed'])
예제 #3
0
 def ldapsearch(self, args):
     l = LdapSearch()
     self.logger.debug("MAIN: _action_ldapsearch; args = %s" % str(args))
     self.output("Search... Establishing connection\n")
     if not l.status:
         self.output("Aborting Search... Connection failed")
         return False
     attr, target, search_field = self.get_args(args)
     results = l.search(target, search_field)
     devs = l.result2dict(results, gkey2ldap[attr])
     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
예제 #4
0
 def ldapsearch(self, args):
     '''Performs a search in LDAP for the input arguments'''
     l = LdapSearch(logger=self.logger)
     self.logger.debug("MAIN: _action_ldapsearch; args = %s" % str(args))
     self.output('', "Search... Establishing connection\n")
     if not l.status:
         self.output('', "Aborting Search... Connection failed")
         return False
     attr, target, search_field = self.get_args(args)
     results = l.search(target, search_field)
     devs = l.result2dict(results, gkey2ldap[attr])
     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, ['Completed'])
예제 #5
0
 def ldapsearch(self, args):
     '''Performs a search in LDAP for the input arguments'''
     l = LdapSearch(logger=self.logger)
     self.logger.debug("MAIN: _action_ldapsearch; args = %s" % str(args))
     self.output('', "Search... Establishing connection\n")
     if not l.status:
         self.output('', "Aborting Search... Connection failed")
         return False
     attr, target, search_field = self.get_args(args)
     results = l.search(target, search_field)
     devs = l.result2dict(results, gkey2ldap[attr])
     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, ['Completed'])
예제 #6
0
 def updateseeds(self, args):
     l = LdapSearch()
     self.logger.debug("MAIN: _action_updateseeds; args = %s" % str(args))
     self.output("Search... Establishing connection")
     if not l.status:
         self.output("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")
     filename = self.config['dev-seedfile'] + '.new'
     if not self.create_seedfile(info, filename):
         self.logger.error("Developer seed file update failure: "
             "Original seed file is intact & untouched.")
     self.output("Backing up existing file...")
     status = updatefiles(self.config, self.logger)
     if not status:
         self.output("Develope seed failed to update!")
         return False
     self.output("Developer seed file updated!")
     return True
예제 #7
0
 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