В результате выполнения этого задания вы:
- Познакомитесь с синтаксисами JSON и YAML.
- Узнаете как преобразовать один формат в другой при помощи пары строк.
Установлена библиотека pyyaml для Python 3.
- Скопируйте в свой .md-файл содержимое этого файла; исходники можно посмотреть здесь.
- Заполните недостающие части документа решением задач (заменяйте
???
, остальное в шаблоне не меняйте, чтобы не сломать форматирование текста, подсветку синтаксиса и прочее) и отправляйте на проверку. Вместо логов можно вставить скриншоты по желанию. - Любые вопросы по выполнению заданий спрашивайте в чате учебной группы и/или в разделе “Вопросы по заданию” в личном кабинете.
Полезные ссылки для модуля "Скриптовые языки и языки разметки"
Мы выгрузили JSON, который получили через API запрос к нашему сервису:
{ "info" : "Sample JSON output from our service\t",
"elements" :[
{ "name" : "first",
"type" : "server",
"ip" : 7175
}
{ "name" : "second",
"type" : "proxy",
"ip : 71.78.22.43
}
]
}
Нужно найти и исправить все ошибки, которые допускает наш сервис
???
В прошлый рабочий день мы создавали скрипт, позволяющий опрашивать веб-сервисы и получать их IP. К уже реализованному функционалу нам нужно добавить возможность записи JSON и YAML файлов, описывающих наши сервисы. Формат записи JSON по одному сервису: { "имя сервиса" : "его IP"}
. Формат записи YAML по одному сервису: - имя сервиса: его IP
. Если в момент исполнения скрипта меняется IP у сервиса - он должен так же поменяться в yml и json файле.
???
???
???
???
Так как команды в нашей компании никак не могут прийти к единому мнению о том, какой формат разметки данных использовать: JSON или YAML, нам нужно реализовать парсер из одного формата в другой. Он должен уметь:
- Принимать на вход имя файла
- Проверять формат исходного файла. Если файл не json или yml - скрипт должен остановить свою работу
- Распознавать какой формат данных в файле. Считается, что файлы *.json и *.yml могут быть перепутаны
- Перекодировать данные из исходного формата во второй доступный (из JSON в YAML, из YAML в JSON)
- При обнаружении ошибки в исходном файле - указать в стандартном выводе строку с ошибкой синтаксиса и её номер
- Полученный файл должен иметь имя исходного файла, разница в наименовании обеспечивается разницей расширения файлов
???
???
В личном кабинете отправлена ссылка на .md файл в вашем репозитории.
Зачет - выполнены все задания, ответы даны в развернутой форме, приложены соответствующие скриншоты и файлы проекта, в выполненных заданиях нет противоречий и нарушения логики.
На доработку - задание выполнено частично или не выполнено, в логике выполнения заданий есть противоречия, существенные недостатки.
Обязательными к выполнению являются задачи без указания звездочки. Их выполнение необходимо для получения зачета и диплома о профессиональной переподготовке. Задачи со звездочкой (*) являются дополнительными задачами и/или задачами повышенной сложности. Они не являются обязательными к выполнению, но помогут вам глубже понять тему.