Implement backup functionality with UI and backend support
Co-authored-by: Koha9 <36852125+Koha9@users.noreply.github.com>
This commit is contained in:
@@ -39,6 +39,8 @@ class ServerConfig:
|
||||
self.schedule_weekly_days = [0]
|
||||
self.schedule_weekly_time = "03:00"
|
||||
self.schedule_auto_watch = False
|
||||
self.backup_enabled = False
|
||||
self.backup_retention_count = 5
|
||||
self.load()
|
||||
|
||||
def load(self) -> None:
|
||||
@@ -89,6 +91,8 @@ class ServerConfig:
|
||||
self.schedule_weekly_days = config.get("schedule_weekly_days", [0])
|
||||
self.schedule_weekly_time = config.get("schedule_weekly_time", "03:00")
|
||||
self.schedule_auto_watch = config.get("schedule_auto_watch", False)
|
||||
self.backup_enabled = config.get("backup_enabled", False)
|
||||
self.backup_retention_count = config.get("backup_retention_count", 5)
|
||||
logger.info(f"Server config loaded.")
|
||||
logger.debug(f"Current server config: {self.__dict__}")
|
||||
|
||||
@@ -111,6 +115,8 @@ class ServerConfig:
|
||||
"schedule_weekly_days": self.schedule_weekly_days,
|
||||
"schedule_weekly_time": self.schedule_weekly_time,
|
||||
"schedule_auto_watch": self.schedule_auto_watch,
|
||||
"backup_enabled": self.backup_enabled,
|
||||
"backup_retention_count": self.backup_retention_count,
|
||||
}
|
||||
with open(CONFIG_PATH, "w", encoding="utf-8") as f:
|
||||
json.dump(config, f, indent=4, ensure_ascii=False)
|
||||
@@ -182,6 +188,15 @@ class ServerConfig:
|
||||
self.schedule_auto_watch = auto_watch
|
||||
self.save()
|
||||
|
||||
def set_backup(
|
||||
self,
|
||||
enabled: bool,
|
||||
retention_count: int,
|
||||
) -> None:
|
||||
self.backup_enabled = enabled
|
||||
self.backup_retention_count = retention_count
|
||||
self.save()
|
||||
|
||||
def set_and_save_config(
|
||||
self,
|
||||
theme: str = None,
|
||||
|
||||
Reference in New Issue
Block a user