fix: fix crowsnest installer (#470)
* fix: fix crowsnest installer Signed-off-by: mryel00 <mryel00.github@gmail.com> * chore: remove unnecessary code This check is made inside the called tool too. Therefore removing it here. Signed-off-by: mryel00 <mryel00.github@gmail.com> --------- Signed-off-by: mryel00 <mryel00.github@gmail.com>
This commit was merged in pull request #470.
This commit is contained in:
@@ -28,7 +28,6 @@ from utils.git_utils import (
|
||||
get_remote_commit,
|
||||
git_pull_wrapper,
|
||||
)
|
||||
from utils.input_utils import get_confirm
|
||||
from utils.logger import Logger
|
||||
from utils.sys_utils import (
|
||||
parse_packages_from_file,
|
||||
@@ -48,23 +47,37 @@ def install_crowsnest() -> None:
|
||||
instances: List[Klipper] = im.find_instances()
|
||||
|
||||
if len(instances) > 1:
|
||||
Logger.print_status("Multi instance install detected ...")
|
||||
info = textwrap.dedent("""
|
||||
Crowsnest is NOT designed to support multi instances.
|
||||
A workaround for this is to choose the most used instance as a 'master'
|
||||
Use this instance to set up your 'crowsnest.conf' and steering it's service.
|
||||
Found the following instances:
|
||||
""")[:-1]
|
||||
print(info, end="")
|
||||
for instance in instances:
|
||||
print(f"● {instance.data_dir_name}")
|
||||
configure_multi_instance(instances)
|
||||
|
||||
Logger.print_status("\nLaunching crowsnest's configuration tool ...")
|
||||
|
||||
if not get_confirm("Continue with configuration?", False, allow_go_back=True):
|
||||
Logger.print_info("Installation aborted by user ... Exiting!")
|
||||
# Step 4: Launch crowsnest installer
|
||||
print(f"{COLOR_CYAN}Installer will prompt you for sudo password!{RESET_FORMAT}")
|
||||
Logger.print_status("Launching crowsnest installer ...")
|
||||
try:
|
||||
run(
|
||||
f"sudo make install BASE_USER={CURRENT_USER}",
|
||||
cwd=CROWSNEST_DIR,
|
||||
shell=True,
|
||||
check=True,
|
||||
)
|
||||
except CalledProcessError as e:
|
||||
Logger.print_error(f"Something went wrong! Please try again...\n{e}")
|
||||
return
|
||||
|
||||
|
||||
def configure_multi_instance(instances: List[Klipper]) -> None:
|
||||
Logger.print_status("Multi instance install detected ...")
|
||||
info = textwrap.dedent("""
|
||||
Crowsnest is NOT designed to support multi instances.
|
||||
A workaround for this is to choose the most used instance as a 'master'
|
||||
Use this instance to set up your 'crowsnest.conf' and steering it's service.
|
||||
Found the following instances:
|
||||
""")[:-1]
|
||||
print(info, end="")
|
||||
for instance in instances:
|
||||
print(f"● {instance.data_dir_name}")
|
||||
|
||||
Logger.print_status("\nLaunching crowsnest's configuration tool ...")
|
||||
|
||||
config = Path(CROWSNEST_DIR).joinpath("tools/.config")
|
||||
try:
|
||||
run(
|
||||
@@ -83,20 +96,6 @@ def install_crowsnest() -> None:
|
||||
Logger.print_error("Generating .config failed, installation aborted")
|
||||
return
|
||||
|
||||
# Step 4: Launch crowsnest installer
|
||||
print(f"{COLOR_CYAN}Installer will prompt you for sudo password!{RESET_FORMAT}")
|
||||
Logger.print_status("Launching crowsnest installer ...")
|
||||
try:
|
||||
run(
|
||||
f"sudo make install BASE_USER={CURRENT_USER}",
|
||||
cwd=CROWSNEST_DIR,
|
||||
shell=True,
|
||||
check=True,
|
||||
)
|
||||
except CalledProcessError as e:
|
||||
Logger.print_error(f"Something went wrong! Please try again...\n{e}")
|
||||
return
|
||||
|
||||
|
||||
def update_crowsnest() -> None:
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user