Files
dz/solutions/69dd4221f309a98be0006b2e_сырой_текст_задания___плоская_карточка

Сырой текст задания → Плоская карточка

Описание

Данный проект реализует конвертацию «сырого» текста задания в формат плоской карточки (flat card). Карточка представляет собой упрощённую, визуально чистую версию исходного документа, пригодную для быстрого просмотра и дальнейшего использования в системах управления задачами или в качестве шаблона для презентаций.

Структура проекта

project/
├── src/
│   ├── main.py          # Точка входа – скрипт конвертации
│   ├── utils.py         # Вспомогательные функции (парсинг, форматирование)
│   └── templates/       # Шаблоны карточек в формате Markdown / HTML
├── tests/
│   └── test_main.py     # Юнит‑тесты
├── requirements.txt     # Зависимости проекта
└── README.md            # Это файл

Установка зависимостей

# Создайте виртуальное окружение (рекомендуется)
python -m venv .venv
source .venv/bin/activate   # Windows: .\.venv\Scripts\activate

# Установите зависимости из requirements.txt
pip install -r requirements.txt

requirements.txt содержит только необходимые библиотеки, например:

Jinja2>=3.0      # для шаблонизации карточек
Markdown>=3.4    # при необходимости конвертации Markdown в HTML

Запуск

Конвертация одного файла

python src/main.py path/to/raw_task.txt --output path/to/card.md
  • path/to/raw_task.txt – путь к исходному файлу с «сырым» текстом задания.
  • --output (необязательно) – куда сохранить результат. Если не указано, вывод будет в stdout.

Конвертация всех файлов из каталога

python src/main.py path/to/raw_tasks/ --recursive --output-dir path/to/cards/
  • --recursive обрабатывает все .txt файлы внутри указанного каталога и его подпапок.
  • --output-dir – каталог, куда будут сохранены карточки.

Пример использования

# Предположим, у нас есть файл task1.txt со следующим содержанием:
#
#   # Задача 1
#   Описание: Написать скрипт, который конвертирует сырой текст в плоскую карточку.
#   Требования:
#     - Использовать Python 3.8+
#     - Сохранять результат в Markdown

python src/main.py task1.txt --output card_task1.md

После выполнения будет создан файл card_task1.md со следующим содержимым:

# Задача 1

**Описание:**  
Написать скрипт, который конвертирует сырой текст в плоскую карточку.

## Требования
- Использовать Python 3.8+
- Сохранять результат в Markdown

Тесты

pytest tests/

Все тесты находятся в каталоге tests/ и проверяют корректность парсинга, форматирования и генерации карточек.

Лицензия

MIT License см. файл LICENSE.