def clone_projects(project_list):
    # clone all of the projects, return the directory name they are cloned in
    project_locations = _get_repo_names(project_list)

    orig_dir = os.path.abspath(os.getcwd())

    # create directory for projects
    try:
        dir_name = 'project-source-{}'.format(datetime.datetime.utcnow().
                                              strftime('%Y-%m-%d-%H-%M-%S'))
        os.mkdir(dir_name)
        os.chdir(dir_name)
    except __HOLE__:
        print("Unable to create directory for cloning projects")
        return None

    for project in project_locations:
        print '=' * len(TITLE)
        print("Cloning project: {} from repo {} into {}".
              format(project, project_locations[project], dir_name))

        try:
            subprocess.check_call(['git', 'clone',
                                   GIT_BASE + project_locations[project]])

        except subprocess.CalledProcessError:
            print("Unable to clone project from repo: {}".
                  format(project_locations[project]))

    os.chdir(orig_dir)

    return os.path.abspath(dir_name)
dataset/ETHPy150Open openstack/bandit/tools/openstack_coverage.py/clone_projects