Skip to content

Commit ba2ef97

Browse files
chore: Minor improvement in abstraction
1 parent 8a10b00 commit ba2ef97

File tree

1 file changed

+17
-22
lines changed

1 file changed

+17
-22
lines changed

hands_on/populate_remote.py

Lines changed: 17 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
def download(verbose: bool):
1515
_setup_local_repository(verbose)
16-
_setup_remote_repository(verbose)
16+
_ensure_clean_repository(verbose)
1717
_link_repositories(verbose)
1818

1919

@@ -25,14 +25,22 @@ def _setup_local_repository(verbose: bool):
2525
_add_additional_files(verbose)
2626

2727

28-
def _setup_remote_repository(verbose: bool):
29-
username = _get_github_username(verbose)
30-
_ensure_clean_repository(verbose)
28+
def _ensure_clean_repository(verbose: bool):
29+
repo_check = subprocess.run(
30+
["gh", "repo", "view", _get_full_repo_name(verbose)],
31+
capture_output=True,
32+
text=True
33+
)
34+
35+
if repo_check.returncode == 0:
36+
run_command(["gh", "repo", "delete", REPO_NAME, "--yes"], verbose)
37+
38+
run_command(["gh", "repo", "create", REPO_NAME, "--public"], verbose)
3139

3240

3341
def _link_repositories(verbose: bool):
34-
remote_url = _build_remote_url(verbose)
35-
add_origin(remote_url, verbose)
42+
full_repo_name = _get_full_repo_name(verbose)
43+
add_origin(f"https://github.com/{full_repo_name}", verbose)
3644

3745

3846
def _initialize_workspace():
@@ -68,19 +76,6 @@ def _add_additional_files(verbose: bool):
6876
commit("Add colours.txt, shapes.txt", verbose)
6977

7078

71-
def _get_github_username(verbose: bool) -> str:
72-
return run_command(["gh", "api", "user", "-q", ".login"], verbose).strip()
73-
74-
75-
def _ensure_clean_repository(verbose: bool):
76-
result = subprocess.run(["gh", "api", "user", "-q", ".login"], capture_output=True, text=True)
77-
78-
if result.returncode == 0:
79-
run_command(["gh", "repo", "delete", REPO_NAME, "--yes"], verbose)
80-
81-
run_command(["gh", "repo", "create", REPO_NAME, "--public"], verbose)
82-
83-
84-
def _build_remote_url(verbose: bool) -> str:
85-
username = _get_github_username(verbose)
86-
return f"https://github.com/{username}/{REPO_NAME}.git"
79+
def _get_full_repo_name(verbose: bool) -> str:
80+
username = run_command(["gh", "api", "user", "-q", ".login"], verbose).strip()
81+
return f"{username}/{REPO_NAME}"

0 commit comments

Comments
 (0)