Данное приложение представляет из себя парсер, сравнивающий два файла популярных форматов между собой и показывающий отличие между ними. Здесь первый файл является старым файлом, второй файл является новым файлом.
- JSON
- YAML, YML
!Важно. Файлы сравниваются одного формата. Нельзя открывать файл YAML/YML и JSON вместе.
- STYLISH -- строка, представляет из себя дерево отличий и содержит следующие служебные символы:
+
добавление новых данных в файл. Новые данные содержатся во втором файле;-
удаление данных. Во втором файле нет данных, которые есть в первом.+, -
обновление данных в файле. Данные сдержащиеся в обеих файлах изменили значение. Если иземенений значения в данных нет -- выводится одна строка с этими данными. Если изменений не произошло ни в одних данных -- выводится обычное дерево данных.
- PLAIN -- строка, представляет из себя обычные строки, в каждой из которых напрямую указывается изменения в файлах. В этом формате показываются только измененные данные.
- JSON -- строка фората JSON. В каждом ключе данных указывается тип изменения. О данном формате подробнее можно почитать в Интернете.
- Для начала необходимо установить окружение.
- Далее установить poetry.
- Перейти в директорию
python-project-50
и ввестиpoetry install
. Данная команда создаст виртуальное окружение в текущей директории. - Далее нужно собрать пакет командой
make biuld
. !Неоходимо находиться в директории python-project, т.к. в ней есть Makefile. Все make команды будут работать только там. - Желательно опубликовать приложение в индексе репозиториев PiCl командой
make publish
. - Для установки приложения из пакетов ввести
make package-install
. Приложение установлено и готово к использованию. - Если в процессе установки возникла ошибка, в которой указана невозможность установки по причине того, что файлы уже существуют в системе, то необходимо ввести
make package-reinstall
. Команда перезапишет предыдущую установку в системе.
gendiff path/name_file1.json/yaml path/name_file2.json/yaml
-- запуск приложения с указанием абсолютного пути к файлам- При запуске без опций по умолчанию вывод происходит в формате STYLISH.
--format
,-f
-- опции формата. Указываются до путей к файлам.
stylish
-- формат STYLISH.plain
-- формат PLAIN.json
-- формат JSON.
make test-coverage
-- запуск тестов для приложения. Тесты должны все пройти и указано успешное завершение. В противном случае необходимо обратится за помощью к системному администратору или к разработчику.
gendiff tests/fixtures/file1.json tests/fixtures/file2.json
gendiff tests/fixtures/file1.yaml tests/fixtures/file2.yaml
gendiff -f plain tests/fixtures/file1.json tests/fixtures/file2.json
gendiff -f json tests/fixtures/file1.json tests/fixtures/file2.json
gendiff -f stylish tests/fixtures/file1.json tests/fixtures/file2.json
Входной формат JSON
Входной формат YAML/YML
Выходной формат STYLISH
Выходной формат PLAIN
Выходной формат JSON