mirror of
https://github.com/Dannecron/netology-devops.git
synced 2025-12-25 23:32:37 +03:00
add homework 4.3 skeleton
This commit is contained in:
75
src/homework/04-script/4.3/readme.md
Normal file
75
src/homework/04-script/4.3/readme.md
Normal file
@@ -0,0 +1,75 @@
|
||||
Выполнение [домашнего задания](https://github.com/netology-code/sysadm-homeworks/blob/devsys10/04-script-03-yaml/README.md)
|
||||
по теме "4.3. Языки разметки JSON и YAML".
|
||||
|
||||
## Q/A
|
||||
|
||||
### Обязательная задача 1
|
||||
|
||||
Мы выгрузили 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
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Нужно найти и исправить все ошибки, которые допускает наш сервис
|
||||
|
||||
### Обязательная задача 2
|
||||
|
||||
В прошлый рабочий день мы создавали скрипт, позволяющий опрашивать веб-сервисы и получать их IP. К уже реализованному функционалу нам нужно добавить возможность записи JSON и YAML файлов, описывающих наши сервисы. Формат записи JSON по одному сервису: `{ "имя сервиса" : "его IP"}`. Формат записи YAML по одному сервису: `- имя сервиса: его IP`. Если в момент исполнения скрипта меняется IP у сервиса - он должен так же поменяться в yml и json файле.
|
||||
|
||||
#### Ваш скрипт:
|
||||
|
||||
```python
|
||||
???
|
||||
```
|
||||
|
||||
#### Вывод скрипта при запуске при тестировании:
|
||||
|
||||
```
|
||||
???
|
||||
```
|
||||
|
||||
#### json-файл(ы), который(е) записал ваш скрипт:
|
||||
|
||||
```json
|
||||
???
|
||||
```
|
||||
|
||||
#### yml-файл(ы), который(е) записал ваш скрипт:
|
||||
|
||||
```yaml
|
||||
???
|
||||
```
|
||||
|
||||
### Дополнительное задание (со звездочкой*) - необязательно к выполнению
|
||||
|
||||
Так как команды в нашей компании никак не могут прийти к единому мнению о том, какой формат разметки данных использовать: JSON или YAML, нам нужно реализовать парсер из одного формата в другой. Он должен уметь:
|
||||
* Принимать на вход имя файла
|
||||
* Проверять формат исходного файла. Если файл не json или yml - скрипт должен остановить свою работу
|
||||
* Распознавать какой формат данных в файле. Считается, что файлы *.json и *.yml могут быть перепутаны
|
||||
* Перекодировать данные из исходного формата во второй доступный (из JSON в YAML, из YAML в JSON)
|
||||
* При обнаружении ошибки в исходном файле - указать в стандартном выводе строку с ошибкой синтаксиса и её номер
|
||||
* Полученный файл должен иметь имя исходного файла, разница в наименовании обеспечивается разницей расширения файлов
|
||||
|
||||
#### Ваш скрипт:
|
||||
|
||||
```python
|
||||
???
|
||||
```
|
||||
|
||||
#### Пример работы скрипта:
|
||||
|
||||
```
|
||||
???
|
||||
```
|
||||
Reference in New Issue
Block a user