
Security News
Rspack Introduces Rslint, a TypeScript-First Linter Written in Go
Rspack launches Rslint, a fast TypeScript-first linter built on typescript-go, joining in on the trend of toolchains creating their own linters.
Этот gem создан для упрощения работы с КиноПоиск API в проектах на Ruby. Гем работает через API от кинопоиска. Используется соответственно не официально, прикидываясь андроидом.
Добавьте эту строку в Gemfile вашего приложения:
gem 'kp_api'
Затем выполните:
$ bundle
api = KpApi::[Class]
api.status
# > true [Получена следующая станица]
# > false [Достигли конца пагинации]
# Оригинальный хеш кинопоиска
api.data
# Оригинальный хеш кинопоиска (используется в некоторых классах для дополнительного запроса).
# Пример: film.peoples_full)
api.data2
# Статус парсинга json
# Boolean
api.status
# Статус парсинга json дополнительного запроса.
# Boolean
api.status2
При ошибке выбрасывается исключение KpApi::ApiError. Доступные методы.
# http код ответа
e.code
=> "404"
# Тело ответа
e.body
=> [key:false]
Практически каждый метод имеет отдельный класс. При инициализации класса выполняется запрос к АПИ, возвращая текущий объект или исключение.
film = KpApi::Film.new(film_id)
# Вся информация о фильме(включая rating, rent, budget).
film.view
# Рейтинги фильма и т.д.
film.rating
# Даты премьер и т.д.
film.rent
# Бюджет и сборы.
film.budget
# Люди связанные с фильмом(Не полный список, смотрите ниже).
film.peoples
# Люди связанные с фильмом(Полный список). Генерирует новый запрос к API.
film.peoples_full
Сервер не выдаёт 404 на не существующего человека. Исключение реализовано проверкой(NameRu, nameEn).
people = KpApi::People.new(people_id)
# Детальная информация о человеке.
people.view
# Фильмы связанные с конкретным человеком.
people.films
# Массив id фильмов связанных с конкретным человеком.
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(Россия).
Возможно не используется, т.к. первый уникальный, но приложение передает его в заголовках.Доступны только эти страны:
today = KpApi::Today.new(city_id=1, country_id=2)
# Список фильмов
today.view
# Массив id фильмов
today.film_ids
search = KpApi::GlobalSearch.new('Бразилия')
# Найдено ли что-нибудь
search.found?
# Количество найденных фильмов
search.films_count
# Количество найденных фильмов
search.peoples_count
# Скорее всего вы искали этот фильм
search.youmean
# Остальные найденные фильмы(лимит: 3)
search.films
# Или даже этих людей
search.peoples
search = KpApi::FilmSearch.new('Привет')
# Найдено ли что-нибудь)
search.found?
# Список фильмов (не более 20)
search.view
# Количество найденных фильмов
search.films_count
# Текущая страница
search.current_page
# Количество страниц
search.page_count
# Следующая страница(новый запрос к АПИ)
search.next_page
# > true [Получена следующая станица]
# > false [Достигли конца пагинации]
search = KpApi::PeopleSearch.new('Андрей')
# Список людей (не более 20)
search.view
# Количество найденных фильмов
search.peoples_count
# Текущая страница
search.current_page
# Количество страниц
search.page_count
# Следующая страница
search.next_page
# > true [Получена следующая станица]
# > false [Достигли конца пагинации]
search = KpApi::PeopleSearch.new('Анд')
# Найдено ли что-нибудь)
search.found?
# Массив фильмов/людей в перемешку
# (@todo удалить неиспользуемые поля)
search.items
Пока реализованны только:
:popular_films
:best_films
:await_films
:popular_people
top = KpApi::Top.new(:popular_films)
# Массив топов (ограничение 20)
top.view
# Массив хешей топов (рекурсивно идём по пагинации)
top.view_all(limit=15)
# Массив Integer топа (рекурсивно идём по пагинации)
top.view_all(limit=15)
@todo
Всем кто связывался со мной и помог разобраться с алгоритмом.
The gem is available as open source under the terms of the MIT License.
FAQs
Unknown package
We found that kp_api demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Rspack launches Rslint, a fast TypeScript-first linter built on typescript-go, joining in on the trend of toolchains creating their own linters.
Security News
Hacker Demonstrates How Easy It Is To Steal Data From Popular Password Managers
Security News
Oxlint’s new preview brings type-aware linting powered by typescript-go, combining advanced TypeScript rules with native-speed performance.