code: def _load_project(self, project):
          '''Load project into self.projects from project info dict'''
          try:
              project['md5sum'] = utils.md5string(project['script'])
              ret = self.build_module(project, self.env)
              self.projects[project['name']] = ret
          except Exception as e:
              logger.exception("load project %s error", project.get('name', None))
              ret = {
                  'loader': None,
                  'module': None,
                  'class': None,
                  'instance': None,
                  'exception': e,
                  'exception_log': traceback.format_exc(),
                  'info': project,
                  'load_time': time.time(),
              }
              self.projects[project['name']] = ret
              return False
          logger.debug('project: %s updated.', project.get('name', None))
          return Truf _load_project(self, project):
          '''Load project into self.projects from project info dict'''
          try:
              project['md5sum'] = utils.md5string(project['script'])
              ret = self.build_module(project, self.env)
              self.projects[project['name']] = ret
          except Exception as e:
              logger.exception("load project %s error", project.get('name', None))
              ret = {
                  'loader': None,
                  'module': None,
                  'class': None,
                  'instance': None,
                  'exception': e,
                  'exception_log': traceback.format_exc(),
                  'info': project,
                  'load_time': time.time(),
              }
              self.projects[project['name']] = ret
              return False
          logger.debug('project: %s updated.', project.get('name', None))
          return True
docs: Load project into self.projects from project info dict