Skip to content

Latest commit

 

History

29 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DocValidator

DocValidator — это инструмент для проверки содержимого каталога документов по заранее заданным требованиям. Программа умеет искать обязательные файлы, проверять расширения, обнаруживать пустые и лишние файлы, а затем формировать отчет в текстовом, JSON или CSV формате.

Что умеет программа

  • проверять существование целевого каталога;
  • загружать требования из JSON-файла;
  • искать файлы по имени и допустимым расширениям;
  • выявлять отсутствующие, пустые и лишние файлы;
  • формировать отчет в формате .txt, .json, .csv, .pdf;
  • работать как через CLI, так и через графический интерфейс на базе tkinter.

Установка

  1. Перейти в корень проекта.
  2. Создать виртуальное окружение и установить зависимости:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Запуск через CLI

Основная команда запуска:

python3 -m doc_validator.main <target_dir> [-r requirements.json] [-o report.txt] [-f txt|json|csv] [--full] [--debug]

Параметры

  • target_dir — обязательный путь к каталогу, который нужно проверить;
  • -r, --requirements — путь к JSON-файлу требований;
  • -o, --output — путь к файлу отчета. Если не указан, отчет выводится в консоль;
  • -f, --format — формат отчета: txt, json, csv или .pdf;
  • --full — включить более подробный вывод в консоль;
  • --debug — включить подробные служебные сообщения.

Примеры

python3 -m doc_validator.main examples/documents -r examples/expected_files.json
python3 -m doc_validator.main examples/documents -r examples/expected_files.json -o output/report.txt -f txt --full
python3 -m doc_validator.main examples/documents -r examples/expected_files.json -o output/report.json -f json --debug

Запуск через GUI

Графический интерфейс реализован в файле gui.py.

python3 gui.py

В интерфейсе можно:

  • выбрать каталог для проверки;
  • ввести список ожидаемых файлов;
  • включить рекурсивный поиск;
  • включить проверку пустых и лишних файлов;
  • сохранить отчет в файл или вывести его в окно интерфейса.

Формат файла требований

Файл требований должен быть JSON-объектом со следующими полями:

  • required_files — список ожидаемых файлов;
  • settings — настройки проверки (recursive, check_empty_files, detect_extra_files).

Пример можно увидеть в файле examples/expected_files.json.

{
  "required_files": [
    {
      "name": "report",
      "allowed_extensions": [".pdf", ".docx"],
      "required": true
    }
  ],
  "settings": {
    "recursive": true,
    "check_empty_files": true,
    "detect_extra_files": true
  }
}

Поддерживаемые расширения

Для ожидаемых файлов поддерживаются следующие расширения:

  • .txt
  • .doc
  • .docx
  • .pdf
  • .xls
  • .xlsx
  • .ppt
  • .pptx

Ограничения текущей версии

  • отчеты поддерживаются только в форматах .txt, .json, .csv и .pdf;
  • проверка выполняется последовательно;
  • интерфейс и отчеты ориентированы на русский язык;
  • файлы без расширения и файлы с неподдерживаемыми расширениями не участвуют в проверке как ожидаемые документы.

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

Проект реализован и готов к использованию как CLI-приложение и как GUI-приложение.

About

DocValidator - это CLI-программа для автоматизированной проверки каталога документов по заданному набору требований. Она помогает выявлять отсутствие файлов, несоответствие расширений, ошибки в структуре входных данных и формирует отчет о результатах проверки.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages