MikhailFerapontow / yadro-go

Проект с Golang курс | YADRO
1 stars 0 forks source link

Задание 2 #3

Closed vbelogrudov closed 4 months ago

vbelogrudov commented 4 months ago

Работа с REST API

Цель

Создать CLI приложение, которое скачивает с сайта http://xkcd.com описание всех комиксов, нормализуя слова. На выходе должен получиться json файл вида

{
   “101”: {
       “url”: “https://imgs.xkcd.com/comics/laser_scope.jpg”,
      “keywords”: [“follow”, “question”] 
   },
   “102”: {
   …
}

То есть карта комиксов по ID, в качестве значения - URL картинки и список ключевых слов. Используем стандартный http package, URL-путь до источника должен быть задан в конфигурационном файле. Приложение должно поддерживать опциональный аргумент -o, при котором вывод программы отправляется на экран и -n для ограничения количества комиксов. Каждый комикс идентифицируется целым числом, которому соответствуют страница комикса, например, https://xkcd.com/2651/, URL для описания https://xkcd.com/2651/info.0.json и URL картинки, спрятанной в JSON-e. Рекомендуем при отладке ограничить ID комикса, например до 100. Проект необходимо организовать по пакетам (папкам).

Критерии приемки

Материалы для ознакомления

HTTP & REST & JSON:

MikhailFerapontow commented 4 months ago

Вопрос. Если файл конфига отсутствует, что нужно сделать?

Я бы предпочёл спаниковать (программа всё равно не начала свою работу), ведь конфиг обязан загрузится. В тоже время в задании написано, что имеются default значения у source_url и db_file.

Поэтому предлагаю пока такую логику:

  1. Если не найден файл конфига -- паниковать
  2. Если найден, но отсутствуют нужные поля, выдавать им default значение.
vbelogrudov commented 4 months ago

привет,

если нет конфига, можно и запаниковать.

Создай, пожалуйста, PR. Если у тебя код уже лежит на какой-либо ветке, создай пустую типа release-2 и PR из твоей ветки в release-2