-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.py
73 lines (54 loc) · 1.85 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# instantiate a tracker, executes the operations
# (add, edit, list, etc) and saves it the tracker
from datetime import datetime, timedelta
import logging
from maintenance_tracker import Action, MaintenanceTracker, Task, TaskLister
# log config
logger = logging.getLogger(__name__)
tracker: MaintenanceTracker = MaintenanceTracker()
logger.debug(f"{tracker}")
def register_task(new_task, save=True) -> None:
global tracker
logger.debug(tracker)
logger.info(f"Adding task {new_task}")
tracker.register_task(new_task)
logger.info(f"Saving tracker to {tracker.task_list_saver.dirname}")
tracker.save()
def get_task_by_name(task_name: str) -> Task | None:
global tracker
logger.debug(tracker)
logger.info(f"getting task named {task_name}")
return tracker.task_list.get_task_by_name(task_name)
def get_tasks_by_name(search_string: str) -> TaskLister:
global tracker
ret_list = TaskLister()
logger.info(f"getting task named {search_string}")
for task in tracker.task_list:
if search_string in task.name:
ret_list.append(task)
return ret_list
def get_tasks_by_time(
start_time: datetime, end_time: datetime | None = None
) -> TaskLister:
pass
def get_all_tasks() -> TaskLister:
global tracker
logger.debug(tracker)
logger.debug(tracker.task_list)
logger.info(f"getting all tasks")
logger.info(f"found {len(tracker.task_list)} tasks")
return tracker.task_list
def edit_task(
task: Task,
new_name: str,
new_description: str,
new_start_time: datetime,
new_interval: timedelta,
) -> bool:
global tracker
logger.debug(f"task before edit: {task}")
task.name: Optional[str] = "default_task"
description: str = "No description provided"
start_time: datetime | None = None
interval: timedelta | None = timedelta(seconds=0)
return