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-файл;Excel-файл;Имя листа;Выходной файл.
Показываются:
TXT-файлилиПапка с TXT;Excel-шаблон;Лист-шаблон;Лист графиков;Выходной файлтолько для режима одного файла.
S2P всегда работает только в шаблонном режиме.
Показываются:
S2P-файлилиПапка с S2P;Excel-шаблон;Лист-шаблон;Лист графиков в шаблоне;Использовать графики из шаблона;Выходной файлтолько для режима одного файла.
Графический интерфейс:
- собирает значения формы;
- валидирует конфигурацию;
- запускает обработку в фоне;
- пишет лог в окно;
- показывает ошибки и успешное завершение через
messagebox.
Внутренний сервисный слой:
- содержит
JobConfigиJobResult; - валидирует параметры запуска;
- маршрутизирует сценарии
TXT/S2P, файл/папка; - вызывает парсеры и Excel-обработчики;
- перехватывает runtime-лог в callback для GUI.
Главный внутренний API:
from autograph_service.service import JobConfig, run_jobautograph_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.txtpython -m unittest discover -s tests -vТесты покрывают:
- smoke и валидацию GUI;
- одиночный и пакетный
TXT; - одиночный и пакетный
S2P; - проверку запрета
S2Pбез шаблонного режима.