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.artist_object import (
8
+ ArtistObject,
9
+ )
10
+
11
+
12
+ class PagingArtistObject(object):
13
+ """Implementation of the 'PagingArtistObject' 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[ArtistObject]): The model property of type List[ArtistObject].
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 PagingArtistObject 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
+ ArtistObject.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,113 @@
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.paging_playlist_object import (
9
+ PagingPlaylistObject,
10
+ )
11
+
12
+
13
+ class PagingFeaturedPlaylistObject(object):
14
+ """Implementation of the 'PagingFeaturedPlaylistObject' model.
15
+
16
+ Attributes:
17
+ message (str): The localized message of a playlist.
18
+ playlists (PagingPlaylistObject): The model property of type
19
+ PagingPlaylistObject.
20
+
21
+ """
22
+
23
+ # Create a mapping from Model property names to API property names
24
+ _names = {
25
+ "message": "message",
26
+ "playlists": "playlists",
27
+ }
28
+
29
+ _optionals = [
30
+ "message",
31
+ "playlists",
32
+ ]
33
+
34
+ def __init__(
35
+ self,
36
+ message=APIHelper.SKIP,
37
+ playlists=APIHelper.SKIP):
38
+ """Initialize a PagingFeaturedPlaylistObject instance."""
39
+ # Initialize members of the class
40
+ if message is not APIHelper.SKIP:
41
+ self.message = message
42
+ if playlists is not APIHelper.SKIP:
43
+ self.playlists = playlists
44
+
45
+ @classmethod
46
+ def from_dictionary(cls,
47
+ dictionary):
48
+ """Create an instance of this model from a dictionary
49
+
50
+ Args:
51
+ dictionary (dictionary): A dictionary representation of the object
52
+ as obtained from the deserialization of the server's response. The
53
+ keys MUST match property names in the API description.
54
+
55
+ Returns:
56
+ object: An instance of this structure class.
57
+
58
+ """
59
+ if not isinstance(dictionary, dict) or dictionary is None:
60
+ return None
61
+
62
+ # Extract variables from the dictionary
63
+ message =\
64
+ dictionary.get("message")\
65
+ if dictionary.get("message")\
66
+ else APIHelper.SKIP
67
+ playlists =\
68
+ PagingPlaylistObject.from_dictionary(
69
+ dictionary.get("playlists"))\
70
+ if "playlists" in dictionary.keys()\
71
+ else APIHelper.SKIP
72
+
73
+ # Return an object of this model
74
+ return cls(message,
75
+ playlists)
76
+
77
+ def __repr__(self):
78
+ """Return a unambiguous string representation."""
79
+ _message=(
80
+ self.message
81
+ if hasattr(self, "message")
82
+ else None
83
+ )
84
+ _playlists=(
85
+ self.playlists
86
+ if hasattr(self, "playlists")
87
+ else None
88
+ )
89
+ return (
90
+ f"{self.__class__.__name__}("
91
+ f"message={_message!r}, "
92
+ f"playlists={_playlists!r}, "
93
+ f")"
94
+ )
95
+
96
+ def __str__(self):
97
+ """Return a human-readable string representation."""
98
+ _message=(
99
+ self.message
100
+ if hasattr(self, "message")
101
+ else None
102
+ )
103
+ _playlists=(
104
+ self.playlists
105
+ if hasattr(self, "playlists")
106
+ else None
107
+ )
108
+ return (
109
+ f"{self.__class__.__name__}("
110
+ f"message={_message!s}, "
111
+ f"playlists={_playlists!s}, "
112
+ f")"
113
+ )
@@ -0,0 +1,142 @@
1
+ """spotifywebapi.
2
+
3
+ This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
4
+ """
5
+
6
+ # ruff: noqa: E501
7
+ class PagingObject(object):
8
+ """Implementation of the 'PagingObject' model.
9
+
10
+ Attributes:
11
+ href (str): A link to the Web API endpoint returning the full result of the
12
+ request
13
+ limit (int): The maximum number of items in the response (as set in the query
14
+ or by default).
15
+ next (str): URL to the next page of items. ( `null` if none)
16
+ offset (int): The offset of the items returned (as set in the query or by
17
+ default)
18
+ previous (str): URL to the previous page of items. ( `null` if none)
19
+ total (int): The total number of items available to return.
20
+
21
+ """
22
+
23
+ # Create a mapping from Model property names to API property names
24
+ _names = {
25
+ "href": "href",
26
+ "limit": "limit",
27
+ "next": "next",
28
+ "offset": "offset",
29
+ "previous": "previous",
30
+ "total": "total",
31
+ }
32
+
33
+ _nullables = [
34
+ "next",
35
+ "previous",
36
+ ]
37
+
38
+ def __init__(
39
+ self,
40
+ href=None,
41
+ limit=None,
42
+ next=None,
43
+ offset=None,
44
+ previous=None,
45
+ total=None):
46
+ """Initialize a PagingObject instance."""
47
+ # Initialize members of the class
48
+ self.href = href
49
+ self.limit = limit
50
+ self.next = next
51
+ self.offset = offset
52
+ self.previous = previous
53
+ self.total = total
54
+
55
+ @classmethod
56
+ def from_dictionary(cls,
57
+ dictionary):
58
+ """Create an instance of this model from a dictionary
59
+
60
+ Args:
61
+ dictionary (dictionary): A dictionary representation of the object
62
+ as obtained from the deserialization of the server's response. The
63
+ keys MUST match property names in the API description.
64
+
65
+ Returns:
66
+ object: An instance of this structure class.
67
+
68
+ """
69
+ if not isinstance(dictionary, dict) or dictionary is None:
70
+ return None
71
+
72
+ # Extract variables from the dictionary
73
+ href =\
74
+ dictionary.get("href")\
75
+ if dictionary.get("href")\
76
+ else None
77
+ limit =\
78
+ dictionary.get("limit")\
79
+ if dictionary.get("limit")\
80
+ else None
81
+ next =\
82
+ dictionary.get("next")\
83
+ if dictionary.get("next")\
84
+ else None
85
+ offset =\
86
+ dictionary.get("offset")\
87
+ if dictionary.get("offset")\
88
+ else None
89
+ previous =\
90
+ dictionary.get("previous")\
91
+ if dictionary.get("previous")\
92
+ else None
93
+ total =\
94
+ dictionary.get("total")\
95
+ if dictionary.get("total")\
96
+ else None
97
+
98
+ # Return an object of this model
99
+ return cls(href,
100
+ limit,
101
+ next,
102
+ offset,
103
+ previous,
104
+ total)
105
+
106
+ def __repr__(self):
107
+ """Return a unambiguous string representation."""
108
+ _href=self.href
109
+ _limit=self.limit
110
+ _next=self.next
111
+ _offset=self.offset
112
+ _previous=self.previous
113
+ _total=self.total
114
+ return (
115
+ f"{self.__class__.__name__}("
116
+ f"href={_href!r}, "
117
+ f"limit={_limit!r}, "
118
+ f"next={_next!r}, "
119
+ f"offset={_offset!r}, "
120
+ f"previous={_previous!r}, "
121
+ f"total={_total!r}, "
122
+ f")"
123
+ )
124
+
125
+ def __str__(self):
126
+ """Return a human-readable string representation."""
127
+ _href=self.href
128
+ _limit=self.limit
129
+ _next=self.next
130
+ _offset=self.offset
131
+ _previous=self.previous
132
+ _total=self.total
133
+ return (
134
+ f"{self.__class__.__name__}("
135
+ f"href={_href!s}, "
136
+ f"limit={_limit!s}, "
137
+ f"next={_next!s}, "
138
+ f"offset={_offset!s}, "
139
+ f"previous={_previous!s}, "
140
+ f"total={_total!s}, "
141
+ f")"
142
+ )
@@ -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_playlist_object import (
8
+ SimplifiedPlaylistObject,
9
+ )
10
+
11
+
12
+ class PagingPlaylistObject(object):
13
+ """Implementation of the 'PagingPlaylistObject' 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[SimplifiedPlaylistObject]): The model property of type
26
+ List[SimplifiedPlaylistObject].
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 PagingPlaylistObject 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
+ SimplifiedPlaylistObject.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
+ )