1313
1414def 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
3341def _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
3846def _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