Various task creation fixes

This commit is contained in:
deajan 2024-09-01 19:24:20 +02:00
parent 3fd89f3eca
commit adcf54a366
2 changed files with 11 additions and 3 deletions

View file

@ -2280,15 +2280,19 @@ Google Cloud storage: GOOGLE_PROJECT_ID GOOGLE_APPLICATION_CREDENTIALS\n\
type = "housekeeping" type = "housekeeping"
else: else:
type = "backup" type = "backup"
if event == "create_backup_interval_task":
interval = values["scheduled_task_interval"]
else:
interval = None
result = create_scheduled_task( result = create_scheduled_task(
config_file=config_file, config_file=config_file,
type=type, type=type,
interval_minutes=values["scheduled_task_interval"], interval_minutes=interval,
hour=values["scheduled_task_hour"], hour=values["scheduled_task_hour"],
minute=values["scheduled_task_minute"], minute=values["scheduled_task_minute"],
) )
if result: if result:
sg.Popup(_t("config_gui.scheduled_task_creation_success")) sg.Popup(_t("config_gui.scheduled_task_creation_success"), keep_on_top=True)
else: else:
sg.PopupError( sg.PopupError(
_t("config_gui.scheduled_task_creation_failure"), _t("config_gui.scheduled_task_creation_failure"),

View file

@ -115,11 +115,15 @@ def create_scheduled_task_unix(
crontab_file = [] crontab_file = []
try: try:
replaced = False
with open(cron_file, "r", encoding="utf-8") as file_handle: with open(cron_file, "r", encoding="utf-8") as file_handle:
current_crontab = file_handle.readlines() current_crontab = file_handle.readlines()
for line in current_crontab: for line in current_crontab:
if "--{type}" in line: if f"--{type}" in line:
logger.info(f"Replacing existing {type} task") logger.info(f"Replacing existing {type} task")
if replaced:
logger.info(f"Skipping duplicate {type} task")
continue
crontab_file.append(crontab_entry) crontab_file.append(crontab_entry)
replaced = True replaced = True
else: else: