mirror of
https://gitlab.com/crafty-controller/crafty-4.git
synced 2024-08-30 18:23:09 +00:00
Get backup configs
This commit is contained in:
parent
b898595371
commit
3bba043cf0
@ -386,22 +386,7 @@ class HelpersManagement:
|
|||||||
# **********************************************************************************
|
# **********************************************************************************
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_backup_config(backup_id):
|
def get_backup_config(backup_id):
|
||||||
try:
|
return model_to_dict(Backups.get(Backups.backup_id == backup_id))
|
||||||
row = Backups.select().where(Backups.backup_id == backup_id)
|
|
||||||
conf = {
|
|
||||||
"backup_path": row.backup_location,
|
|
||||||
"excluded_dirs": row.excluded_dirs,
|
|
||||||
"max_backups": row.max_backups,
|
|
||||||
"backup_location": row.backup_location,
|
|
||||||
"server_id": row.server_id_id,
|
|
||||||
"compress": row.compress,
|
|
||||||
"shutdown": row.shutdown,
|
|
||||||
"before": row.before,
|
|
||||||
"after": row.after,
|
|
||||||
}
|
|
||||||
except IndexError:
|
|
||||||
return None
|
|
||||||
return conf
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_backups_by_server(server_id, model):
|
def get_backups_by_server(server_id, model):
|
||||||
@ -454,67 +439,12 @@ class HelpersManagement:
|
|||||||
Backups.create(**conf)
|
Backups.create(**conf)
|
||||||
logger.debug("Creating new backup record.")
|
logger.debug("Creating new backup record.")
|
||||||
|
|
||||||
def update_backup_config(
|
@staticmethod
|
||||||
self,
|
def update_backup_config(backup_id, data):
|
||||||
server_id: int,
|
if "excluded_dirs" in data:
|
||||||
backup_path: str = None,
|
dirs_to_exclude = ",".join(data["excluded_dirs"])
|
||||||
max_backups: int = None,
|
data["excluded_dirs"] = dirs_to_exclude
|
||||||
excluded_dirs: list = None,
|
Backups.update(**data).where(Backups.backup_id == backup_id).execute()
|
||||||
compress: bool = False,
|
|
||||||
shutdown: bool = False,
|
|
||||||
before: str = "",
|
|
||||||
after: str = "",
|
|
||||||
):
|
|
||||||
logger.debug(f"Updating server {server_id} backup config with {locals()}")
|
|
||||||
if Backups.select().where(Backups.server_id == server_id).exists():
|
|
||||||
new_row = False
|
|
||||||
conf = {}
|
|
||||||
else:
|
|
||||||
conf = {
|
|
||||||
"excluded_dirs": None,
|
|
||||||
"max_backups": 0,
|
|
||||||
"server_id": server_id,
|
|
||||||
"compress": False,
|
|
||||||
"shutdown": False,
|
|
||||||
"before": "",
|
|
||||||
"after": "",
|
|
||||||
}
|
|
||||||
new_row = True
|
|
||||||
if max_backups is not None:
|
|
||||||
conf["max_backups"] = max_backups
|
|
||||||
if excluded_dirs is not None:
|
|
||||||
dirs_to_exclude = ",".join(excluded_dirs)
|
|
||||||
conf["excluded_dirs"] = dirs_to_exclude
|
|
||||||
conf["compress"] = compress
|
|
||||||
conf["shutdown"] = shutdown
|
|
||||||
conf["before"] = before
|
|
||||||
conf["after"] = after
|
|
||||||
if not new_row:
|
|
||||||
with self.database.atomic():
|
|
||||||
if backup_path is not None:
|
|
||||||
server_rows = (
|
|
||||||
Servers.update(backup_path=backup_path)
|
|
||||||
.where(Servers.server_id == server_id)
|
|
||||||
.execute()
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
server_rows = 0
|
|
||||||
backup_rows = (
|
|
||||||
Backups.update(conf).where(Backups.server_id == server_id).execute()
|
|
||||||
)
|
|
||||||
logger.debug(
|
|
||||||
f"Updating existing backup record. "
|
|
||||||
f"{server_rows}+{backup_rows} rows affected"
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
with self.database.atomic():
|
|
||||||
conf["server_id"] = server_id
|
|
||||||
if backup_path is not None:
|
|
||||||
Servers.update(backup_path=backup_path).where(
|
|
||||||
Servers.server_id == server_id
|
|
||||||
)
|
|
||||||
Backups.create(**conf)
|
|
||||||
logger.debug("Creating new backup record.")
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_excluded_backup_dirs(backup_id: int):
|
def get_excluded_backup_dirs(backup_id: int):
|
||||||
|
Loading…
Reference in New Issue
Block a user