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,163 @@
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.saved_show_object import (
8
+ SavedShowObject,
9
+ )
10
+
11
+
12
+ class PagingSavedShowObject(object):
13
+ """Implementation of the 'PagingSavedShowObject' model.
14
+
15
+ Attributes:
16
+ href (str): A link to the Web API endpoint returning the full result of the
17
+ request
18
+ limit (int): The maximum number of items in the response (as set in the query
19
+ or by default).
20
+ next (str): URL to the next page of items. ( `null` if none)
21
+ offset (int): The offset of the items returned (as set in the query or by
22
+ default)
23
+ previous (str): URL to the previous page of items. ( `null` if none)
24
+ total (int): The total number of items available to return.
25
+ items (List[SavedShowObject]): The model property of type
26
+ List[SavedShowObject].
27
+
28
+ """
29
+
30
+ # Create a mapping from Model property names to API property names
31
+ _names = {
32
+ "href": "href",
33
+ "limit": "limit",
34
+ "next": "next",
35
+ "offset": "offset",
36
+ "previous": "previous",
37
+ "total": "total",
38
+ "items": "items",
39
+ }
40
+
41
+ _nullables = [
42
+ "next",
43
+ "previous",
44
+ ]
45
+
46
+ def __init__(
47
+ self,
48
+ href=None,
49
+ limit=None,
50
+ next=None,
51
+ offset=None,
52
+ previous=None,
53
+ total=None,
54
+ items=None):
55
+ """Initialize a PagingSavedShowObject instance."""
56
+ # Initialize members of the class
57
+ self.href = href
58
+ self.limit = limit
59
+ self.next = next
60
+ self.offset = offset
61
+ self.previous = previous
62
+ self.total = total
63
+ self.items = items
64
+
65
+ @classmethod
66
+ def from_dictionary(cls,
67
+ dictionary):
68
+ """Create an instance of this model from a dictionary
69
+
70
+ Args:
71
+ dictionary (dictionary): A dictionary representation of the object
72
+ as obtained from the deserialization of the server's response. The
73
+ keys MUST match property names in the API description.
74
+
75
+ Returns:
76
+ object: An instance of this structure class.
77
+
78
+ """
79
+ if not isinstance(dictionary, dict) or dictionary is None:
80
+ return None
81
+
82
+ # Extract variables from the dictionary
83
+ href =\
84
+ dictionary.get("href")\
85
+ if dictionary.get("href")\
86
+ else None
87
+ limit =\
88
+ dictionary.get("limit")\
89
+ if dictionary.get("limit")\
90
+ else None
91
+ next =\
92
+ dictionary.get("next")\
93
+ if dictionary.get("next")\
94
+ else None
95
+ offset =\
96
+ dictionary.get("offset")\
97
+ if dictionary.get("offset")\
98
+ else None
99
+ previous =\
100
+ dictionary.get("previous")\
101
+ if dictionary.get("previous")\
102
+ else None
103
+ total =\
104
+ dictionary.get("total")\
105
+ if dictionary.get("total")\
106
+ else None
107
+ items = None
108
+ if dictionary.get("items") is not None:
109
+ items = [
110
+ SavedShowObject.from_dictionary(x)
111
+ for x in dictionary.get("items")
112
+ ]
113
+
114
+ # Return an object of this model
115
+ return cls(href,
116
+ limit,
117
+ next,
118
+ offset,
119
+ previous,
120
+ total,
121
+ items)
122
+
123
+ def __repr__(self):
124
+ """Return a unambiguous string representation."""
125
+ _href=self.href
126
+ _limit=self.limit
127
+ _next=self.next
128
+ _offset=self.offset
129
+ _previous=self.previous
130
+ _total=self.total
131
+ _items=self.items
132
+ return (
133
+ f"{self.__class__.__name__}("
134
+ f"href={_href!r}, "
135
+ f"limit={_limit!r}, "
136
+ f"next={_next!r}, "
137
+ f"offset={_offset!r}, "
138
+ f"previous={_previous!r}, "
139
+ f"total={_total!r}, "
140
+ f"items={_items!r}, "
141
+ f")"
142
+ )
143
+
144
+ def __str__(self):
145
+ """Return a human-readable string representation."""
146
+ _href=self.href
147
+ _limit=self.limit
148
+ _next=self.next
149
+ _offset=self.offset
150
+ _previous=self.previous
151
+ _total=self.total
152
+ _items=self.items
153
+ return (
154
+ f"{self.__class__.__name__}("
155
+ f"href={_href!s}, "
156
+ f"limit={_limit!s}, "
157
+ f"next={_next!s}, "
158
+ f"offset={_offset!s}, "
159
+ f"previous={_previous!s}, "
160
+ f"total={_total!s}, "
161
+ f"items={_items!s}, "
162
+ f")"
163
+ )
@@ -0,0 +1,163 @@
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.saved_track_object import (
8
+ SavedTrackObject,
9
+ )
10
+
11
+
12
+ class PagingSavedTrackObject(object):
13
+ """Implementation of the 'PagingSavedTrackObject' model.
14
+
15
+ Attributes:
16
+ href (str): A link to the Web API endpoint returning the full result of the
17
+ request
18
+ limit (int): The maximum number of items in the response (as set in the query
19
+ or by default).
20
+ next (str): URL to the next page of items. ( `null` if none)
21
+ offset (int): The offset of the items returned (as set in the query or by
22
+ default)
23
+ previous (str): URL to the previous page of items. ( `null` if none)
24
+ total (int): The total number of items available to return.
25
+ items (List[SavedTrackObject]): The model property of type
26
+ List[SavedTrackObject].
27
+
28
+ """
29
+
30
+ # Create a mapping from Model property names to API property names
31
+ _names = {
32
+ "href": "href",
33
+ "limit": "limit",
34
+ "next": "next",
35
+ "offset": "offset",
36
+ "previous": "previous",
37
+ "total": "total",
38
+ "items": "items",
39
+ }
40
+
41
+ _nullables = [
42
+ "next",
43
+ "previous",
44
+ ]
45
+
46
+ def __init__(
47
+ self,
48
+ href=None,
49
+ limit=None,
50
+ next=None,
51
+ offset=None,
52
+ previous=None,
53
+ total=None,
54
+ items=None):
55
+ """Initialize a PagingSavedTrackObject instance."""
56
+ # Initialize members of the class
57
+ self.href = href
58
+ self.limit = limit
59
+ self.next = next
60
+ self.offset = offset
61
+ self.previous = previous
62
+ self.total = total
63
+ self.items = items
64
+
65
+ @classmethod
66
+ def from_dictionary(cls,
67
+ dictionary):
68
+ """Create an instance of this model from a dictionary
69
+
70
+ Args:
71
+ dictionary (dictionary): A dictionary representation of the object
72
+ as obtained from the deserialization of the server's response. The
73
+ keys MUST match property names in the API description.
74
+
75
+ Returns:
76
+ object: An instance of this structure class.
77
+
78
+ """
79
+ if not isinstance(dictionary, dict) or dictionary is None:
80
+ return None
81
+
82
+ # Extract variables from the dictionary
83
+ href =\
84
+ dictionary.get("href")\
85
+ if dictionary.get("href")\
86
+ else None
87
+ limit =\
88
+ dictionary.get("limit")\
89
+ if dictionary.get("limit")\
90
+ else None
91
+ next =\
92
+ dictionary.get("next")\
93
+ if dictionary.get("next")\
94
+ else None
95
+ offset =\
96
+ dictionary.get("offset")\
97
+ if dictionary.get("offset")\
98
+ else None
99
+ previous =\
100
+ dictionary.get("previous")\
101
+ if dictionary.get("previous")\
102
+ else None
103
+ total =\
104
+ dictionary.get("total")\
105
+ if dictionary.get("total")\
106
+ else None
107
+ items = None
108
+ if dictionary.get("items") is not None:
109
+ items = [
110
+ SavedTrackObject.from_dictionary(x)
111
+ for x in dictionary.get("items")
112
+ ]
113
+
114
+ # Return an object of this model
115
+ return cls(href,
116
+ limit,
117
+ next,
118
+ offset,
119
+ previous,
120
+ total,
121
+ items)
122
+
123
+ def __repr__(self):
124
+ """Return a unambiguous string representation."""
125
+ _href=self.href
126
+ _limit=self.limit
127
+ _next=self.next
128
+ _offset=self.offset
129
+ _previous=self.previous
130
+ _total=self.total
131
+ _items=self.items
132
+ return (
133
+ f"{self.__class__.__name__}("
134
+ f"href={_href!r}, "
135
+ f"limit={_limit!r}, "
136
+ f"next={_next!r}, "
137
+ f"offset={_offset!r}, "
138
+ f"previous={_previous!r}, "
139
+ f"total={_total!r}, "
140
+ f"items={_items!r}, "
141
+ f")"
142
+ )
143
+
144
+ def __str__(self):
145
+ """Return a human-readable string representation."""
146
+ _href=self.href
147
+ _limit=self.limit
148
+ _next=self.next
149
+ _offset=self.offset
150
+ _previous=self.previous
151
+ _total=self.total
152
+ _items=self.items
153
+ return (
154
+ f"{self.__class__.__name__}("
155
+ f"href={_href!s}, "
156
+ f"limit={_limit!s}, "
157
+ f"next={_next!s}, "
158
+ f"offset={_offset!s}, "
159
+ f"previous={_previous!s}, "
160
+ f"total={_total!s}, "
161
+ f"items={_items!s}, "
162
+ f")"
163
+ )
@@ -0,0 +1,163 @@
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.simplified_album_object import (
8
+ SimplifiedAlbumObject,
9
+ )
10
+
11
+
12
+ class PagingSimplifiedAlbumObject(object):
13
+ """Implementation of the 'PagingSimplifiedAlbumObject' model.
14
+
15
+ Attributes:
16
+ href (str): A link to the Web API endpoint returning the full result of the
17
+ request
18
+ limit (int): The maximum number of items in the response (as set in the query
19
+ or by default).
20
+ next (str): URL to the next page of items. ( `null` if none)
21
+ offset (int): The offset of the items returned (as set in the query or by
22
+ default)
23
+ previous (str): URL to the previous page of items. ( `null` if none)
24
+ total (int): The total number of items available to return.
25
+ items (List[SimplifiedAlbumObject]): The model property of type
26
+ List[SimplifiedAlbumObject].
27
+
28
+ """
29
+
30
+ # Create a mapping from Model property names to API property names
31
+ _names = {
32
+ "href": "href",
33
+ "limit": "limit",
34
+ "next": "next",
35
+ "offset": "offset",
36
+ "previous": "previous",
37
+ "total": "total",
38
+ "items": "items",
39
+ }
40
+
41
+ _nullables = [
42
+ "next",
43
+ "previous",
44
+ ]
45
+
46
+ def __init__(
47
+ self,
48
+ href=None,
49
+ limit=None,
50
+ next=None,
51
+ offset=None,
52
+ previous=None,
53
+ total=None,
54
+ items=None):
55
+ """Initialize a PagingSimplifiedAlbumObject instance."""
56
+ # Initialize members of the class
57
+ self.href = href
58
+ self.limit = limit
59
+ self.next = next
60
+ self.offset = offset
61
+ self.previous = previous
62
+ self.total = total
63
+ self.items = items
64
+
65
+ @classmethod
66
+ def from_dictionary(cls,
67
+ dictionary):
68
+ """Create an instance of this model from a dictionary
69
+
70
+ Args:
71
+ dictionary (dictionary): A dictionary representation of the object
72
+ as obtained from the deserialization of the server's response. The
73
+ keys MUST match property names in the API description.
74
+
75
+ Returns:
76
+ object: An instance of this structure class.
77
+
78
+ """
79
+ if not isinstance(dictionary, dict) or dictionary is None:
80
+ return None
81
+
82
+ # Extract variables from the dictionary
83
+ href =\
84
+ dictionary.get("href")\
85
+ if dictionary.get("href")\
86
+ else None
87
+ limit =\
88
+ dictionary.get("limit")\
89
+ if dictionary.get("limit")\
90
+ else None
91
+ next =\
92
+ dictionary.get("next")\
93
+ if dictionary.get("next")\
94
+ else None
95
+ offset =\
96
+ dictionary.get("offset")\
97
+ if dictionary.get("offset")\
98
+ else None
99
+ previous =\
100
+ dictionary.get("previous")\
101
+ if dictionary.get("previous")\
102
+ else None
103
+ total =\
104
+ dictionary.get("total")\
105
+ if dictionary.get("total")\
106
+ else None
107
+ items = None
108
+ if dictionary.get("items") is not None:
109
+ items = [
110
+ SimplifiedAlbumObject.from_dictionary(x)
111
+ for x in dictionary.get("items")
112
+ ]
113
+
114
+ # Return an object of this model
115
+ return cls(href,
116
+ limit,
117
+ next,
118
+ offset,
119
+ previous,
120
+ total,
121
+ items)
122
+
123
+ def __repr__(self):
124
+ """Return a unambiguous string representation."""
125
+ _href=self.href
126
+ _limit=self.limit
127
+ _next=self.next
128
+ _offset=self.offset
129
+ _previous=self.previous
130
+ _total=self.total
131
+ _items=self.items
132
+ return (
133
+ f"{self.__class__.__name__}("
134
+ f"href={_href!r}, "
135
+ f"limit={_limit!r}, "
136
+ f"next={_next!r}, "
137
+ f"offset={_offset!r}, "
138
+ f"previous={_previous!r}, "
139
+ f"total={_total!r}, "
140
+ f"items={_items!r}, "
141
+ f")"
142
+ )
143
+
144
+ def __str__(self):
145
+ """Return a human-readable string representation."""
146
+ _href=self.href
147
+ _limit=self.limit
148
+ _next=self.next
149
+ _offset=self.offset
150
+ _previous=self.previous
151
+ _total=self.total
152
+ _items=self.items
153
+ return (
154
+ f"{self.__class__.__name__}("
155
+ f"href={_href!s}, "
156
+ f"limit={_limit!s}, "
157
+ f"next={_next!s}, "
158
+ f"offset={_offset!s}, "
159
+ f"previous={_previous!s}, "
160
+ f"total={_total!s}, "
161
+ f"items={_items!s}, "
162
+ f")"
163
+ )
@@ -0,0 +1,162 @@
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.audiobook_base import (
8
+ AudiobookBase,
9
+ )
10
+
11
+
12
+ class PagingSimplifiedAudiobookObject(object):
13
+ """Implementation of the 'PagingSimplifiedAudiobookObject' model.
14
+
15
+ Attributes:
16
+ href (str): A link to the Web API endpoint returning the full result of the
17
+ request
18
+ limit (int): The maximum number of items in the response (as set in the query
19
+ or by default).
20
+ next (str): URL to the next page of items. ( `null` if none)
21
+ offset (int): The offset of the items returned (as set in the query or by
22
+ default)
23
+ previous (str): URL to the previous page of items. ( `null` if none)
24
+ total (int): The total number of items available to return.
25
+ items (List[AudiobookBase]): The model property of type List[AudiobookBase].
26
+
27
+ """
28
+
29
+ # Create a mapping from Model property names to API property names
30
+ _names = {
31
+ "href": "href",
32
+ "limit": "limit",
33
+ "next": "next",
34
+ "offset": "offset",
35
+ "previous": "previous",
36
+ "total": "total",
37
+ "items": "items",
38
+ }
39
+
40
+ _nullables = [
41
+ "next",
42
+ "previous",
43
+ ]
44
+
45
+ def __init__(
46
+ self,
47
+ href=None,
48
+ limit=None,
49
+ next=None,
50
+ offset=None,
51
+ previous=None,
52
+ total=None,
53
+ items=None):
54
+ """Initialize a PagingSimplifiedAudiobookObject instance."""
55
+ # Initialize members of the class
56
+ self.href = href
57
+ self.limit = limit
58
+ self.next = next
59
+ self.offset = offset
60
+ self.previous = previous
61
+ self.total = total
62
+ self.items = items
63
+
64
+ @classmethod
65
+ def from_dictionary(cls,
66
+ dictionary):
67
+ """Create an instance of this model from a dictionary
68
+
69
+ Args:
70
+ dictionary (dictionary): A dictionary representation of the object
71
+ as obtained from the deserialization of the server's response. The
72
+ keys MUST match property names in the API description.
73
+
74
+ Returns:
75
+ object: An instance of this structure class.
76
+
77
+ """
78
+ if not isinstance(dictionary, dict) or dictionary is None:
79
+ return None
80
+
81
+ # Extract variables from the dictionary
82
+ href =\
83
+ dictionary.get("href")\
84
+ if dictionary.get("href")\
85
+ else None
86
+ limit =\
87
+ dictionary.get("limit")\
88
+ if dictionary.get("limit")\
89
+ else None
90
+ next =\
91
+ dictionary.get("next")\
92
+ if dictionary.get("next")\
93
+ else None
94
+ offset =\
95
+ dictionary.get("offset")\
96
+ if dictionary.get("offset")\
97
+ else None
98
+ previous =\
99
+ dictionary.get("previous")\
100
+ if dictionary.get("previous")\
101
+ else None
102
+ total =\
103
+ dictionary.get("total")\
104
+ if dictionary.get("total")\
105
+ else None
106
+ items = None
107
+ if dictionary.get("items") is not None:
108
+ items = [
109
+ AudiobookBase.from_dictionary(x)
110
+ for x in dictionary.get("items")
111
+ ]
112
+
113
+ # Return an object of this model
114
+ return cls(href,
115
+ limit,
116
+ next,
117
+ offset,
118
+ previous,
119
+ total,
120
+ items)
121
+
122
+ def __repr__(self):
123
+ """Return a unambiguous string representation."""
124
+ _href=self.href
125
+ _limit=self.limit
126
+ _next=self.next
127
+ _offset=self.offset
128
+ _previous=self.previous
129
+ _total=self.total
130
+ _items=self.items
131
+ return (
132
+ f"{self.__class__.__name__}("
133
+ f"href={_href!r}, "
134
+ f"limit={_limit!r}, "
135
+ f"next={_next!r}, "
136
+ f"offset={_offset!r}, "
137
+ f"previous={_previous!r}, "
138
+ f"total={_total!r}, "
139
+ f"items={_items!r}, "
140
+ f")"
141
+ )
142
+
143
+ def __str__(self):
144
+ """Return a human-readable string representation."""
145
+ _href=self.href
146
+ _limit=self.limit
147
+ _next=self.next
148
+ _offset=self.offset
149
+ _previous=self.previous
150
+ _total=self.total
151
+ _items=self.items
152
+ return (
153
+ f"{self.__class__.__name__}("
154
+ f"href={_href!s}, "
155
+ f"limit={_limit!s}, "
156
+ f"next={_next!s}, "
157
+ f"offset={_offset!s}, "
158
+ f"previous={_previous!s}, "
159
+ f"total={_total!s}, "
160
+ f"items={_items!s}, "
161
+ f")"
162
+ )