""" Менеджер списка задач Управление коллекцией задач """ from task import Task from storage import save_tasks_to_file, load_tasks_from_file 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() def save(self, filename="tasks.json"): """Сохранить задачи в файл""" return save_tasks_to_file(self.tasks, filename) def load(self, filename="tasks.json"): """Загрузить задачи из файла""" self.tasks = load_tasks_from_file(filename) return self.tasks