Skip to content

Repository files navigation

AutoGraph

GUI-приложение на Tkinter для переноса измерительных данных из TXT и S2P в Excel-книги и Excel-шаблоны.

Что умеет

  • импорт одного TXT-файла в Excel;
  • пакетная обработка папки TXT-файлов;
  • импорт одного S2P-файла в Excel-шаблон;
  • пакетная обработка папки S2P-файлов;
  • обновление формул, серий и графиков внутри подготовленных Excel-шаблонов.

Запуск

Поддерживаются три GUI-entrypoint'а:

python main.py
python -m autograph_service
autograph

Все три варианта открывают одно и то же окно Tkinter.

Интерфейс

Окно состоит из одной формы и встроенного лога выполнения.

Основные элементы:

  • выбор типа данных: TXT или S2P;
  • выбор источника: Один файл или Папка;
  • путь к входным данным;
  • путь к Excel-файлу или Excel-шаблону;
  • чекбокс Шаблонный режим;
  • кнопка Запустить;
  • кнопка Очистить;
  • многострочный лог только для чтения.

Динамические поля

TXT, один файл, обычный режим

Показываются:

  • TXT-файл;
  • Excel-файл;
  • Имя листа;
  • Выходной файл.

TXT, шаблонный режим

Показываются:

  • TXT-файл или Папка с TXT;
  • Excel-шаблон;
  • Лист-шаблон;
  • Лист графиков;
  • Выходной файл только для режима одного файла.

S2P

S2P всегда работает только в шаблонном режиме.

Показываются:

  • S2P-файл или Папка с S2P;
  • Excel-шаблон;
  • Лист-шаблон;
  • Лист графиков в шаблоне;
  • Использовать графики из шаблона;
  • Выходной файл только для режима одного файла.

Внутренняя архитектура

autograph_service/gui.py

Графический интерфейс:

  • собирает значения формы;
  • валидирует конфигурацию;
  • запускает обработку в фоне;
  • пишет лог в окно;
  • показывает ошибки и успешное завершение через messagebox.

autograph_service/service.py

Внутренний сервисный слой:

  • содержит JobConfig и JobResult;
  • валидирует параметры запуска;
  • маршрутизирует сценарии TXT/S2P, файл/папка;
  • вызывает парсеры и Excel-обработчики;
  • перехватывает runtime-лог в callback для GUI.

Главный внутренний API:

from autograph_service.service import JobConfig, run_job

Runtime-модули

  • autograph_service/txt_parser.py — парсер TXT;
  • autograph_service/s2p_parser.py — парсер S2P;
  • autograph_service/excel_handler.py — работа с TXT-сценариями в Excel;
  • autograph_service/s2p_excel_handler.py — работа с S2P-шаблонами и графиками.

Ограничения

  • S2P без шаблона не поддерживается;
  • логика по-прежнему завязана на структуру Excel-шаблонов;
  • лист графиков для TXT ограничен 8 слотами серий;
  • настройки create-chart не выведены в GUI первой версии.

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

pip install -r requirements.txt

Тесты

python -m unittest discover -s tests -v

Тесты покрывают:

  • smoke и валидацию GUI;
  • одиночный и пакетный TXT;
  • одиночный и пакетный S2P;
  • проверку запрета S2P без шаблонного режима.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages