Coverage for functions \ flipdare \ manager \ task_manager.py: 50%

34 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-05-08 12:22 +1000

1#!/usr/bin/env python 

2# Copyright (c) 2026 Flipdare Pty Ltd. All rights reserved. 

3# 

4# This file is part of Flipdare's proprietary software and contains 

5# confidential and copyrighted material. Unauthorised copying, 

6# modification, distribution, or use of this file is strictly 

7# prohibited without prior written permission from Flipdare Pty Ltd. 

8# 

9# This software includes third-party components licensed under MIT, 

10# BSD, and Apache 2.0 licences. See THIRD_PARTY_NOTICES for details. 

11# 

12 

13from __future__ import annotations 

14from flipdare.core.singleton import Singleton 

15from flipdare.task.command_task_handler import CommandTaskHandler 

16from flipdare.task.cron_task_handler import CronTaskHandler 

17from flipdare.task.report_task_handler import ReportTaskHandler 

18from flipdare.task.trigger_task_handler import TriggerTaskHandler 

19 

20__all__ = ["TaskManager"] 

21 

22 

23class TaskManager(Singleton): 

24 

25 def __init__( 

26 self, 

27 report_handler: ReportTaskHandler | None = None, 

28 cron_handler: CronTaskHandler | None = None, 

29 command_handler: CommandTaskHandler | None = None, 

30 trigger_handler: TriggerTaskHandler | None = None, 

31 ) -> None: 

32 super().__init__() 

33 self._report_handler = report_handler 

34 self._cron_handler = cron_handler 

35 self._command_handler = command_handler 

36 self._trigger_handler = trigger_handler 

37 

38 @property 

39 def report_handler(self) -> ReportTaskHandler: 

40 if self._report_handler is None: 

41 self._report_handler = ReportTaskHandler.instance() 

42 return self._report_handler 

43 

44 @property 

45 def cron_handler(self) -> CronTaskHandler: 

46 if self._cron_handler is None: 

47 self._cron_handler = CronTaskHandler.instance() 

48 return self._cron_handler 

49 

50 @property 

51 def command_handler(self) -> CommandTaskHandler: 

52 if self._command_handler is None: 

53 self._command_handler = CommandTaskHandler.instance() 

54 return self._command_handler 

55 

56 @property 

57 def trigger_handler(self) -> TriggerTaskHandler: 

58 if self._trigger_handler is None: 

59 self._trigger_handler = TriggerTaskHandler.instance() 

60 return self._trigger_handler