mirror of
https://github.com/dw-0/kiauh.git
synced 2026-01-01 20:23:35 +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():
|
if not moonraker_exists():
|
||||||
return
|
return
|
||||||
|
|
||||||
|
force_clone = False
|
||||||
oe_im = InstanceManager(Octoeverywhere)
|
oe_im = InstanceManager(Octoeverywhere)
|
||||||
oe_instances: List[Octoeverywhere] = oe_im.instances
|
oe_instances: List[Octoeverywhere] = oe_im.instances
|
||||||
if oe_instances:
|
if oe_instances:
|
||||||
@@ -72,6 +73,7 @@ def install_octoeverywhere() -> None:
|
|||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
Logger.print_status("Re-Installing OctoEverywhere for Klipper ...")
|
Logger.print_status("Re-Installing OctoEverywhere for Klipper ...")
|
||||||
|
force_clone = True
|
||||||
|
|
||||||
mr_im = InstanceManager(Moonraker)
|
mr_im = InstanceManager(Moonraker)
|
||||||
mr_instances: List[Moonraker] = mr_im.instances
|
mr_instances: List[Moonraker] = mr_im.instances
|
||||||
@@ -99,7 +101,7 @@ def install_octoeverywhere() -> None:
|
|||||||
return
|
return
|
||||||
|
|
||||||
try:
|
try:
|
||||||
git_clone_wrapper(OE_REPO, OE_DIR)
|
git_clone_wrapper(OE_REPO, OE_DIR, force=force_clone)
|
||||||
|
|
||||||
for moonraker in mr_instances:
|
for moonraker in mr_instances:
|
||||||
oe_im.current_instance = Octoeverywhere(suffix=moonraker.suffix)
|
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
|
# if obico is already installed, ask if the user wants to repair an
|
||||||
# incomplete installation or link to the obico server
|
# incomplete installation or link to the obico server
|
||||||
|
force_clone = False
|
||||||
obico_im = InstanceManager(MoonrakerObico)
|
obico_im = InstanceManager(MoonrakerObico)
|
||||||
obico_instances: List[MoonrakerObico] = obico_im.instances
|
obico_instances: List[MoonrakerObico] = obico_im.instances
|
||||||
if obico_instances:
|
if obico_instances:
|
||||||
@@ -74,6 +75,7 @@ class ObicoExtension(BaseExtension):
|
|||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
Logger.print_status("Re-Installing Obico for Klipper ...")
|
Logger.print_status("Re-Installing Obico for Klipper ...")
|
||||||
|
force_clone = True
|
||||||
|
|
||||||
# let the user confirm installation
|
# let the user confirm installation
|
||||||
kl_im = InstanceManager(Klipper)
|
kl_im = InstanceManager(Klipper)
|
||||||
@@ -89,7 +91,7 @@ class ObicoExtension(BaseExtension):
|
|||||||
return
|
return
|
||||||
|
|
||||||
try:
|
try:
|
||||||
git_clone_wrapper(OBICO_REPO, OBICO_DIR)
|
git_clone_wrapper(OBICO_REPO, OBICO_DIR, force=force_clone)
|
||||||
self._install_dependencies()
|
self._install_dependencies()
|
||||||
|
|
||||||
# ask the user for the obico server url
|
# ask the user for the obico server url
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from utils.logger import Logger
|
|||||||
|
|
||||||
|
|
||||||
def git_clone_wrapper(
|
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:
|
) -> None:
|
||||||
"""
|
"""
|
||||||
Clones a repository from the given URL and checks out the specified branch if given.
|
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 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 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 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
|
:return: None
|
||||||
"""
|
"""
|
||||||
log = f"Cloning repository from '{repo}'"
|
log = f"Cloning repository from '{repo}'"
|
||||||
@@ -29,7 +30,7 @@ def git_clone_wrapper(
|
|||||||
try:
|
try:
|
||||||
if Path(target_dir).exists():
|
if Path(target_dir).exists():
|
||||||
question = f"'{target_dir}' already exists. Overwrite?"
|
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 ...")
|
Logger.print_info("Skip cloning of repository ...")
|
||||||
return
|
return
|
||||||
shutil.rmtree(target_dir)
|
shutil.rmtree(target_dir)
|
||||||
|
|||||||
Reference in New Issue
Block a user