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