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