КиноПоиск API (Gem)
Этот gem создан для упрощения работы с КиноПоиск API в проектах на Ruby.
Гем работает через API от кинопоиска.
Используется соответственно не официально, прикидываясь андроидом.
Что нового
- Изменено название гема.
- Восстановлена работа API использует последнюю версию подписи 5.0.0.
- Написаны тесты.
- Добавлен travis-ci.
Установка
Добавьте эту строку в Gemfile вашего приложения:
gem 'kp_api'
Затем выполните:
$ bundle
Использование
Глобальные функции
api = KpApi::[Class]
api.status
api.data
api.data2
api.status
api.status2
Исключения
При ошибке выбрасывается исключение KpApi::ApiError. Доступные методы.
e.code
=> "404"
e.body
=> [key:false]
Классы
Практически каждый метод имеет отдельный класс. При инициализации класса
выполняется запрос к АПИ, возвращая текущий объект или исключение.
Фильм
film = KpApi::Film.new(film_id)
film.view
film.rating
film.rent
film.budget
film.peoples
film.peoples_full
Люди(Режиссеры, актеры, операторы и т.д.).
Сервер не выдаёт 404 на не существующего человека.
Исключение реализовано проверкой(NameRu, nameEn).
people = KpApi::People.new(people_id)
people.view
people.films
people.films_ids
Категории
Список категорий, не понятно для чего нужен параметр country_id
, но без него не
проходит запрос. По умолчанию 2(Россия).
category = KpApi::Category.new(country_id=2)
category.countries
category.cities
category.genres
Сегодня в кино
Список фильмов идущих сегодня в кино.
Если города не существует возвращает пустой массив.
- Параметр
city_id
не обязательный, по умолчанию 1(Москва). - Параметр
country_id
не обязательный, по умолчанию 2(Россия).
Возможно не используется, т.к. первый уникальный, но приложение передает его в заголовках.
Доступны только эти страны:
- 2 - Россия
- 62 - Украина
- 69 - Беларусь
- 122 - Казахстан
- 71 - Узбекистан
today = KpApi::Today.new(city_id=1, country_id=2)
today.view
today.film_ids
Поиск
Глобальный поиск
search = KpApi::GlobalSearch.new('Бразилия')
search.found?
search.films_count
search.peoples_count
search.youmean
search.films
search.peoples
Поиск по фильмам
search = KpApi::FilmSearch.new('Привет')
search.found?
search.view
search.films_count
search.current_page
search.page_count
search.next_page
Поиск по людям
search = KpApi::PeopleSearch.new('Андрей')
search.view
search.peoples_count
search.current_page
search.page_count
search.next_page
Живой поиск
search = KpApi::PeopleSearch.new('Анд')
search.found?
search.items
Топы
Списки лучших
Пока реализованны только:
:popular_films
:best_films
:await_films
:popular_people
top = KpApi::Top.new(:popular_films)
top.view
top.view_all(limit=15)
top.view_all(limit=15)
Поиск по рейтингу
@todo
Благодарность
Всем кто связывался со мной и помог разобраться с алгоритмом.
License
The gem is available as open source under the terms of the MIT License.