def do_init(): for repository_name, repository_remote in settings.toclone.items(): git_dest = '' if repository_name in settings.inventorydirs: git_dest = settings.inventorydirs[repository_name] elif repository_name in settings.playbookdirs: git_dest = settings.playbookdirs[repository_name] elif repository_name in settings.localdirs: git_dest = settings.localdirs[repository_name] else: print( 'there is no corresponding directory defined in your config for {}' .format(repository)) if not git_dest: print('could not find git_dest') continue if os.path.isdir('{}/.git'.format(git_dest)): print('update repository {}'.format(git_dest)) git = Repo(git_dest).git git.pull() else: print('clone repository {}'.format(git_dest)) os.makedirs(git_dest, exist_ok=True) Repo.clone_from(repository_remote, git_dest)