13 lines
418 B
Python
13 lines
418 B
Python
from pydantic import AnyHttpUrl
|
|
from pathlib import Path
|
|
from git import Repo
|
|
|
|
def clone_repository(repo_url: AnyHttpUrl) -> Path:
|
|
# extract repo name
|
|
repo_name = repo_url.split('/')[-1].replace('.git', '')
|
|
dst_dir = Path(__file__).parent / repo_name
|
|
# prepare repo download dir
|
|
dst_dir.mkdir(exist_ok=True)
|
|
# git clone repo
|
|
Repo.clone_from(url=repo_url, to_path=dst_dir)
|
|
return dst_dir |