December 23, 2022

Tracker

Скрипт может обрабатывать команды вроде "добавить новое задание", "показать список заданий на сегодня", "показать список заданий на неделю" и т.д.

  • название задания
  • описание задания
  • срок выполнения
  • статус выполнения (не начато, в процессе, завершено)

  • Добавить то что задание выполнено, или нет доступных заданий
  • Посмотреть список команд -> или интерфейс
  • Добавить функционал ведения простой статистики, такой как количество выполненных/невыполненных задач, общее количество задач и т. д.
  • Сделать программу более интерактивной, например, путем добавления меню выбора действий (например, добавление новой задачи, просмотр списка задач, выход из программы и т. д.)
  • Добавить функционал, позволяющий пользователю указывать сроки выполнения задач и получать уведомления о просроченных задачах
  • Создать систему категорий для задач (например, работа, личные дела, хобби) и давать возможность пользователю фильтровать список задач по категориям
  • Добавить функционал приоритезации задач: пользователь может указывать, какие задачи являются приоритетными, и программа может отображать список задач в порядке приоритета.
  • Добавить функционал уведомлений: пользователь может задавать уведомления о задачах (например, напоминания о выполнении задачи в определенное время или дату), и программа будет отправлять уведомления в указанное время. Можно реализовать с помощью функций по расписанию (например, с помощью модуля sched в Python).
  • возможностью добавления тегов к заданиям, чтобы было удобнее их отслеживать и фильтровать
  • отображением графика выполнения заданий за определенный период времени
  • Добавления записей в базу данных

Бонус - сделать веб сайт интерфейс или интерфейс используя PyQt5

ЧТО ФИКСИТЬ СЕЙЧАС

СДЕЛАТЬ ЗАПИСЬ С НОВОГО РЯДКА ЕСЛИ КОЛЛИЧЕСТВО СИМВОЛОВ > n

придумать способ записи:

так как вставляется буква, то мы и по ее индексу высчитываем в "edci", например мы ввели d значит длина нашего словаря + индекс буквы в "edci" + 1 так как индексы с 0

штука добавить новое задание, мы в список добавляем еще один список, и потом проверяем по индексам есть ли в нашем временном списке такое занятие

Этапы считают по количеству записей

Засечь текущее время

пронумеровать их и сделать запись в файл


сделать динамическое время

вынести открытие файла в отдельную функцию

def read_tasks():
    try:
        with open("tasks.txt", "r", encoding="utf-8") as file:
            string = ''.join(file.readlines())
            task_list = [json.loads(line) for line in string.split('\n') if line]

            if not task_list:
                raise ValueError("\nNo tasks found.\n")

            return task_list
    except FileNotFoundError:
        print("tasks.txt not found")

сделать стабильное меню или вынести на графический дизайн или в тг