'Load project into self.projects from project info dict'

def _load_project(self, project):

    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
