mirror of
https://github.com/dw-0/kiauh.git
synced 2025-12-25 00:33:37 +05:00
refactor: add force flag to git_clone_wrapper
Signed-off-by: Dominik Willner <th33xitus@gmail.com>
This commit is contained in:
@@ -54,6 +54,7 @@ def install_octoeverywhere() -> None:
|
||||
if not moonraker_exists():
|
||||
return
|
||||
|
||||
force_clone = False
|
||||
oe_im = InstanceManager(Octoeverywhere)
|
||||
oe_instances: List[Octoeverywhere] = oe_im.instances
|
||||
if oe_instances:
|
||||
@@ -72,6 +73,7 @@ def install_octoeverywhere() -> None:
|
||||
return
|
||||
else:
|
||||
Logger.print_status("Re-Installing OctoEverywhere for Klipper ...")
|
||||
force_clone = True
|
||||
|
||||
mr_im = InstanceManager(Moonraker)
|
||||
mr_instances: List[Moonraker] = mr_im.instances
|
||||
@@ -99,7 +101,7 @@ def install_octoeverywhere() -> None:
|
||||
return
|
||||
|
||||
try:
|
||||
git_clone_wrapper(OE_REPO, OE_DIR)
|
||||
git_clone_wrapper(OE_REPO, OE_DIR, force=force_clone)
|
||||
|
||||
for moonraker in mr_instances:
|
||||
oe_im.current_instance = Octoeverywhere(suffix=moonraker.suffix)
|
||||
|
||||
@@ -57,6 +57,7 @@ class ObicoExtension(BaseExtension):
|
||||
|
||||
# if obico is already installed, ask if the user wants to repair an
|
||||
# incomplete installation or link to the obico server
|
||||
force_clone = False
|
||||
obico_im = InstanceManager(MoonrakerObico)
|
||||
obico_instances: List[MoonrakerObico] = obico_im.instances
|
||||
if obico_instances:
|
||||
@@ -74,6 +75,7 @@ class ObicoExtension(BaseExtension):
|
||||
return
|
||||
else:
|
||||
Logger.print_status("Re-Installing Obico for Klipper ...")
|
||||
force_clone = True
|
||||
|
||||
# let the user confirm installation
|
||||
kl_im = InstanceManager(Klipper)
|
||||
@@ -89,7 +91,7 @@ class ObicoExtension(BaseExtension):
|
||||
return
|
||||
|
||||
try:
|
||||
git_clone_wrapper(OBICO_REPO, OBICO_DIR)
|
||||
git_clone_wrapper(OBICO_REPO, OBICO_DIR, force=force_clone)
|
||||
self._install_dependencies()
|
||||
|
||||
# ask the user for the obico server url
|
||||
|
||||
@@ -14,7 +14,7 @@ from utils.logger import Logger
|
||||
|
||||
|
||||
def git_clone_wrapper(
|
||||
repo: str, target_dir: Path, branch: Optional[str] = None
|
||||
repo: str, target_dir: Path, branch: Optional[str] = None, force: bool = False
|
||||
) -> None:
|
||||
"""
|
||||
Clones a repository from the given URL and checks out the specified branch if given.
|
||||
@@ -22,6 +22,7 @@ def git_clone_wrapper(
|
||||
:param repo: The URL of the repository to clone.
|
||||
:param branch: The branch to check out. If None, the default branch will be checked out.
|
||||
:param target_dir: The directory where the repository will be cloned.
|
||||
:param force: Force the cloning of the repository even if it already exists.
|
||||
:return: None
|
||||
"""
|
||||
log = f"Cloning repository from '{repo}'"
|
||||
@@ -29,7 +30,7 @@ def git_clone_wrapper(
|
||||
try:
|
||||
if Path(target_dir).exists():
|
||||
question = f"'{target_dir}' already exists. Overwrite?"
|
||||
if not get_confirm(question, default_choice=False):
|
||||
if not force and not get_confirm(question, default_choice=False):
|
||||
Logger.print_info("Skip cloning of repository ...")
|
||||
return
|
||||
shutil.rmtree(target_dir)
|
||||
|
||||
Reference in New Issue
Block a user