mirror of
https://github.com/dw-0/kiauh.git
synced 2025-12-13 18:44:29 +05:00
feat(backup): add fallback to search printer data directories in home directory if no instances found
This commit is contained in:
@@ -182,8 +182,32 @@ def backup_moonraker_db_dir() -> None:
|
|||||||
svc = BackupService()
|
svc = BackupService()
|
||||||
|
|
||||||
if not instances:
|
if not instances:
|
||||||
Logger.print_info("Unable to find directory to backup!")
|
# fallback: search for printer data directories in the user's home directory
|
||||||
Logger.print_info("Are there no Moonraker instances installed?")
|
Logger.print_info("No Moonraker instances found via systemd services.")
|
||||||
|
Logger.print_info(
|
||||||
|
"Attempting to find printer data directories in home directory..."
|
||||||
|
)
|
||||||
|
|
||||||
|
home_dir = Path.home()
|
||||||
|
printer_data_dirs = []
|
||||||
|
|
||||||
|
for pattern in ["printer_data", "printer_*_data"]:
|
||||||
|
for data_dir in home_dir.glob(pattern):
|
||||||
|
if data_dir.is_dir():
|
||||||
|
printer_data_dirs.append(data_dir)
|
||||||
|
|
||||||
|
if not printer_data_dirs:
|
||||||
|
Logger.print_info("Unable to find directory to backup!")
|
||||||
|
Logger.print_info("No printer data directories found in home directory.")
|
||||||
|
return
|
||||||
|
|
||||||
|
for data_dir in printer_data_dirs:
|
||||||
|
svc.backup_directory(
|
||||||
|
source_path=data_dir.joinpath("database"),
|
||||||
|
target_path=data_dir.name,
|
||||||
|
backup_name="database",
|
||||||
|
)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
for instance in instances:
|
for instance in instances:
|
||||||
|
|||||||
@@ -156,8 +156,32 @@ def backup_printer_config_dir() -> None:
|
|||||||
svc = BackupService()
|
svc = BackupService()
|
||||||
|
|
||||||
if not instances:
|
if not instances:
|
||||||
Logger.print_info("Unable to find directory to backup!")
|
# fallback: search for printer data directories in the user's home directory
|
||||||
Logger.print_info("Are there no Klipper instances installed?")
|
Logger.print_info("No Klipper instances found via systemd services.")
|
||||||
|
Logger.print_info(
|
||||||
|
"Attempting to find printer data directories in home directory..."
|
||||||
|
)
|
||||||
|
|
||||||
|
home_dir = Path.home()
|
||||||
|
printer_data_dirs = []
|
||||||
|
|
||||||
|
for pattern in ["printer_data", "printer_*_data"]:
|
||||||
|
for data_dir in home_dir.glob(pattern):
|
||||||
|
if data_dir.is_dir():
|
||||||
|
printer_data_dirs.append(data_dir)
|
||||||
|
|
||||||
|
if not printer_data_dirs:
|
||||||
|
Logger.print_info("Unable to find directory to backup!")
|
||||||
|
Logger.print_info("No printer data directories found in home directory.")
|
||||||
|
return
|
||||||
|
|
||||||
|
for data_dir in printer_data_dirs:
|
||||||
|
svc.backup_directory(
|
||||||
|
source_path=data_dir.joinpath("config"),
|
||||||
|
target_path=data_dir.name,
|
||||||
|
backup_name="config",
|
||||||
|
)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
for instance in instances:
|
for instance in instances:
|
||||||
|
|||||||
Reference in New Issue
Block a user