KinopoiskAPI 0.8.2 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7afc41b11af49e12d3b259a454b831fd286e5f57
4
- data.tar.gz: 2a56181c33f432ee83855bfa127cb47e0d71fb8e
3
+ metadata.gz: 179e576c676fab3f3b46e0b86693a8fe4b87613e
4
+ data.tar.gz: 21661aef4cd08b1a2f991a49c40529bd2f020fde
5
5
  SHA512:
6
- metadata.gz: dfc3fb6668ebe82a14e89bb5a39f9bafa824797a0e76e5641472bbf56cf1adade6c404352f27cf8540d5c67ee02c48ed1b7d8ede2456b2468296f6c8f488e69d
7
- data.tar.gz: 3513459760d2da9402dc3a438f676b1957638f2798ad78e16024e05c03760c34d73b4e68c3ad9ecd7dc54b141326ddc8d3a1aa99c4a7ccb179a55ca9ea38af0e
6
+ metadata.gz: 5daf562303b3e50047b44df0b41933894f005a6ea4b9c604de94e1c482862b3dde27580ea815531e4f5983b3d43d00d66d4df7f81210bce5794f31b8c54b2e87
7
+ data.tar.gz: e46bf93b44dc2fed91afe050a302ff07b710a50ea151ac37fc7a0ee27f452e0cd843de0a8ea38f3291a9bc388a4fd860e1ea0da7d3eddac681f42d5a8af7af0d
data/.gitignore CHANGED
@@ -8,5 +8,7 @@
8
8
  /spec/reports/
9
9
  /tmp/
10
10
 
11
+ *.old
12
+
11
13
  # rspec failure tracking
12
14
  .rspec_stat
data/README.md CHANGED
@@ -2,17 +2,16 @@
2
2
 
3
3
  Этот gem создан для упрощения работы с КиноПоиск API в проектах Ruby on Rails.
4
4
 
5
- Гем основан официальном API от кинопоиска. Используется не официально, прикидываясь андройдом.
6
- Данный гем являеться форком проекта afuno/Kinopoisk-API-Gem, но т.к http://api.kinopoisk.cf/ не работает, то пришлось переделать для работы на прямую с кинопоиском.
5
+ Гем основан официальном API от кинопоиска. Используется не официально, прикидываясь андройдом. Данный гем являеться форком проекта afuno/Kinopoisk-API-Gem, но т.к http://api.kinopoisk.cf/ не работает, то пришлось переделать для работы на прямую с кинопоиском.
7
6
 
8
- Используется версия api 3.11.0
7
+ Используется версия api 3.11.0 (планируется перевести на 5.0.0)
9
8
 
10
9
  ## Установка
11
10
 
12
11
  Добавьте эту строку в Gemfile вашего приложения:
13
12
 
14
13
  ```ruby
15
- gem 'KinopoiskAPI' , github: 'alpha-ver/Kinopoisk-API-Gem', branch: 'master'
14
+ gem 'KinopoiskAPI'
16
15
  ```
17
16
 
18
17
  Затем выполните:
@@ -22,261 +21,236 @@ gem 'KinopoiskAPI' , github: 'alpha-ver/Kinopoisk-API-Gem', branch: 'master'
22
21
 
23
22
  ## Использование
24
23
 
25
- ### Фильм
24
+ ### Глабальные функции
26
25
 
27
26
  ```ruby
28
- film = KinopoiskAPI::Film.new(733493)
27
+ api = KinopoiskAPI::Class
29
28
  ```
29
+
30
30
  ```ruby
31
- # Вся информация о фильме
32
- film.all
31
+ api.status
32
+ # > true [Полученна следующая станица]
33
+ # > false [Достигли конца пагинации]
33
34
  ```
35
+
34
36
  ```ruby
35
- # Название фильма на русском
36
- film.title[:ru]
37
+ # Оригинальный хеш кинопоиска
38
+ api.data
37
39
  ```
40
+
38
41
  ```ruby
39
- # Название фильма на английском
40
- film.title[:en]
42
+ # Оригинальный хеш кинопоиска (используется в некоторых классах для дополнительного запроса).
43
+ # Пример: __film.peoples_full__)
44
+ api.data2
41
45
  ```
42
46
 
43
- Доступен вывод следующей информации:
44
-
45
- * **id** - КиноПоиск ID
46
- * **url** - URL адрес страницы на КиноПоиск
47
- * **title** - Названия:
48
- * **ru** - На русском
49
- * **en** - На английском
50
- * **slogan** - Слоган
51
- * **description** - Описание
52
- * **poster** - Полный адрес на постер (в формате JPG)
53
- * **year** - Год выхода
54
- * **kinopoisk** - Массив следующих данных для КиноПоиск:
55
- * **rating** - Рейтинг
56
- * **quantity** - Количество оценивших
57
- * **good_reviews_in_percentage** - Количество положительных рецензий в процентах
58
- * **number_of_good_reviews** - Количество положительных рецензий
59
- * **waiting_in_percentage** - Количество ожидающих в процентах
60
- * **number_of_waiting** - Количество ожидающих
61
- * **film_critics_in_percentage** - Положительны рейтинг критиков в мире в процентах
62
- * **film_critics** - Количество положительных оценок критиков в мире
63
- * **rf_critics_in_percentage** - Положительны рейтинг критиков в РФ в процентах
64
- * **rf_critics** - Количество положительных оценок критиков в РФ
65
- * **imdb** - Массив следующих данных для IMDb:
66
- * **id** - IMDb ID
67
- * **rating** - Рейтинг
68
- * **quantity** - Количество оценивших
69
- * **number_of_reviews** - Количество рецензий
70
- * **duration** - Продолжительность фильма
71
- * **countries** - Массив со странами
72
- * **genres** - Массив с жанрами
73
- * **video** - Полный адрес на трейлер
74
- * **is_sequel_or_prequel** - Имеет ли сиквелы или приквелы
75
- * **is_similar_films** - Имеет ли родственные фильмы
76
- * **is_imax** - Есть ли IMAX
77
- * **is_3d** - Есть ли 3D
78
- * **rating_mpaa** - Рейтинг MPAA
79
- * **minimal_age** - Минимальный рекомендуемый возраст
80
- * **premiere** - Массив данных о премьере:
81
- * **ru** - Дата премьеры в РФ
82
- * **world** - Дата премьеры в мире
83
- * **world_country** - Страна премьеры
84
- * **status** - Проверка полученного JSON (true или false)
85
47
 
86
- ### Режисеры, актеры, операторы и т. д.
48
+ ```ruby
49
+ # Статус парсинга json
50
+ # Boolean
51
+ api.status
52
+ ```
87
53
 
88
54
  ```ruby
89
- staff = KinopoiskAPI::Staff.new(733493)
55
+ # Статус парсинга json дополнительного запроса.
56
+ # Boolean
57
+ api.status2
90
58
  ```
59
+
60
+ ### Исключения
61
+
62
+ При ошибке выбасывается исключение __KinopoiskAPI::APIerror__. Доступные методы.
63
+
91
64
  ```ruby
92
- # Все имена всех профессий
93
- staff.all
65
+ # http код ответа
66
+ e.code
67
+ => "404"
94
68
  ```
69
+
95
70
  ```ruby
96
- # Все имена одной профессии
97
- staff.profession('writer')
71
+ # Тело ответа
72
+ e.body
73
+ => [key:false]
98
74
  ```
99
75
 
100
- Доступен вывод следующей информации:
101
76
 
102
- * **id** - Идентификатор имени на сайте КиноПоиск
103
- * **url** - URL на страницу именина КиноПоиск
104
- * **full_name** - Имена:
105
- * **ru** - На русском
106
- * **en** - На английском
107
- * **poster** - Полный адрес на постер (в формате JPG)
108
- * **profession** - Профессия на русском (актер, режиссер и т. д.)
109
- * **status** - Проверка полученного JSON (true или false)
77
+ ## Классы
78
+
79
+ ### Фильм
110
80
 
111
- ### Галерея
81
+ ```ruby
82
+ film = KinopoiskAPI::Film.new(film_id)
83
+ ```
112
84
 
113
85
  ```ruby
114
- gallery = KinopoiskAPI::Gallery.new(733493)
86
+ # Вся информация о фильме(включая rating, rent, budget).
87
+ film.view
115
88
  ```
116
89
  ```ruby
117
- # Все изображения из всех разделов
118
- gallery.all
90
+ # Рейтинги фильма и т.д.
91
+ film.rating
119
92
  ```
120
93
  ```ruby
121
- # Все изображения из конкретного раздела
122
- gallery.section('poster')
94
+ # Даты премьер и т.д.
95
+ film.rent
123
96
  ```
124
97
 
125
- Доступен вывод следующей информации:
98
+ ```ruby
99
+ # Бюджет и сборы.
100
+ film.budget
101
+ ```
126
102
 
127
- * **image** - Полный адрес на полное изображение (в формате JPG)
128
- * **preview** - Полный адрес на превью формате JPG)
129
- * **status** - Проверка полученного JSON (true или false)
103
+ ```ruby
104
+ # Люди связанные с фильмом(Не полный список, смотрите ниже).
105
+ film.peoples
106
+ ```
130
107
 
131
- ### Похожие
108
+ ```ruby
109
+ # Люди связанные с фильмом(Полный список). Генерирует новый запрос к API.
110
+ film.peoples_full
111
+ ```
112
+
113
+
114
+ ### Люди(Режисеры, актеры, операторы и т.д.).
115
+
116
+ ```ruby
117
+ people = KinopoiskAPI::People.new(people_id)
118
+ ```
132
119
 
133
120
  ```ruby
134
- similar = KinopoiskAPI::Similar.new(733493)
121
+ # Детальная информация о человеке.
122
+ people.view
135
123
  ```
124
+
136
125
  ```ruby
137
- # Все похожие фильмы
138
- similar.all
126
+ # Фильмы связанные с конкретным человеком.
127
+ people.films
139
128
  ```
140
129
 
141
- Доступен вывод следующей информации:
130
+ ```ruby
131
+ # Массив id фильмов связанных с конкретным человеком.
132
+ people.films_ids
133
+ ```
142
134
 
143
- * **title** - Названия:
144
- * **ru** - На русском
145
- * **en** - На английском
146
- * **year** - Год выхода
147
- * **rating** - Рейтинг
148
- * **number_of_rated** - Количество оценивших
149
- * **poster** - Полный адрес на постер (в формате JPG)
150
- * **duration** - Продолжительность фильма
151
- * **countries** - Массив со странами
152
- * **genres** - Массив с жанрами
153
- * **status** - Проверка полученного JSON (true или false)
154
135
 
155
- ### Жанры
136
+ ### Категории
156
137
 
157
138
  ```ruby
158
- genres = KinopoiskAPI::Genres.new
139
+ category = KinopoiskAPI::Category.new
159
140
  ```
141
+
160
142
  ```ruby
161
- # Все жанры
162
- genres.all
143
+ # Страны
144
+ category.countries
163
145
  ```
164
146
 
165
- Доступен вывод следующей информации:
147
+ ```ruby
148
+ # Жанры
149
+ category.genres
150
+ ```
166
151
 
167
- * **id** - Идентификатор жанра на сайте КиноПоиск
168
- * **name** - Жанр на русском
169
- * **status** - Проверка полученного JSON (true или false)
170
152
 
171
153
  ### Сегодня в кино
172
154
 
173
155
  ```ruby
174
156
  today = KinopoiskAPI::TodayFilms.new
175
157
  ```
158
+
176
159
  ```ruby
177
160
  # Список фильмов
178
- today.all
161
+ today.view
162
+ ```
163
+
164
+ ```ruby
165
+ # Массив id фильмов
166
+ today.film_ids
167
+ ```
168
+
169
+ ### Глобальный поиск
170
+
171
+ ```ruby
172
+ search = KinopoiskAPI::GlobalSearch.new('Q')
173
+ ```
174
+ ```ruby
175
+ # Скорее всего вы искали этот фильм
176
+ search.exactly
177
+ ```
178
+ ```ruby
179
+ # Возможно, вы искали эти фильмы
180
+ search.maybe
181
+ ```
182
+ ```ruby
183
+ # Или даже этих людей
184
+ search.peoples
179
185
  ```
180
186
 
181
- Доступен вывод следующей информации:
182
187
 
183
- * **id** - Идентификатор жанра на сайте КиноПоиск
184
- * **status** - Проверка полученного JSON (true или false)
188
+ ### Поиск по фильмам
185
189
 
190
+ ```ruby
191
+ search = KinopoiskAPI::FilmSearch.new('Q')
192
+ ```
186
193
 
194
+ ```ruby
195
+ # Список фильмов (не более 20)
196
+ search.view
197
+ ```
187
198
 
199
+ ```ruby
200
+ # Колличество найденных фильмов
201
+ search.films_count
202
+ ```
188
203
 
189
- ### Глобавльный поиск
204
+ ```ruby
205
+ # Текущая страница
206
+ search.current_page
207
+ ```
190
208
 
191
209
  ```ruby
192
- global_search = KinopoiskAPI::GlobalSearch.new('Звездные')
210
+ # Колличество страниц
211
+ search.page_count
193
212
  ```
213
+
194
214
  ```ruby
195
- # Скорее всего вы искали этот фильм
196
- global_search.exactly
215
+ # Следующая страница
216
+ search.next_page
217
+ # > true [Полученна следующая станица]
218
+ # > false [Достигли конца пагинации]
197
219
  ```
220
+
221
+
222
+ ### Поиск по людям
223
+
198
224
  ```ruby
199
- # Возможно, вы искали эти фильмы
200
- global_search.maybe
225
+ search = KinopoiskAPI::PeopleSearch.new('Q')
226
+ ```
227
+
228
+ ```ruby
229
+ # Список людей (не более 20)
230
+ search.view
201
231
  ```
232
+
202
233
  ```ruby
203
- # Или даже этих людей
204
- global_search.names
205
- ```
206
-
207
- Доступен вывод следующей информации:
208
-
209
- * **all** - Полный массив данных
210
- * **keyword** - Ключевое слово (запрос)
211
- * **number_of_films** - Количество найденных фильмов по ключевому слову
212
- * **number_of_names** - Количество найденных имен по ключевому слову
213
- * **exactly** - Один, наиболее подходящий фильм:
214
- * **title** - Названия:
215
- * **ru** - На русском
216
- * **en** - На английском
217
- * **info** - Краткая информация
218
- * **duration** - Продолжительность фильма
219
- * **year** - Год выхода
220
- * **countries** - Массив со странами
221
- * **genres** - Массив с жанрами
222
- * **rating** - Рейтинг
223
- * **number_of_rated** - Количество оценивших
224
- * **poster** - Полный адрес на постер (в формате JPG)
225
- * **maybe** - Список фильмов, которые также подходят под запрос:
226
- * **title** - Названия:
227
- * **ru** - На русском
228
- * **en** - На английском
229
- * **info** - Краткая информация
230
- * **duration** - Продолжительность фильма
231
- * **year** - Год выхода
232
- * **countries** - Массив со странами
233
- * **genres** - Массив с жанрами
234
- * **rating** - Рейтинг
235
- * **number_of_rated** - Количество оценивших
236
- * **poster** - Полный адрес на постер (в формате JPG)
237
- * **names** - Список имен, которые также подходят под запрос:
238
- * **full_name** - Имена:
239
- * **ru** - На русском
240
- * **en** - На английском
241
- * **info** - Краткая информация
242
- * **poster** - Полный адрес на постер (в формате JPG)
243
- * **status** - Проверка полученного JSON (true или false)
244
-
245
- ### Рецензии
246
-
247
- ```ruby
248
- reviews = KinopoiskAPI::Reviews.new(733493)
249
- ```
250
- ```ruby
251
- # Количество рецензий
252
- reviews.quantity[:reviews]
253
- ```
254
- ```ruby
255
- # Рецензии
256
- reviews.reviews
257
- ```
258
-
259
- Доступен вывод следующей информации:
260
-
261
- * **all** - Полный массив данных
262
- * **pages** - Количество страниц
263
- * **page** - Текущая страница
264
- * **quantity** - Массив следующих данных:
265
- * **reviews** - Количество рецензий
266
- * **good_reviews** - Количество положительных рецензий
267
- * **good_reviews_in_percent** - Количество положительных рецензий в процентах
268
- * **bad_reviews** - Количество отризательных рецензий
269
- * **neutral_reviews** - Количество нейтральных рецензий
270
- * **reviews** - Список рецензий:
271
- * **id** - Идентификатор на КиноПоиск
272
- * **type** - Тип: положительный, негативный или нейтральный
273
- * **data** - Дата и время публикации
274
- * **author** - Массив данных об авторе:
275
- * **name** - Имя (или никнейм) автора рецензии
276
- * **avatar** - Полный адрес на аватар (в формате JPG)
277
- * **title** - Заголовок
278
- * **description** - Описание
279
- * **status** - Проверка полученного JSON (true или false)
234
+ # Колличество найденных фильмов
235
+ search.peoples_count
236
+ ```
237
+
238
+ ```ruby
239
+ # Текущая страница
240
+ search.current_page
241
+ ```
242
+
243
+ ```ruby
244
+ # Колличество страниц
245
+ search.page_count
246
+ ```
247
+
248
+ ```ruby
249
+ # Следующая страница
250
+ search.next_page
251
+ # > true [Полученна следующая станица]
252
+ # > false [Достигли конца пагинации]
253
+ ```
280
254
 
281
255
  ## License
282
256