В ходе выполнения лабораторной работы реализован сериализатор. Получившийся сериализатор должен корректно сериализовывать (сохранять / упаковывать) и десериализовать (восстанавливать / распаковывать) хранимую информацию. И разработать на основе сериализатора консольную утилиту.
Код вашей программы должен содержать фабричный метод create_serializer(), который будет порождать различные типы сериализаторов: JSON, YAML, TOML, PICKLE. Должна быть возможность легко добавить новый сериализатор, не изменяя архитектуру приложения.
Каждый из сериализаторов должен реализовывать следующие методы:
● dump(obj, fp) — сериализует Python объект в файл
● dumps(obj) — сериализует Python объект в строку
● load(fp) — десериализует Python объект из файла
● loads(s) — десериализует Python объект из строки Дополнительные аргументы в методы можете передавать какие хотите :)
Сериализация/десериализация :
● функции
Консольная утилита должна работать следующим образом:
Конвертация сериализованных объектов из одного поддерживаемого формата в другой. Путь к файлу (файлам) указывается относительным или абсолютным путем, отдельным параметром передается новый формат. При указании исходного формата конвертирование не должно выполняться.
В случае передачи параметром файла конфигурации, вся информация должна браться оттуда и все остальные параметры проигнорированы.
● Тесты:
coverage run --source=serializations,services -m unittest tests.py
coverage report