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,118 @@
|
|
|
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.album_object import (
|
|
9
|
+
AlbumObject,
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class SavedAlbumObject(object):
|
|
14
|
+
"""Implementation of the 'SavedAlbumObject' model.
|
|
15
|
+
|
|
16
|
+
Attributes:
|
|
17
|
+
added_at (datetime): The date and time the album was saved Timestamps are
|
|
18
|
+
returned in ISO 8601 format as Coordinated Universal Time (UTC) with a
|
|
19
|
+
zero offset: YYYY-MM-DDTHH:MM:SSZ. If the time is imprecise (for example,
|
|
20
|
+
the date/time of an album release), an additional field indicates the
|
|
21
|
+
precision; see for example, release_date in an album object.
|
|
22
|
+
album (AlbumObject): Information about the album.
|
|
23
|
+
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
# Create a mapping from Model property names to API property names
|
|
27
|
+
_names = {
|
|
28
|
+
"added_at": "added_at",
|
|
29
|
+
"album": "album",
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
_optionals = [
|
|
33
|
+
"added_at",
|
|
34
|
+
"album",
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
def __init__(
|
|
38
|
+
self,
|
|
39
|
+
added_at=APIHelper.SKIP,
|
|
40
|
+
album=APIHelper.SKIP):
|
|
41
|
+
"""Initialize a SavedAlbumObject instance."""
|
|
42
|
+
# Initialize members of the class
|
|
43
|
+
if added_at is not APIHelper.SKIP:
|
|
44
|
+
self.added_at =\
|
|
45
|
+
APIHelper.apply_datetime_converter(
|
|
46
|
+
added_at, APIHelper.RFC3339DateTime)\
|
|
47
|
+
if added_at else None
|
|
48
|
+
if album is not APIHelper.SKIP:
|
|
49
|
+
self.album = album
|
|
50
|
+
|
|
51
|
+
@classmethod
|
|
52
|
+
def from_dictionary(cls,
|
|
53
|
+
dictionary):
|
|
54
|
+
"""Create an instance of this model from a dictionary
|
|
55
|
+
|
|
56
|
+
Args:
|
|
57
|
+
dictionary (dictionary): A dictionary representation of the object
|
|
58
|
+
as obtained from the deserialization of the server's response. The
|
|
59
|
+
keys MUST match property names in the API description.
|
|
60
|
+
|
|
61
|
+
Returns:
|
|
62
|
+
object: An instance of this structure class.
|
|
63
|
+
|
|
64
|
+
"""
|
|
65
|
+
if not isinstance(dictionary, dict) or dictionary is None:
|
|
66
|
+
return None
|
|
67
|
+
|
|
68
|
+
# Extract variables from the dictionary
|
|
69
|
+
added_at = APIHelper.RFC3339DateTime.from_value(
|
|
70
|
+
dictionary.get("added_at")).datetime\
|
|
71
|
+
if dictionary.get("added_at") else APIHelper.SKIP
|
|
72
|
+
album =\
|
|
73
|
+
AlbumObject.from_dictionary(
|
|
74
|
+
dictionary.get("album"))\
|
|
75
|
+
if "album" in dictionary.keys()\
|
|
76
|
+
else APIHelper.SKIP
|
|
77
|
+
|
|
78
|
+
# Return an object of this model
|
|
79
|
+
return cls(added_at,
|
|
80
|
+
album)
|
|
81
|
+
|
|
82
|
+
def __repr__(self):
|
|
83
|
+
"""Return a unambiguous string representation."""
|
|
84
|
+
_added_at=(
|
|
85
|
+
self.added_at
|
|
86
|
+
if hasattr(self, "added_at")
|
|
87
|
+
else None
|
|
88
|
+
)
|
|
89
|
+
_album=(
|
|
90
|
+
self.album
|
|
91
|
+
if hasattr(self, "album")
|
|
92
|
+
else None
|
|
93
|
+
)
|
|
94
|
+
return (
|
|
95
|
+
f"{self.__class__.__name__}("
|
|
96
|
+
f"added_at={_added_at!r}, "
|
|
97
|
+
f"album={_album!r}, "
|
|
98
|
+
f")"
|
|
99
|
+
)
|
|
100
|
+
|
|
101
|
+
def __str__(self):
|
|
102
|
+
"""Return a human-readable string representation."""
|
|
103
|
+
_added_at=(
|
|
104
|
+
self.added_at
|
|
105
|
+
if hasattr(self, "added_at")
|
|
106
|
+
else None
|
|
107
|
+
)
|
|
108
|
+
_album=(
|
|
109
|
+
self.album
|
|
110
|
+
if hasattr(self, "album")
|
|
111
|
+
else None
|
|
112
|
+
)
|
|
113
|
+
return (
|
|
114
|
+
f"{self.__class__.__name__}("
|
|
115
|
+
f"added_at={_added_at!s}, "
|
|
116
|
+
f"album={_album!s}, "
|
|
117
|
+
f")"
|
|
118
|
+
)
|
|
@@ -0,0 +1,118 @@
|
|
|
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.audiobook_object import (
|
|
9
|
+
AudiobookObject,
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class SavedAudiobookObject(object):
|
|
14
|
+
"""Implementation of the 'SavedAudiobookObject' model.
|
|
15
|
+
|
|
16
|
+
Attributes:
|
|
17
|
+
added_at (datetime): The date and time the audiobook was saved Timestamps are
|
|
18
|
+
returned in ISO 8601 format as Coordinated Universal Time (UTC) with a
|
|
19
|
+
zero offset: YYYY-MM-DDTHH:MM:SSZ. If the time is imprecise (for example,
|
|
20
|
+
the date/time of an album release), an additional field indicates the
|
|
21
|
+
precision; see for example, release_date in an album object.
|
|
22
|
+
audiobook (AudiobookObject): Information about the audiobook.
|
|
23
|
+
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
# Create a mapping from Model property names to API property names
|
|
27
|
+
_names = {
|
|
28
|
+
"added_at": "added_at",
|
|
29
|
+
"audiobook": "audiobook",
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
_optionals = [
|
|
33
|
+
"added_at",
|
|
34
|
+
"audiobook",
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
def __init__(
|
|
38
|
+
self,
|
|
39
|
+
added_at=APIHelper.SKIP,
|
|
40
|
+
audiobook=APIHelper.SKIP):
|
|
41
|
+
"""Initialize a SavedAudiobookObject instance."""
|
|
42
|
+
# Initialize members of the class
|
|
43
|
+
if added_at is not APIHelper.SKIP:
|
|
44
|
+
self.added_at =\
|
|
45
|
+
APIHelper.apply_datetime_converter(
|
|
46
|
+
added_at, APIHelper.RFC3339DateTime)\
|
|
47
|
+
if added_at else None
|
|
48
|
+
if audiobook is not APIHelper.SKIP:
|
|
49
|
+
self.audiobook = audiobook
|
|
50
|
+
|
|
51
|
+
@classmethod
|
|
52
|
+
def from_dictionary(cls,
|
|
53
|
+
dictionary):
|
|
54
|
+
"""Create an instance of this model from a dictionary
|
|
55
|
+
|
|
56
|
+
Args:
|
|
57
|
+
dictionary (dictionary): A dictionary representation of the object
|
|
58
|
+
as obtained from the deserialization of the server's response. The
|
|
59
|
+
keys MUST match property names in the API description.
|
|
60
|
+
|
|
61
|
+
Returns:
|
|
62
|
+
object: An instance of this structure class.
|
|
63
|
+
|
|
64
|
+
"""
|
|
65
|
+
if not isinstance(dictionary, dict) or dictionary is None:
|
|
66
|
+
return None
|
|
67
|
+
|
|
68
|
+
# Extract variables from the dictionary
|
|
69
|
+
added_at = APIHelper.RFC3339DateTime.from_value(
|
|
70
|
+
dictionary.get("added_at")).datetime\
|
|
71
|
+
if dictionary.get("added_at") else APIHelper.SKIP
|
|
72
|
+
audiobook =\
|
|
73
|
+
AudiobookObject.from_dictionary(
|
|
74
|
+
dictionary.get("audiobook"))\
|
|
75
|
+
if "audiobook" in dictionary.keys()\
|
|
76
|
+
else APIHelper.SKIP
|
|
77
|
+
|
|
78
|
+
# Return an object of this model
|
|
79
|
+
return cls(added_at,
|
|
80
|
+
audiobook)
|
|
81
|
+
|
|
82
|
+
def __repr__(self):
|
|
83
|
+
"""Return a unambiguous string representation."""
|
|
84
|
+
_added_at=(
|
|
85
|
+
self.added_at
|
|
86
|
+
if hasattr(self, "added_at")
|
|
87
|
+
else None
|
|
88
|
+
)
|
|
89
|
+
_audiobook=(
|
|
90
|
+
self.audiobook
|
|
91
|
+
if hasattr(self, "audiobook")
|
|
92
|
+
else None
|
|
93
|
+
)
|
|
94
|
+
return (
|
|
95
|
+
f"{self.__class__.__name__}("
|
|
96
|
+
f"added_at={_added_at!r}, "
|
|
97
|
+
f"audiobook={_audiobook!r}, "
|
|
98
|
+
f")"
|
|
99
|
+
)
|
|
100
|
+
|
|
101
|
+
def __str__(self):
|
|
102
|
+
"""Return a human-readable string representation."""
|
|
103
|
+
_added_at=(
|
|
104
|
+
self.added_at
|
|
105
|
+
if hasattr(self, "added_at")
|
|
106
|
+
else None
|
|
107
|
+
)
|
|
108
|
+
_audiobook=(
|
|
109
|
+
self.audiobook
|
|
110
|
+
if hasattr(self, "audiobook")
|
|
111
|
+
else None
|
|
112
|
+
)
|
|
113
|
+
return (
|
|
114
|
+
f"{self.__class__.__name__}("
|
|
115
|
+
f"added_at={_added_at!s}, "
|
|
116
|
+
f"audiobook={_audiobook!s}, "
|
|
117
|
+
f")"
|
|
118
|
+
)
|
|
@@ -0,0 +1,116 @@
|
|
|
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.episode_object import (
|
|
9
|
+
EpisodeObject,
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class SavedEpisodeObject(object):
|
|
14
|
+
"""Implementation of the 'SavedEpisodeObject' model.
|
|
15
|
+
|
|
16
|
+
Attributes:
|
|
17
|
+
added_at (datetime): The date and time the episode was saved. Timestamps are
|
|
18
|
+
returned in ISO 8601 format as Coordinated Universal Time (UTC) with a
|
|
19
|
+
zero offset: YYYY-MM-DDTHH:MM:SSZ.
|
|
20
|
+
episode (EpisodeObject): Information about the episode.
|
|
21
|
+
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
# Create a mapping from Model property names to API property names
|
|
25
|
+
_names = {
|
|
26
|
+
"added_at": "added_at",
|
|
27
|
+
"episode": "episode",
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
_optionals = [
|
|
31
|
+
"added_at",
|
|
32
|
+
"episode",
|
|
33
|
+
]
|
|
34
|
+
|
|
35
|
+
def __init__(
|
|
36
|
+
self,
|
|
37
|
+
added_at=APIHelper.SKIP,
|
|
38
|
+
episode=APIHelper.SKIP):
|
|
39
|
+
"""Initialize a SavedEpisodeObject instance."""
|
|
40
|
+
# Initialize members of the class
|
|
41
|
+
if added_at is not APIHelper.SKIP:
|
|
42
|
+
self.added_at =\
|
|
43
|
+
APIHelper.apply_datetime_converter(
|
|
44
|
+
added_at, APIHelper.RFC3339DateTime)\
|
|
45
|
+
if added_at else None
|
|
46
|
+
if episode is not APIHelper.SKIP:
|
|
47
|
+
self.episode = episode
|
|
48
|
+
|
|
49
|
+
@classmethod
|
|
50
|
+
def from_dictionary(cls,
|
|
51
|
+
dictionary):
|
|
52
|
+
"""Create an instance of this model from a dictionary
|
|
53
|
+
|
|
54
|
+
Args:
|
|
55
|
+
dictionary (dictionary): A dictionary representation of the object
|
|
56
|
+
as obtained from the deserialization of the server's response. The
|
|
57
|
+
keys MUST match property names in the API description.
|
|
58
|
+
|
|
59
|
+
Returns:
|
|
60
|
+
object: An instance of this structure class.
|
|
61
|
+
|
|
62
|
+
"""
|
|
63
|
+
if not isinstance(dictionary, dict) or dictionary is None:
|
|
64
|
+
return None
|
|
65
|
+
|
|
66
|
+
# Extract variables from the dictionary
|
|
67
|
+
added_at = APIHelper.RFC3339DateTime.from_value(
|
|
68
|
+
dictionary.get("added_at")).datetime\
|
|
69
|
+
if dictionary.get("added_at") else APIHelper.SKIP
|
|
70
|
+
episode =\
|
|
71
|
+
EpisodeObject.from_dictionary(
|
|
72
|
+
dictionary.get("episode"))\
|
|
73
|
+
if "episode" in dictionary.keys()\
|
|
74
|
+
else APIHelper.SKIP
|
|
75
|
+
|
|
76
|
+
# Return an object of this model
|
|
77
|
+
return cls(added_at,
|
|
78
|
+
episode)
|
|
79
|
+
|
|
80
|
+
def __repr__(self):
|
|
81
|
+
"""Return a unambiguous string representation."""
|
|
82
|
+
_added_at=(
|
|
83
|
+
self.added_at
|
|
84
|
+
if hasattr(self, "added_at")
|
|
85
|
+
else None
|
|
86
|
+
)
|
|
87
|
+
_episode=(
|
|
88
|
+
self.episode
|
|
89
|
+
if hasattr(self, "episode")
|
|
90
|
+
else None
|
|
91
|
+
)
|
|
92
|
+
return (
|
|
93
|
+
f"{self.__class__.__name__}("
|
|
94
|
+
f"added_at={_added_at!r}, "
|
|
95
|
+
f"episode={_episode!r}, "
|
|
96
|
+
f")"
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
def __str__(self):
|
|
100
|
+
"""Return a human-readable string representation."""
|
|
101
|
+
_added_at=(
|
|
102
|
+
self.added_at
|
|
103
|
+
if hasattr(self, "added_at")
|
|
104
|
+
else None
|
|
105
|
+
)
|
|
106
|
+
_episode=(
|
|
107
|
+
self.episode
|
|
108
|
+
if hasattr(self, "episode")
|
|
109
|
+
else None
|
|
110
|
+
)
|
|
111
|
+
return (
|
|
112
|
+
f"{self.__class__.__name__}("
|
|
113
|
+
f"added_at={_added_at!s}, "
|
|
114
|
+
f"episode={_episode!s}, "
|
|
115
|
+
f")"
|
|
116
|
+
)
|
|
@@ -0,0 +1,116 @@
|
|
|
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.show_base import ShowBase
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class SavedShowObject(object):
|
|
12
|
+
"""Implementation of the 'SavedShowObject' model.
|
|
13
|
+
|
|
14
|
+
Attributes:
|
|
15
|
+
added_at (datetime): The date and time the show was saved. Timestamps are
|
|
16
|
+
returned in ISO 8601 format as Coordinated Universal Time (UTC) with a
|
|
17
|
+
zero offset: YYYY-MM-DDTHH:MM:SSZ. If the time is imprecise (for example,
|
|
18
|
+
the date/time of an album release), an additional field indicates the
|
|
19
|
+
precision; see for example, release_date in an album object.
|
|
20
|
+
show (ShowBase): Information about the show.
|
|
21
|
+
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
# Create a mapping from Model property names to API property names
|
|
25
|
+
_names = {
|
|
26
|
+
"added_at": "added_at",
|
|
27
|
+
"show": "show",
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
_optionals = [
|
|
31
|
+
"added_at",
|
|
32
|
+
"show",
|
|
33
|
+
]
|
|
34
|
+
|
|
35
|
+
def __init__(
|
|
36
|
+
self,
|
|
37
|
+
added_at=APIHelper.SKIP,
|
|
38
|
+
show=APIHelper.SKIP):
|
|
39
|
+
"""Initialize a SavedShowObject instance."""
|
|
40
|
+
# Initialize members of the class
|
|
41
|
+
if added_at is not APIHelper.SKIP:
|
|
42
|
+
self.added_at =\
|
|
43
|
+
APIHelper.apply_datetime_converter(
|
|
44
|
+
added_at, APIHelper.RFC3339DateTime)\
|
|
45
|
+
if added_at else None
|
|
46
|
+
if show is not APIHelper.SKIP:
|
|
47
|
+
self.show = show
|
|
48
|
+
|
|
49
|
+
@classmethod
|
|
50
|
+
def from_dictionary(cls,
|
|
51
|
+
dictionary):
|
|
52
|
+
"""Create an instance of this model from a dictionary
|
|
53
|
+
|
|
54
|
+
Args:
|
|
55
|
+
dictionary (dictionary): A dictionary representation of the object
|
|
56
|
+
as obtained from the deserialization of the server's response. The
|
|
57
|
+
keys MUST match property names in the API description.
|
|
58
|
+
|
|
59
|
+
Returns:
|
|
60
|
+
object: An instance of this structure class.
|
|
61
|
+
|
|
62
|
+
"""
|
|
63
|
+
if not isinstance(dictionary, dict) or dictionary is None:
|
|
64
|
+
return None
|
|
65
|
+
|
|
66
|
+
# Extract variables from the dictionary
|
|
67
|
+
added_at = APIHelper.RFC3339DateTime.from_value(
|
|
68
|
+
dictionary.get("added_at")).datetime\
|
|
69
|
+
if dictionary.get("added_at") else APIHelper.SKIP
|
|
70
|
+
show =\
|
|
71
|
+
ShowBase.from_dictionary(
|
|
72
|
+
dictionary.get("show"))\
|
|
73
|
+
if "show" in dictionary.keys()\
|
|
74
|
+
else APIHelper.SKIP
|
|
75
|
+
|
|
76
|
+
# Return an object of this model
|
|
77
|
+
return cls(added_at,
|
|
78
|
+
show)
|
|
79
|
+
|
|
80
|
+
def __repr__(self):
|
|
81
|
+
"""Return a unambiguous string representation."""
|
|
82
|
+
_added_at=(
|
|
83
|
+
self.added_at
|
|
84
|
+
if hasattr(self, "added_at")
|
|
85
|
+
else None
|
|
86
|
+
)
|
|
87
|
+
_show=(
|
|
88
|
+
self.show
|
|
89
|
+
if hasattr(self, "show")
|
|
90
|
+
else None
|
|
91
|
+
)
|
|
92
|
+
return (
|
|
93
|
+
f"{self.__class__.__name__}("
|
|
94
|
+
f"added_at={_added_at!r}, "
|
|
95
|
+
f"show={_show!r}, "
|
|
96
|
+
f")"
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
def __str__(self):
|
|
100
|
+
"""Return a human-readable string representation."""
|
|
101
|
+
_added_at=(
|
|
102
|
+
self.added_at
|
|
103
|
+
if hasattr(self, "added_at")
|
|
104
|
+
else None
|
|
105
|
+
)
|
|
106
|
+
_show=(
|
|
107
|
+
self.show
|
|
108
|
+
if hasattr(self, "show")
|
|
109
|
+
else None
|
|
110
|
+
)
|
|
111
|
+
return (
|
|
112
|
+
f"{self.__class__.__name__}("
|
|
113
|
+
f"added_at={_added_at!s}, "
|
|
114
|
+
f"show={_show!s}, "
|
|
115
|
+
f")"
|
|
116
|
+
)
|
|
@@ -0,0 +1,118 @@
|
|
|
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.track_object import (
|
|
9
|
+
TrackObject,
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class SavedTrackObject(object):
|
|
14
|
+
"""Implementation of the 'SavedTrackObject' model.
|
|
15
|
+
|
|
16
|
+
Attributes:
|
|
17
|
+
added_at (datetime): The date and time the track was saved. Timestamps are
|
|
18
|
+
returned in ISO 8601 format as Coordinated Universal Time (UTC) with a
|
|
19
|
+
zero offset: YYYY-MM-DDTHH:MM:SSZ. If the time is imprecise (for example,
|
|
20
|
+
the date/time of an album release), an additional field indicates the
|
|
21
|
+
precision; see for example, release_date in an album object.
|
|
22
|
+
track (TrackObject): Information about the track.
|
|
23
|
+
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
# Create a mapping from Model property names to API property names
|
|
27
|
+
_names = {
|
|
28
|
+
"added_at": "added_at",
|
|
29
|
+
"track": "track",
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
_optionals = [
|
|
33
|
+
"added_at",
|
|
34
|
+
"track",
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
def __init__(
|
|
38
|
+
self,
|
|
39
|
+
added_at=APIHelper.SKIP,
|
|
40
|
+
track=APIHelper.SKIP):
|
|
41
|
+
"""Initialize a SavedTrackObject instance."""
|
|
42
|
+
# Initialize members of the class
|
|
43
|
+
if added_at is not APIHelper.SKIP:
|
|
44
|
+
self.added_at =\
|
|
45
|
+
APIHelper.apply_datetime_converter(
|
|
46
|
+
added_at, APIHelper.RFC3339DateTime)\
|
|
47
|
+
if added_at else None
|
|
48
|
+
if track is not APIHelper.SKIP:
|
|
49
|
+
self.track = track
|
|
50
|
+
|
|
51
|
+
@classmethod
|
|
52
|
+
def from_dictionary(cls,
|
|
53
|
+
dictionary):
|
|
54
|
+
"""Create an instance of this model from a dictionary
|
|
55
|
+
|
|
56
|
+
Args:
|
|
57
|
+
dictionary (dictionary): A dictionary representation of the object
|
|
58
|
+
as obtained from the deserialization of the server's response. The
|
|
59
|
+
keys MUST match property names in the API description.
|
|
60
|
+
|
|
61
|
+
Returns:
|
|
62
|
+
object: An instance of this structure class.
|
|
63
|
+
|
|
64
|
+
"""
|
|
65
|
+
if not isinstance(dictionary, dict) or dictionary is None:
|
|
66
|
+
return None
|
|
67
|
+
|
|
68
|
+
# Extract variables from the dictionary
|
|
69
|
+
added_at = APIHelper.RFC3339DateTime.from_value(
|
|
70
|
+
dictionary.get("added_at")).datetime\
|
|
71
|
+
if dictionary.get("added_at") else APIHelper.SKIP
|
|
72
|
+
track =\
|
|
73
|
+
TrackObject.from_dictionary(
|
|
74
|
+
dictionary.get("track"))\
|
|
75
|
+
if "track" in dictionary.keys()\
|
|
76
|
+
else APIHelper.SKIP
|
|
77
|
+
|
|
78
|
+
# Return an object of this model
|
|
79
|
+
return cls(added_at,
|
|
80
|
+
track)
|
|
81
|
+
|
|
82
|
+
def __repr__(self):
|
|
83
|
+
"""Return a unambiguous string representation."""
|
|
84
|
+
_added_at=(
|
|
85
|
+
self.added_at
|
|
86
|
+
if hasattr(self, "added_at")
|
|
87
|
+
else None
|
|
88
|
+
)
|
|
89
|
+
_track=(
|
|
90
|
+
self.track
|
|
91
|
+
if hasattr(self, "track")
|
|
92
|
+
else None
|
|
93
|
+
)
|
|
94
|
+
return (
|
|
95
|
+
f"{self.__class__.__name__}("
|
|
96
|
+
f"added_at={_added_at!r}, "
|
|
97
|
+
f"track={_track!r}, "
|
|
98
|
+
f")"
|
|
99
|
+
)
|
|
100
|
+
|
|
101
|
+
def __str__(self):
|
|
102
|
+
"""Return a human-readable string representation."""
|
|
103
|
+
_added_at=(
|
|
104
|
+
self.added_at
|
|
105
|
+
if hasattr(self, "added_at")
|
|
106
|
+
else None
|
|
107
|
+
)
|
|
108
|
+
_track=(
|
|
109
|
+
self.track
|
|
110
|
+
if hasattr(self, "track")
|
|
111
|
+
else None
|
|
112
|
+
)
|
|
113
|
+
return (
|
|
114
|
+
f"{self.__class__.__name__}("
|
|
115
|
+
f"added_at={_added_at!s}, "
|
|
116
|
+
f"track={_track!s}, "
|
|
117
|
+
f")"
|
|
118
|
+
)
|