Turned DatabaseBackupHandler methods into classmethods

This commit is contained in:
CasVT
2025-08-05 12:26:57 +02:00
parent 75823c0899
commit 492674d280
3 changed files with 14 additions and 13 deletions

View File

@@ -94,8 +94,7 @@ def _main(
reminder_handler = ReminderHandler()
reminder_handler.find_next_reminder()
backup_handler = DatabaseBackupHandler()
backup_handler.set_backup_timer()
DatabaseBackupHandler.set_backup_timer()
tz_change_handler = TimezoneChangeHandler()
tz_change_handler.set_detector_timer()
@@ -107,7 +106,7 @@ def _main(
finally:
reminder_handler.stop_handling()
backup_handler.stop_backup_timer()
DatabaseBackupHandler.stop_backup_timer()
tz_change_handler.stop_detector_timer()
if SERVER.start_type is not None:

View File

@@ -118,7 +118,7 @@ def backup_database() -> None:
settings.update({"db_backup_last_run": int(time())})
DatabaseBackupHandler().set_backup_timer()
DatabaseBackupHandler.set_backup_timer()
return
@@ -126,7 +126,8 @@ def backup_database() -> None:
class DatabaseBackupHandler:
backup_timer: Union[Timer, None] = None
def set_backup_timer(self) -> None:
@classmethod
def set_backup_timer(cls) -> None:
"""Update the timer for the backup process. Start one if it hasn't
already. Replace it if it does already exist, in case the interval
setting has a new value.
@@ -135,21 +136,22 @@ class DatabaseBackupHandler:
sv = Settings().get_settings()
if self.__class__.backup_timer is not None:
self.__class__.backup_timer.cancel()
if cls.backup_timer is not None:
cls.backup_timer.cancel()
self.__class__.backup_timer = Server().get_db_timer_thread(
cls.backup_timer = Server().get_db_timer_thread(
sv.db_backup_last_run + sv.db_backup_interval - time(),
backup_database,
"DatabaseBackupHandler"
)
self.__class__.backup_timer.start()
cls.backup_timer.start()
return
def stop_backup_timer(self) -> None:
@classmethod
def stop_backup_timer(cls) -> None:
"If the backup timer is running, stop it"
if self.__class__.backup_timer is not None:
self.__class__.backup_timer.cancel()
if cls.backup_timer is not None:
cls.backup_timer.cancel()
return

View File

@@ -177,7 +177,7 @@ class Settings(metaclass=Singleton):
from backend.internals.db_backup_import import \
DatabaseBackupHandler
DatabaseBackupHandler().set_backup_timer()
DatabaseBackupHandler.set_backup_timer()
self.clear_cache()