spotify-apimatic-sdk 1.0.0__py3-none-any.whl

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.
Files changed (186) hide show
  1. spotify_apimatic_sdk-1.0.0.dist-info/METADATA +150 -0
  2. spotify_apimatic_sdk-1.0.0.dist-info/RECORD +186 -0
  3. spotify_apimatic_sdk-1.0.0.dist-info/WHEEL +5 -0
  4. spotify_apimatic_sdk-1.0.0.dist-info/licenses/LICENSE +30 -0
  5. spotify_apimatic_sdk-1.0.0.dist-info/top_level.txt +1 -0
  6. spotifywebapi/__init__.py +12 -0
  7. spotifywebapi/api_helper.py +19 -0
  8. spotifywebapi/configuration.py +318 -0
  9. spotifywebapi/controllers/__init__.py +20 -0
  10. spotifywebapi/controllers/albums_controller.py +498 -0
  11. spotifywebapi/controllers/artists_controller.py +327 -0
  12. spotifywebapi/controllers/audiobooks_controller.py +441 -0
  13. spotifywebapi/controllers/base_controller.py +67 -0
  14. spotifywebapi/controllers/categories_controller.py +161 -0
  15. spotifywebapi/controllers/chapters_controller.py +157 -0
  16. spotifywebapi/controllers/episodes_controller.py +390 -0
  17. spotifywebapi/controllers/genres_controller.py +84 -0
  18. spotifywebapi/controllers/markets_controller.py +82 -0
  19. spotifywebapi/controllers/o_auth_authorization_controller.py +156 -0
  20. spotifywebapi/controllers/player_controller.py +807 -0
  21. spotifywebapi/controllers/playlists_controller.py +851 -0
  22. spotifywebapi/controllers/search_controller.py +123 -0
  23. spotifywebapi/controllers/shows_controller.py +439 -0
  24. spotifywebapi/controllers/tracks_controller.py +821 -0
  25. spotifywebapi/controllers/users_controller.py +649 -0
  26. spotifywebapi/exceptions/__init__.py +11 -0
  27. spotifywebapi/exceptions/api_exception.py +36 -0
  28. spotifywebapi/exceptions/bad_request_exception.py +56 -0
  29. spotifywebapi/exceptions/forbidden_exception.py +56 -0
  30. spotifywebapi/exceptions/not_found_exception.py +56 -0
  31. spotifywebapi/exceptions/o_auth_provider_exception.py +73 -0
  32. spotifywebapi/exceptions/too_many_requests_exception.py +56 -0
  33. spotifywebapi/exceptions/unauthorized_exception.py +56 -0
  34. spotifywebapi/http/__init__.py +11 -0
  35. spotifywebapi/http/api_response.py +67 -0
  36. spotifywebapi/http/auth/__init__.py +5 -0
  37. spotifywebapi/http/auth/o_auth_2.py +336 -0
  38. spotifywebapi/http/http_call_back.py +20 -0
  39. spotifywebapi/http/http_client_provider.py +23 -0
  40. spotifywebapi/http/http_method_enum.py +25 -0
  41. spotifywebapi/http/http_request.py +55 -0
  42. spotifywebapi/http/http_response.py +45 -0
  43. spotifywebapi/http/proxy_settings.py +50 -0
  44. spotifywebapi/models/__init__.py +142 -0
  45. spotifywebapi/models/album_base.py +264 -0
  46. spotifywebapi/models/album_group_enum.py +51 -0
  47. spotifywebapi/models/album_object.py +375 -0
  48. spotifywebapi/models/album_restriction_object.py +109 -0
  49. spotifywebapi/models/album_type_enum.py +62 -0
  50. spotifywebapi/models/artist_discography_album_object.py +298 -0
  51. spotifywebapi/models/artist_object.py +335 -0
  52. spotifywebapi/models/audio_analysis_object.py +266 -0
  53. spotifywebapi/models/audio_features_object.py +518 -0
  54. spotifywebapi/models/audiobook_base.py +353 -0
  55. spotifywebapi/models/audiobook_object.py +369 -0
  56. spotifywebapi/models/author_object.py +85 -0
  57. spotifywebapi/models/categories.py +162 -0
  58. spotifywebapi/models/category_object.py +117 -0
  59. spotifywebapi/models/chapter_base.py +392 -0
  60. spotifywebapi/models/chapter_object.py +408 -0
  61. spotifywebapi/models/chapter_restriction_object.py +113 -0
  62. spotifywebapi/models/context_object.py +181 -0
  63. spotifywebapi/models/copyright_object.py +130 -0
  64. spotifywebapi/models/currently_playing_context_object.py +314 -0
  65. spotifywebapi/models/currently_playing_object.py +241 -0
  66. spotifywebapi/models/cursor_object.py +108 -0
  67. spotifywebapi/models/cursor_paged_artists.py +75 -0
  68. spotifywebapi/models/cursor_paging_object.py +183 -0
  69. spotifywebapi/models/cursor_paging_play_history_object.py +214 -0
  70. spotifywebapi/models/cursor_paging_simplified_artist_object.py +213 -0
  71. spotifywebapi/models/device_object.py +278 -0
  72. spotifywebapi/models/disallows_object.py +314 -0
  73. spotifywebapi/models/episode_base.py +394 -0
  74. spotifywebapi/models/episode_object.py +665 -0
  75. spotifywebapi/models/episode_restriction_object.py +112 -0
  76. spotifywebapi/models/error_object.py +85 -0
  77. spotifywebapi/models/explicit_content_settings_object.py +110 -0
  78. spotifywebapi/models/external_id_object.py +156 -0
  79. spotifywebapi/models/external_url_object.py +107 -0
  80. spotifywebapi/models/followers_object.py +134 -0
  81. spotifywebapi/models/image_object.py +168 -0
  82. spotifywebapi/models/include_external_enum.py +45 -0
  83. spotifywebapi/models/item_type_1_enum.py +56 -0
  84. spotifywebapi/models/item_type_2_enum.py +45 -0
  85. spotifywebapi/models/item_type_3_enum.py +45 -0
  86. spotifywebapi/models/item_type_enum.py +58 -0
  87. spotifywebapi/models/linked_track_object.py +205 -0
  88. spotifywebapi/models/many_albums.py +76 -0
  89. spotifywebapi/models/many_artists.py +76 -0
  90. spotifywebapi/models/many_audio_features.py +77 -0
  91. spotifywebapi/models/many_audiobooks.py +77 -0
  92. spotifywebapi/models/many_chapters.py +77 -0
  93. spotifywebapi/models/many_devices.py +76 -0
  94. spotifywebapi/models/many_episodes.py +77 -0
  95. spotifywebapi/models/many_genres.py +69 -0
  96. spotifywebapi/models/many_simplified_shows.py +74 -0
  97. spotifywebapi/models/many_tracks.py +76 -0
  98. spotifywebapi/models/markets.py +85 -0
  99. spotifywebapi/models/me_albums_request.py +90 -0
  100. spotifywebapi/models/me_episodes_request.py +73 -0
  101. spotifywebapi/models/me_episodes_request_1.py +89 -0
  102. spotifywebapi/models/me_following_request.py +74 -0
  103. spotifywebapi/models/me_following_request_1.py +90 -0
  104. spotifywebapi/models/me_player_play_request.py +165 -0
  105. spotifywebapi/models/me_player_request.py +103 -0
  106. spotifywebapi/models/me_shows_request.py +89 -0
  107. spotifywebapi/models/me_tracks_request.py +74 -0
  108. spotifywebapi/models/me_tracks_request_1.py +90 -0
  109. spotifywebapi/models/meta.py +227 -0
  110. spotifywebapi/models/mode_enum.py +52 -0
  111. spotifywebapi/models/narrator_object.py +85 -0
  112. spotifywebapi/models/o_auth_provider_error_enum.py +67 -0
  113. spotifywebapi/models/o_auth_scope_enum.py +98 -0
  114. spotifywebapi/models/o_auth_token.py +113 -0
  115. spotifywebapi/models/paged_albums.py +75 -0
  116. spotifywebapi/models/paged_categories.py +74 -0
  117. spotifywebapi/models/paging_artist_discography_album_object.py +163 -0
  118. spotifywebapi/models/paging_artist_object.py +162 -0
  119. spotifywebapi/models/paging_featured_playlist_object.py +113 -0
  120. spotifywebapi/models/paging_object.py +142 -0
  121. spotifywebapi/models/paging_playlist_object.py +163 -0
  122. spotifywebapi/models/paging_playlist_track_object.py +163 -0
  123. spotifywebapi/models/paging_saved_album_object.py +163 -0
  124. spotifywebapi/models/paging_saved_audiobook_object.py +163 -0
  125. spotifywebapi/models/paging_saved_episode_object.py +163 -0
  126. spotifywebapi/models/paging_saved_show_object.py +163 -0
  127. spotifywebapi/models/paging_saved_track_object.py +163 -0
  128. spotifywebapi/models/paging_simplified_album_object.py +163 -0
  129. spotifywebapi/models/paging_simplified_audiobook_object.py +162 -0
  130. spotifywebapi/models/paging_simplified_chapter_object.py +162 -0
  131. spotifywebapi/models/paging_simplified_episode_object.py +162 -0
  132. spotifywebapi/models/paging_simplified_show_object.py +160 -0
  133. spotifywebapi/models/paging_simplified_track_object.py +163 -0
  134. spotifywebapi/models/paging_track_object.py +162 -0
  135. spotifywebapi/models/play_history_object.py +141 -0
  136. spotifywebapi/models/playlist_object.py +425 -0
  137. spotifywebapi/models/playlist_owner_object.py +238 -0
  138. spotifywebapi/models/playlist_snapshot_id.py +85 -0
  139. spotifywebapi/models/playlist_track_object.py +171 -0
  140. spotifywebapi/models/playlist_tracks_ref_object.py +109 -0
  141. spotifywebapi/models/playlist_user_object.py +231 -0
  142. spotifywebapi/models/playlists_followers_request.py +86 -0
  143. spotifywebapi/models/playlists_request.py +160 -0
  144. spotifywebapi/models/playlists_tracks_request.py +121 -0
  145. spotifywebapi/models/playlists_tracks_request_1.py +188 -0
  146. spotifywebapi/models/playlists_tracks_request_2.py +109 -0
  147. spotifywebapi/models/private_user_object.py +379 -0
  148. spotifywebapi/models/public_user_object.py +268 -0
  149. spotifywebapi/models/queue_object.py +118 -0
  150. spotifywebapi/models/reason_enum.py +65 -0
  151. spotifywebapi/models/recommendation_seed_object.py +208 -0
  152. spotifywebapi/models/recommendations_object.py +96 -0
  153. spotifywebapi/models/release_date_precision_enum.py +62 -0
  154. spotifywebapi/models/resume_point_object.py +131 -0
  155. spotifywebapi/models/saved_album_object.py +118 -0
  156. spotifywebapi/models/saved_audiobook_object.py +118 -0
  157. spotifywebapi/models/saved_episode_object.py +116 -0
  158. spotifywebapi/models/saved_show_object.py +116 -0
  159. spotifywebapi/models/saved_track_object.py +118 -0
  160. spotifywebapi/models/search_items.py +256 -0
  161. spotifywebapi/models/section_object.py +362 -0
  162. spotifywebapi/models/segment_object.py +307 -0
  163. spotifywebapi/models/show_base.py +550 -0
  164. spotifywebapi/models/show_object.py +319 -0
  165. spotifywebapi/models/simplified_album_object.py +468 -0
  166. spotifywebapi/models/simplified_artist_object.py +228 -0
  167. spotifywebapi/models/simplified_playlist_object.py +398 -0
  168. spotifywebapi/models/simplified_track_object.py +494 -0
  169. spotifywebapi/models/time_interval_object.py +132 -0
  170. spotifywebapi/models/track.py +697 -0
  171. spotifywebapi/models/track_1.py +85 -0
  172. spotifywebapi/models/track_object.py +605 -0
  173. spotifywebapi/models/track_restriction_object.py +112 -0
  174. spotifywebapi/models/type_2_enum.py +56 -0
  175. spotifywebapi/models/type_3_enum.py +56 -0
  176. spotifywebapi/models/type_4_enum.py +56 -0
  177. spotifywebapi/models/type_5_enum.py +56 -0
  178. spotifywebapi/models/type_6_enum.py +56 -0
  179. spotifywebapi/models/type_8_enum.py +42 -0
  180. spotifywebapi/models/type_9_enum.py +42 -0
  181. spotifywebapi/models/type_enum.py +56 -0
  182. spotifywebapi/models/users_playlists_request.py +154 -0
  183. spotifywebapi/spotifywebapi_client.py +198 -0
  184. spotifywebapi/utilities/__init__.py +6 -0
  185. spotifywebapi/utilities/file_wrapper.py +45 -0
  186. spotifywebapi/utilities/union_type_lookup.py +113 -0
@@ -0,0 +1,319 @@
1
+ """spotifywebapi.
2
+
3
+ This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
4
+ """
5
+
6
+ # ruff: noqa: E501
7
+ from spotifywebapi.models.copyright_object import (
8
+ CopyrightObject,
9
+ )
10
+ from spotifywebapi.models.external_url_object import (
11
+ ExternalUrlObject,
12
+ )
13
+ from spotifywebapi.models.image_object import (
14
+ ImageObject,
15
+ )
16
+ from spotifywebapi.models.paging_simplified_episode_object import (
17
+ PagingSimplifiedEpisodeObject,
18
+ )
19
+
20
+
21
+ class ShowObject(object):
22
+ """Implementation of the 'ShowObject' model.
23
+
24
+ Attributes:
25
+ available_markets (List[str]): A list of the countries in which the show can
26
+ be played, identified by their [ISO 3166-1
27
+ alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code.
28
+ copyrights (List[CopyrightObject]): The copyright statements of the show.
29
+ description (str): A description of the show. HTML tags are stripped away
30
+ from this field, use `html_description` field in case HTML tags are
31
+ needed.
32
+ html_description (str): A description of the show. This field may contain
33
+ HTML tags.
34
+ explicit (bool): Whether or not the show has explicit content (true = yes it
35
+ does; false = no it does not OR unknown).
36
+ external_urls (ExternalUrlObject): External URLs for this show.
37
+ href (str): A link to the Web API endpoint providing full details of the show.
38
+ id (str): The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids)
39
+ for the show.
40
+ images (List[ImageObject]): The cover art for the show in various sizes,
41
+ widest first.
42
+ is_externally_hosted (bool): True if all of the shows episodes are hosted
43
+ outside of Spotify's CDN. This field might be `null` in some cases.
44
+ languages (List[str]): A list of the languages used in the show, identified
45
+ by their [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code.
46
+ media_type (str): The media type of the show.
47
+ name (str): The name of the episode.
48
+ publisher (str): The publisher of the show.
49
+ mtype (Type6Enum): The object type.
50
+ uri (str): The [Spotify
51
+ URI](/documentation/web-api/concepts/spotify-uris-ids) for the show.
52
+ total_episodes (int): The total number of episodes in the show.
53
+ episodes (PagingSimplifiedEpisodeObject): The episodes of the show.
54
+
55
+ """
56
+
57
+ # Create a mapping from Model property names to API property names
58
+ _names = {
59
+ "available_markets": "available_markets",
60
+ "copyrights": "copyrights",
61
+ "description": "description",
62
+ "html_description": "html_description",
63
+ "explicit": "explicit",
64
+ "external_urls": "external_urls",
65
+ "href": "href",
66
+ "id": "id",
67
+ "images": "images",
68
+ "is_externally_hosted": "is_externally_hosted",
69
+ "languages": "languages",
70
+ "media_type": "media_type",
71
+ "name": "name",
72
+ "publisher": "publisher",
73
+ "mtype": "type",
74
+ "uri": "uri",
75
+ "total_episodes": "total_episodes",
76
+ "episodes": "episodes",
77
+ }
78
+
79
+ def __init__(
80
+ self,
81
+ available_markets=None,
82
+ copyrights=None,
83
+ description=None,
84
+ html_description=None,
85
+ explicit=None,
86
+ external_urls=None,
87
+ href=None,
88
+ id=None,
89
+ images=None,
90
+ is_externally_hosted=None,
91
+ languages=None,
92
+ media_type=None,
93
+ name=None,
94
+ publisher=None,
95
+ mtype=None,
96
+ uri=None,
97
+ total_episodes=None,
98
+ episodes=None):
99
+ """Initialize a ShowObject instance."""
100
+ # Initialize members of the class
101
+ self.available_markets = available_markets
102
+ self.copyrights = copyrights
103
+ self.description = description
104
+ self.html_description = html_description
105
+ self.explicit = explicit
106
+ self.external_urls = external_urls
107
+ self.href = href
108
+ self.id = id
109
+ self.images = images
110
+ self.is_externally_hosted = is_externally_hosted
111
+ self.languages = languages
112
+ self.media_type = media_type
113
+ self.name = name
114
+ self.publisher = publisher
115
+ self.mtype = mtype
116
+ self.uri = uri
117
+ self.total_episodes = total_episodes
118
+ self.episodes = episodes
119
+
120
+ @classmethod
121
+ def from_dictionary(cls,
122
+ dictionary):
123
+ """Create an instance of this model from a dictionary
124
+
125
+ Args:
126
+ dictionary (dictionary): A dictionary representation of the object
127
+ as obtained from the deserialization of the server's response. The
128
+ keys MUST match property names in the API description.
129
+
130
+ Returns:
131
+ object: An instance of this structure class.
132
+
133
+ """
134
+ if not isinstance(dictionary, dict) or dictionary is None:
135
+ return None
136
+
137
+ # Extract variables from the dictionary
138
+ available_markets =\
139
+ dictionary.get("available_markets")\
140
+ if dictionary.get("available_markets")\
141
+ else None
142
+ copyrights = None
143
+ if dictionary.get("copyrights") is not None:
144
+ copyrights = [
145
+ CopyrightObject.from_dictionary(x)
146
+ for x in dictionary.get("copyrights")
147
+ ]
148
+ description =\
149
+ dictionary.get("description")\
150
+ if dictionary.get("description")\
151
+ else None
152
+ html_description =\
153
+ dictionary.get("html_description")\
154
+ if dictionary.get("html_description")\
155
+ else None
156
+ explicit =\
157
+ dictionary.get("explicit")\
158
+ if "explicit" in dictionary.keys()\
159
+ else None
160
+ external_urls =\
161
+ ExternalUrlObject.from_dictionary(
162
+ dictionary.get("external_urls"))\
163
+ if dictionary.get("external_urls") else None
164
+ href =\
165
+ dictionary.get("href")\
166
+ if dictionary.get("href")\
167
+ else None
168
+ id =\
169
+ dictionary.get("id")\
170
+ if dictionary.get("id")\
171
+ else None
172
+ images = None
173
+ if dictionary.get("images") is not None:
174
+ images = [
175
+ ImageObject.from_dictionary(x)
176
+ for x in dictionary.get("images")
177
+ ]
178
+ is_externally_hosted =\
179
+ dictionary.get("is_externally_hosted")\
180
+ if "is_externally_hosted" in dictionary.keys()\
181
+ else None
182
+ languages =\
183
+ dictionary.get("languages")\
184
+ if dictionary.get("languages")\
185
+ else None
186
+ media_type =\
187
+ dictionary.get("media_type")\
188
+ if dictionary.get("media_type")\
189
+ else None
190
+ name =\
191
+ dictionary.get("name")\
192
+ if dictionary.get("name")\
193
+ else None
194
+ publisher =\
195
+ dictionary.get("publisher")\
196
+ if dictionary.get("publisher")\
197
+ else None
198
+ mtype =\
199
+ dictionary.get("type")\
200
+ if dictionary.get("type")\
201
+ else None
202
+ uri =\
203
+ dictionary.get("uri")\
204
+ if dictionary.get("uri")\
205
+ else None
206
+ total_episodes =\
207
+ dictionary.get("total_episodes")\
208
+ if dictionary.get("total_episodes")\
209
+ else None
210
+ episodes =\
211
+ PagingSimplifiedEpisodeObject.from_dictionary(
212
+ dictionary.get("episodes"))\
213
+ if dictionary.get("episodes") else None
214
+
215
+ # Return an object of this model
216
+ return cls(available_markets,
217
+ copyrights,
218
+ description,
219
+ html_description,
220
+ explicit,
221
+ external_urls,
222
+ href,
223
+ id,
224
+ images,
225
+ is_externally_hosted,
226
+ languages,
227
+ media_type,
228
+ name,
229
+ publisher,
230
+ mtype,
231
+ uri,
232
+ total_episodes,
233
+ episodes)
234
+
235
+ def __repr__(self):
236
+ """Return a unambiguous string representation."""
237
+ _available_markets=self.available_markets
238
+ _copyrights=self.copyrights
239
+ _description=self.description
240
+ _html_description=self.html_description
241
+ _explicit=self.explicit
242
+ _external_urls=self.external_urls
243
+ _href=self.href
244
+ _id=self.id
245
+ _images=self.images
246
+ _is_externally_hosted=self.is_externally_hosted
247
+ _languages=self.languages
248
+ _media_type=self.media_type
249
+ _name=self.name
250
+ _publisher=self.publisher
251
+ _mtype=self.mtype
252
+ _uri=self.uri
253
+ _total_episodes=self.total_episodes
254
+ _episodes=self.episodes
255
+ return (
256
+ f"{self.__class__.__name__}("
257
+ f"available_markets={_available_markets!r}, "
258
+ f"copyrights={_copyrights!r}, "
259
+ f"description={_description!r}, "
260
+ f"html_description={_html_description!r}, "
261
+ f"explicit={_explicit!r}, "
262
+ f"external_urls={_external_urls!r}, "
263
+ f"href={_href!r}, "
264
+ f"id={_id!r}, "
265
+ f"images={_images!r}, "
266
+ f"is_externally_hosted={_is_externally_hosted!r}, "
267
+ f"languages={_languages!r}, "
268
+ f"media_type={_media_type!r}, "
269
+ f"name={_name!r}, "
270
+ f"publisher={_publisher!r}, "
271
+ f"mtype={_mtype!r}, "
272
+ f"uri={_uri!r}, "
273
+ f"total_episodes={_total_episodes!r}, "
274
+ f"episodes={_episodes!r}, "
275
+ f")"
276
+ )
277
+
278
+ def __str__(self):
279
+ """Return a human-readable string representation."""
280
+ _available_markets=self.available_markets
281
+ _copyrights=self.copyrights
282
+ _description=self.description
283
+ _html_description=self.html_description
284
+ _explicit=self.explicit
285
+ _external_urls=self.external_urls
286
+ _href=self.href
287
+ _id=self.id
288
+ _images=self.images
289
+ _is_externally_hosted=self.is_externally_hosted
290
+ _languages=self.languages
291
+ _media_type=self.media_type
292
+ _name=self.name
293
+ _publisher=self.publisher
294
+ _mtype=self.mtype
295
+ _uri=self.uri
296
+ _total_episodes=self.total_episodes
297
+ _episodes=self.episodes
298
+ return (
299
+ f"{self.__class__.__name__}("
300
+ f"available_markets={_available_markets!s}, "
301
+ f"copyrights={_copyrights!s}, "
302
+ f"description={_description!s}, "
303
+ f"html_description={_html_description!s}, "
304
+ f"explicit={_explicit!s}, "
305
+ f"external_urls={_external_urls!s}, "
306
+ f"href={_href!s}, "
307
+ f"id={_id!s}, "
308
+ f"images={_images!s}, "
309
+ f"is_externally_hosted={_is_externally_hosted!s}, "
310
+ f"languages={_languages!s}, "
311
+ f"media_type={_media_type!s}, "
312
+ f"name={_name!s}, "
313
+ f"publisher={_publisher!s}, "
314
+ f"mtype={_mtype!s}, "
315
+ f"uri={_uri!s}, "
316
+ f"total_episodes={_total_episodes!s}, "
317
+ f"episodes={_episodes!s}, "
318
+ f")"
319
+ )