added automatic deletion of preexistent repo dir
This commit is contained in:
@@ -1,13 +1,16 @@
|
|||||||
from pydantic import AnyHttpUrl
|
from pydantic import AnyHttpUrl
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from git import Repo
|
from git import Repo
|
||||||
|
import shutil
|
||||||
|
|
||||||
def clone_repository(repo_url: AnyHttpUrl) -> Path:
|
def clone_repository(repo_url: AnyHttpUrl) -> Path:
|
||||||
# extract repo name
|
# extract repo name
|
||||||
repo_name = repo_url.split('/')[-1].replace('.git', '')
|
repo_name = repo_url.split('/')[-1].replace('.git', '')
|
||||||
dst_dir = Path(__file__).parent / repo_name
|
dst_dir = Path(__file__).parent / repo_name
|
||||||
# prepare repo download dir
|
# prepare repo download dir
|
||||||
dst_dir.mkdir(exist_ok=True)
|
if dst_dir.exists():
|
||||||
|
shutil.rmtree(dst_dir)
|
||||||
|
dst_dir.mkdir()
|
||||||
# git clone repo
|
# git clone repo
|
||||||
Repo.clone_from(url=repo_url, to_path=dst_dir)
|
Repo.clone_from(url=repo_url, to_path=dst_dir)
|
||||||
return dst_dir
|
return dst_dir
|
||||||
Reference in New Issue
Block a user