Commit Graph
2 Commits
Author SHA1 Message Date
ddadmin 510d6ccfc9 feat(utils): реализованы проверки окружения (шаг 2)
- Зачем:
  - необходимы утилиты для проверки ffmpeg, определения устройства и
    валидации входного файла перед запуском транскрипции.
- Что:
  - check_ffmpeg() завершает процесс с понятным сообщением, если ffmpeg не в PATH.
  - detect_device() возвращает "cuda" при наличии nvidia-smi, иначе "cpu".
  - get_gpu_name() получает имя GPU через nvidia-smi или возвращает None.
  - validate_input_file() проверяет существование, тип и размер файла;
    неизвестное расширение — warning, не ошибка.
  - build_output_path() формирует путь <stem>-transcript.md рядом с исходником.
- Проверка:
  - uv run pytest tests/test_utils.py -v — 9 passed.
  - uv run python -c "from local_transcriber.utils import check_ffmpeg, detect_device; check_ffmpeg(); print(detect_device())"
2026-03-17 21:51:22 +03:00
ddadmin ade3b23301 feat(scaffold): добавлена начальная структура проекта local-transcriber
- Зачем:
  - необходима базовая структура пакета для последовательной реализации шагов по плану.
- Что:
  - создан pyproject.toml с зависимостями typer, rich и dev-зависимостью pytest.
  - добавлены модули-заглушки cli.py, transcriber.py, formatter.py, utils.py с сигнатурами и raise NotImplementedError.
  - созданы пустые тестовые файлы test_formatter.py, test_transcriber.py, test_utils.py.
  - добавлены .gitignore и uv.lock; отмечены чекбоксы шага 1 в docs/plan.md.
- Проверка:
  - uv run transcribe --help — показывает аргументы.
  - uv run pytest — тесты обнаруживаются без ошибок.
  - python -c "from local_transcriber import cli, transcriber, formatter, utils" — импорт без ошибок.
2026-03-17 21:46:10 +03:00