diff --git a/task_manager.py b/task_manager.py new file mode 100644 index 0000000..757c950 --- /dev/null +++ b/task_manager.py @@ -0,0 +1,43 @@ +""" +Менеджер списка задач +Управление коллекцией задач +""" + +from task import Task + + +class TaskManager: + """Класс для управления списком задач""" + + def __init__(self): + self.tasks = [] + + def add_task(self, title, description=""): + """Добавить новую задачу в список""" + task = Task(title, description) + self.tasks.append(task) + return task + + def list_tasks(self): + """Вернуть список всех задач""" + return self.tasks + + def get_task_by_index(self, index): + """Получить задачу по индексу""" + if 0 <= index < len(self.tasks): + return self.tasks[index] + return None + + def remove_task(self, index): + """Удалить задачу по индексу""" + if 0 <= index < len(self.tasks): + return self.tasks.pop(index) + return None + + def get_completed_count(self): + """Вернуть количество выполненных задач""" + return sum(1 for task in self.tasks if task.completed) + + def get_pending_count(self): + """Вернуть количество ожидающих задач""" + return len(self.tasks) - self.get_completed_count()