spotifywebapiPython 1.0.36__py3-none-any.whl → 1.0.147__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.
Potentially problematic release.
This version of spotifywebapiPython might be problematic. Click here for more details.
- {spotifywebapiPython-1.0.36.dist-info → spotifywebapiPython-1.0.147.dist-info}/LICENSE +1 -1
- {spotifywebapiPython-1.0.36.dist-info → spotifywebapiPython-1.0.147.dist-info}/METADATA +7 -6
- spotifywebapiPython-1.0.147.dist-info/RECORD +117 -0
- spotifywebapipython/__init__.py +2 -0
- spotifywebapipython/const.py +19 -1
- spotifywebapipython/docs/__init__.html +790 -3
- spotifywebapipython/docs/index.html +21 -3
- spotifywebapipython/docs/search.js +1 -1
- spotifywebapipython/docs/{spotifywebapiPython → spotifywebapipython}/const.html +72 -4
- spotifywebapipython/docs/{spotifywebapiPython → spotifywebapipython}/saappmessages.html +77 -3
- spotifywebapipython/docs/{spotifywebapiPython → spotifywebapipython}/sautils.html +63 -3
- spotifywebapipython/docs/{spotifywebapiPython → spotifywebapipython}/spotifyapierror.html +3 -3
- spotifywebapipython/docs/{spotifywebapiPython → spotifywebapipython}/spotifyapimessage.html +20 -3
- spotifywebapipython/docs/{spotifywebapiPython → spotifywebapipython}/spotifyauthtoken.html +39 -3
- spotifywebapipython/docs/{spotifywebapiPython → spotifywebapipython}/spotifyclient.html +2553 -364
- spotifywebapipython/docs/{spotifywebapiPython → spotifywebapipython}/spotifydiscovery.html +85 -52
- spotifywebapipython/docs/{spotifywebapiPython → spotifywebapipython}/spotifywebapiauthenticationerror.html +3 -3
- spotifywebapipython/docs/{spotifywebapiPython → spotifywebapipython}/spotifywebapierror.html +3 -3
- spotifywebapipython/models/__init__.py +8 -0
- spotifywebapipython/models/albumpagesaved.py +2 -1
- spotifywebapipython/models/albumpagesimplified.py +2 -1
- spotifywebapipython/models/albumsimplified.py +4 -5
- spotifywebapipython/models/artist.py +4 -5
- spotifywebapipython/models/artistinfo.py +282 -0
- spotifywebapipython/models/artistinfotourevent.py +127 -0
- spotifywebapipython/models/artistpage.py +2 -1
- spotifywebapipython/models/artistsimplified.py +4 -0
- spotifywebapipython/models/audiobookpagesimplified.py +2 -1
- spotifywebapipython/models/audiobooksimplified.py +4 -5
- spotifywebapipython/models/category.py +16 -0
- spotifywebapipython/models/categorypage.py +2 -1
- spotifywebapipython/models/chapterpagesimplified.py +2 -1
- spotifywebapipython/models/chaptersimplified.py +6 -7
- spotifywebapipython/models/context.py +1 -3
- spotifywebapipython/models/device.py +85 -2
- spotifywebapipython/models/episodepagesaved.py +2 -1
- spotifywebapipython/models/episodepagesimplified.py +2 -1
- spotifywebapipython/models/episodesaved.py +2 -2
- spotifywebapipython/models/episodesimplified.py +5 -6
- spotifywebapipython/models/imageobject.py +98 -0
- spotifywebapipython/models/pageobject.py +29 -4
- spotifywebapipython/models/playeractions.py +33 -11
- spotifywebapipython/models/playerplaystate.py +128 -13
- spotifywebapipython/models/playerqueueinfo.py +61 -4
- spotifywebapipython/models/playhistorypage.py +2 -1
- spotifywebapipython/models/playlist.py +6 -3
- spotifywebapipython/models/playlistpage.py +2 -1
- spotifywebapipython/models/playlistpagesimplified.py +2 -1
- spotifywebapipython/models/playlistsimplified.py +49 -7
- spotifywebapipython/models/playlisttrack.py +1 -0
- spotifywebapipython/models/playlisttracksummary.py +3 -1
- spotifywebapipython/models/searchresponse.py +1 -1
- spotifywebapipython/models/showpagesaved.py +2 -1
- spotifywebapipython/models/showpagesimplified.py +2 -1
- spotifywebapipython/models/showsaved.py +2 -2
- spotifywebapipython/models/showsimplified.py +8 -5
- spotifywebapipython/models/spotifyconnectdevice.py +188 -0
- spotifywebapipython/models/spotifyconnectdevices.py +628 -0
- spotifywebapipython/models/track.py +2 -1
- spotifywebapipython/models/trackpage.py +42 -1
- spotifywebapipython/models/trackpagesaved.py +2 -1
- spotifywebapipython/models/trackpagesimplified.py +2 -1
- spotifywebapipython/models/trackrecommendations.py +5 -5
- spotifywebapipython/models/tracksimplified.py +10 -3
- spotifywebapipython/models/userprofile.py +25 -1
- spotifywebapipython/models/userprofilesimplified.py +4 -5
- spotifywebapipython/models/zeroconfdiscoveryresult.py +599 -0
- spotifywebapipython/models/zeroconfproperty.py +93 -0
- spotifywebapipython/oauthcli/authclient.py +119 -19
- spotifywebapipython/saappmessages.py +21 -1
- spotifywebapipython/sautils.py +88 -1
- spotifywebapipython/spotifyapimessage.py +18 -1
- spotifywebapipython/spotifyauthtoken.py +26 -0
- spotifywebapipython/spotifyclient.py +4302 -516
- spotifywebapipython/spotifyconnectdeviceeventargs.py +67 -0
- spotifywebapipython/spotifydiscovery.py +326 -136
- spotifywebapipython/zeroconfapi/__init__.py +23 -0
- spotifywebapipython/zeroconfapi/authenticationtypes.py +38 -0
- spotifywebapipython/zeroconfapi/blobbuilder.py +370 -0
- spotifywebapipython/zeroconfapi/credentials.py +37 -0
- spotifywebapipython/zeroconfapi/cryptodiffiehellman.py +89 -0
- spotifywebapipython/zeroconfapi/helpers.py +64 -0
- spotifywebapipython/zeroconfapi/spotifyzeroconfapierror.py +108 -0
- spotifywebapipython/zeroconfapi/zeroconfconnect.py +1315 -0
- spotifywebapipython/zeroconfapi/zeroconfgetinfo.py +619 -0
- spotifywebapipython/zeroconfapi/zeroconfgetinfoalias.py +105 -0
- spotifywebapipython/zeroconfapi/zeroconfgetinfodrmmediaformat.py +90 -0
- spotifywebapipython/zeroconfapi/zeroconfresponse.py +141 -0
- spotifywebapiPython-1.0.36.dist-info/RECORD +0 -98
- {spotifywebapiPython-1.0.36.dist-info → spotifywebapiPython-1.0.147.dist-info}/WHEEL +0 -0
- {spotifywebapiPython-1.0.36.dist-info → spotifywebapiPython-1.0.147.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# external package imports.
|
|
2
|
+
|
|
3
|
+
# our package imports.
|
|
4
|
+
from ..sautils import export
|
|
5
|
+
|
|
6
|
+
@export
|
|
7
|
+
class ZeroconfGetInfoAlias:
|
|
8
|
+
"""
|
|
9
|
+
Spotify Zeroconf API GetInfo Alias object.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
def __init__(self, root:dict=None) -> None:
|
|
13
|
+
"""
|
|
14
|
+
Initializes a new instance of the class.
|
|
15
|
+
|
|
16
|
+
Args:
|
|
17
|
+
root (dict):
|
|
18
|
+
Spotify Web API JSON response in dictionary format, used to load object
|
|
19
|
+
attributes; otherwise, None to not load attributes.
|
|
20
|
+
"""
|
|
21
|
+
self._Id:str = None
|
|
22
|
+
self._IsGroup:bool = None
|
|
23
|
+
self._Name:str = None
|
|
24
|
+
|
|
25
|
+
if (root is None):
|
|
26
|
+
|
|
27
|
+
pass
|
|
28
|
+
|
|
29
|
+
else:
|
|
30
|
+
|
|
31
|
+
self._Id = root.get('id', None)
|
|
32
|
+
self._IsGroup = root.get('isGroup', None)
|
|
33
|
+
self._Name = root.get('name', None)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def __repr__(self) -> str:
|
|
37
|
+
return self.ToString()
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def __str__(self) -> str:
|
|
41
|
+
return self.ToString()
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
@property
|
|
45
|
+
def Id(self) -> str:
|
|
46
|
+
"""
|
|
47
|
+
Unique identifier of the alias.
|
|
48
|
+
"""
|
|
49
|
+
return self._Id
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
@property
|
|
53
|
+
def IsGroup(self) -> bool:
|
|
54
|
+
"""
|
|
55
|
+
True if the alias is a group; otherwise, False.
|
|
56
|
+
"""
|
|
57
|
+
return self._IsGroup
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
@property
|
|
61
|
+
def Name(self) -> str:
|
|
62
|
+
"""
|
|
63
|
+
Display name of the alias.
|
|
64
|
+
"""
|
|
65
|
+
return self._Name
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
@property
|
|
69
|
+
def Title(self) -> str:
|
|
70
|
+
"""
|
|
71
|
+
Alias name and id value (e.g. '"Bose-ST10-1" (30fbc80e35598f3c242f2120413c943dfd9715fe)').
|
|
72
|
+
"""
|
|
73
|
+
return '"%s" (%s)' % (self._Name, self._Id)
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
def ToDictionary(self) -> dict:
|
|
77
|
+
"""
|
|
78
|
+
Returns a dictionary representation of the class.
|
|
79
|
+
"""
|
|
80
|
+
result:dict = \
|
|
81
|
+
{
|
|
82
|
+
'Id': self._Id,
|
|
83
|
+
'IsGroup': self._IsGroup,
|
|
84
|
+
'Name': self._Name,
|
|
85
|
+
'Title': self.Title,
|
|
86
|
+
}
|
|
87
|
+
return result
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def ToString(self, includeTitle:bool=False) -> str:
|
|
91
|
+
"""
|
|
92
|
+
Returns a displayable string representation of the class.
|
|
93
|
+
|
|
94
|
+
Args:
|
|
95
|
+
includeTitle (str):
|
|
96
|
+
True to include the class name title prefix.
|
|
97
|
+
"""
|
|
98
|
+
msg:str = ''
|
|
99
|
+
if includeTitle:
|
|
100
|
+
msg = 'ZeroconfGetInfoAlias:'
|
|
101
|
+
|
|
102
|
+
if self._Name is not None: msg = '%s\n Name="%s"' % (msg, str(self._Name))
|
|
103
|
+
if self._Id is not None: msg = '%s\n Id="%s"' % (msg, str(self._Id))
|
|
104
|
+
if self._IsGroup is not None: msg = '%s\n IsGroup="%s"' % (msg, str(self._IsGroup))
|
|
105
|
+
return msg
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# external package imports.
|
|
2
|
+
|
|
3
|
+
# our package imports.
|
|
4
|
+
from ..sautils import export
|
|
5
|
+
|
|
6
|
+
@export
|
|
7
|
+
class ZeroconfGetInfoDrmMediaFormat:
|
|
8
|
+
"""
|
|
9
|
+
Spotify Zeroconf API GetInfo DRM Media Format object.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
def __init__(self, root:dict=None) -> None:
|
|
13
|
+
"""
|
|
14
|
+
Initializes a new instance of the class.
|
|
15
|
+
|
|
16
|
+
Args:
|
|
17
|
+
root (dict):
|
|
18
|
+
Spotify Web API JSON response in dictionary format, used to load object
|
|
19
|
+
attributes; otherwise, None to not load attributes.
|
|
20
|
+
"""
|
|
21
|
+
self._Drm:int = None
|
|
22
|
+
self._Formats:int = None
|
|
23
|
+
|
|
24
|
+
if (root is None):
|
|
25
|
+
|
|
26
|
+
pass
|
|
27
|
+
|
|
28
|
+
else:
|
|
29
|
+
|
|
30
|
+
self._Drm = root.get('drm', None)
|
|
31
|
+
self._Formats = root.get('formats', None)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def __repr__(self) -> str:
|
|
35
|
+
return self.ToString()
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def __str__(self) -> str:
|
|
39
|
+
return self.ToString()
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
@property
|
|
43
|
+
def Drm(self) -> int:
|
|
44
|
+
"""
|
|
45
|
+
DRM format which the integration supports (SpDrmFormat).
|
|
46
|
+
|
|
47
|
+
kSpDrmFormatUnknown Unknown DRM.
|
|
48
|
+
kSpDrmFormatUnencrypted No DRM, unencrypted.
|
|
49
|
+
kSpDrmFormatFairPlay FairPlay.
|
|
50
|
+
kSpDrmFormatWidevine Widevine.
|
|
51
|
+
kSpDrmFormatPlayReady PlayReady.
|
|
52
|
+
"""
|
|
53
|
+
return self._Drm
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
@property
|
|
57
|
+
def Formats(self) -> int:
|
|
58
|
+
"""
|
|
59
|
+
Supported media formats for a DRM.
|
|
60
|
+
"""
|
|
61
|
+
return self._Formats
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def ToDictionary(self) -> dict:
|
|
65
|
+
"""
|
|
66
|
+
Returns a dictionary representation of the class.
|
|
67
|
+
"""
|
|
68
|
+
result:dict = \
|
|
69
|
+
{
|
|
70
|
+
'Drm': self._Drm,
|
|
71
|
+
'Formats': self._Formats,
|
|
72
|
+
}
|
|
73
|
+
return result
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
def ToString(self, includeTitle:bool=False) -> str:
|
|
77
|
+
"""
|
|
78
|
+
Returns a displayable string representation of the class.
|
|
79
|
+
|
|
80
|
+
Args:
|
|
81
|
+
includeTitle (str):
|
|
82
|
+
True to include the class name title prefix.
|
|
83
|
+
"""
|
|
84
|
+
msg:str = ''
|
|
85
|
+
if includeTitle:
|
|
86
|
+
msg = 'ZeroconfGetInfoDrmMediaFormat:'
|
|
87
|
+
|
|
88
|
+
if self._Drm is not None: msg = '%s\n Drm=%s' % (msg, str(self._Drm))
|
|
89
|
+
if self._Formats is not None: msg = '%s\n Formats=%s' % (msg, str(self._Formats))
|
|
90
|
+
return msg
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# external package imports.
|
|
2
|
+
|
|
3
|
+
# our package imports.
|
|
4
|
+
from ..sautils import export
|
|
5
|
+
|
|
6
|
+
@export
|
|
7
|
+
class ZeroconfResponse:
|
|
8
|
+
"""
|
|
9
|
+
Spotify Zeroconf API basic response object.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
def __init__(self, root:dict=None) -> None:
|
|
13
|
+
"""
|
|
14
|
+
Initializes a new instance of the class.
|
|
15
|
+
|
|
16
|
+
Args:
|
|
17
|
+
root (dict):
|
|
18
|
+
Spotify Web API JSON response in dictionary format, used to load object
|
|
19
|
+
attributes; otherwise, None to not load attributes.
|
|
20
|
+
"""
|
|
21
|
+
self._SpotifyError:int = None
|
|
22
|
+
self._Status:int = None
|
|
23
|
+
self._StatusString:str = None
|
|
24
|
+
self._ResponseSource:str = None
|
|
25
|
+
|
|
26
|
+
if (root is None):
|
|
27
|
+
|
|
28
|
+
pass
|
|
29
|
+
|
|
30
|
+
else:
|
|
31
|
+
|
|
32
|
+
# some devices return the `status` and `spotifyError` values as string,
|
|
33
|
+
# while others return them as numeric; use the property setters to
|
|
34
|
+
# convert them to numeric if they are strings that contain a numeric value.
|
|
35
|
+
self._ResponseSource = root.get('responseSource', None)
|
|
36
|
+
self.SpotifyError = root.get('spotifyError', None)
|
|
37
|
+
self.Status = root.get('status', None)
|
|
38
|
+
self._StatusString = root.get('statusString', None)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def __repr__(self) -> str:
|
|
42
|
+
return self.ToString()
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def __str__(self) -> str:
|
|
46
|
+
return self.ToString()
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
@property
|
|
50
|
+
def ResponseSource(self) -> str:
|
|
51
|
+
"""
|
|
52
|
+
Response source string (e.g. "", "eSDK", etc).
|
|
53
|
+
"""
|
|
54
|
+
return self._ResponseSource
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
@property
|
|
58
|
+
def SpotifyError(self) -> int:
|
|
59
|
+
"""
|
|
60
|
+
The last error code returned by a Spotify API call or the SpCallbackError() callback (e.g. 0, -119, etc).
|
|
61
|
+
"""
|
|
62
|
+
return self._SpotifyError
|
|
63
|
+
|
|
64
|
+
@SpotifyError.setter
|
|
65
|
+
def SpotifyError(self, value:int):
|
|
66
|
+
"""
|
|
67
|
+
Sets the SpotifyError property value.
|
|
68
|
+
"""
|
|
69
|
+
if isinstance(value, int):
|
|
70
|
+
self._SpotifyError = value
|
|
71
|
+
elif isinstance(value, str):
|
|
72
|
+
if value.isnumeric():
|
|
73
|
+
self._SpotifyError = int(value)
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
@property
|
|
77
|
+
def Status(self) -> int:
|
|
78
|
+
"""
|
|
79
|
+
A code indicating the result of the operation (e.g. 101, 402, etc).
|
|
80
|
+
"""
|
|
81
|
+
return self._Status
|
|
82
|
+
|
|
83
|
+
@Status.setter
|
|
84
|
+
def Status(self, value:int):
|
|
85
|
+
"""
|
|
86
|
+
Sets the Status property value.
|
|
87
|
+
"""
|
|
88
|
+
if isinstance(value, int):
|
|
89
|
+
self._Status = value
|
|
90
|
+
elif isinstance(value, str):
|
|
91
|
+
if value.isnumeric():
|
|
92
|
+
self._Status = int(value)
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
@property
|
|
96
|
+
def StatusString(self) -> str:
|
|
97
|
+
"""
|
|
98
|
+
The string describing the status code (e.g. "OK", "ERROR-SPOTIFY-ERROR", etc).
|
|
99
|
+
"""
|
|
100
|
+
return self._StatusString
|
|
101
|
+
|
|
102
|
+
@StatusString.setter
|
|
103
|
+
def StatusString(self, value:str):
|
|
104
|
+
"""
|
|
105
|
+
Sets the StatusString property value.
|
|
106
|
+
"""
|
|
107
|
+
if isinstance(value, str):
|
|
108
|
+
self._StatusString = value
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
def ToDictionary(self) -> dict:
|
|
112
|
+
"""
|
|
113
|
+
Returns a dictionary representation of the class.
|
|
114
|
+
"""
|
|
115
|
+
result:dict = \
|
|
116
|
+
{
|
|
117
|
+
'SpotifyError': self._SpotifyError,
|
|
118
|
+
'Status': self._Status,
|
|
119
|
+
'StatusString': self._StatusString,
|
|
120
|
+
'ResponseSource': self._ResponseSource,
|
|
121
|
+
}
|
|
122
|
+
return result
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
def ToString(self, includeTitle:bool=True) -> str:
|
|
126
|
+
"""
|
|
127
|
+
Returns a displayable string representation of the class.
|
|
128
|
+
|
|
129
|
+
Args:
|
|
130
|
+
includeTitle (str):
|
|
131
|
+
True to include the class name title prefix.
|
|
132
|
+
"""
|
|
133
|
+
msg:str = ''
|
|
134
|
+
if includeTitle:
|
|
135
|
+
msg = 'ZeroconfResponse:'
|
|
136
|
+
|
|
137
|
+
if self._SpotifyError is not None: msg = '%s\n SpotifyError="%s"' % (msg, str(self._SpotifyError))
|
|
138
|
+
if self._Status is not None: msg = '%s\n Status="%s"' % (msg, str(self._Status))
|
|
139
|
+
if self._StatusString is not None: msg = '%s\n StatusString="%s"' % (msg, str(self._StatusString))
|
|
140
|
+
if self._ResponseSource is not None: msg = '%s\n ResponseSource="%s"' % (msg, str(self._ResponseSource))
|
|
141
|
+
return msg
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
spotifywebapipython/__init__.py,sha256=plxfI8kHIstiXcjaHx9MYyZ494t8yYpO5veNQq7FBpc,1110
|
|
2
|
-
spotifywebapipython/const.py,sha256=OmJwf8nEaxeUDHUw7balxQuYef7qoHsTxEyAPW7n2mk,2900
|
|
3
|
-
spotifywebapipython/saappmessages.py,sha256=LsfqGuUaV4westIozvusRzv9wQ1mRT8NnRldR5ttPhI,1916
|
|
4
|
-
spotifywebapipython/sautils.py,sha256=8iALEeq3jSmvAwnAdf9byf57pKOFJAgMIEvO1QVMKIw,4275
|
|
5
|
-
spotifywebapipython/spotifyapierror.py,sha256=23_CYlxWN0BceYYCLpBpunl55vEwPr_wFf34l74xzeA,1855
|
|
6
|
-
spotifywebapipython/spotifyapimessage.py,sha256=JuJHMLgRcYAIZoGPz2LdnNGBggAV7NNdK8QHHTT32dQ,7882
|
|
7
|
-
spotifywebapipython/spotifyauthtoken.py,sha256=jF3qCzU3EkSBBFVwumy2t52-9FtgNfGBLFm0v4ikRyM,8507
|
|
8
|
-
spotifywebapipython/spotifyclient.py,sha256=snZrTHjL9cp0CD7K9LF6pW7PJuU1wyfvXENYDQS5iQg,574295
|
|
9
|
-
spotifywebapipython/spotifydiscovery.py,sha256=mZd_69ZVoGuQJgfDOpx_42_4u8qUhejiPzSEc-8eIKs,12837
|
|
10
|
-
spotifywebapipython/spotifywebapiauthenticationerror.py,sha256=5A0MKvYo3Ypv0ZeSSfLHuFLwzoUUu044bBoUgMfNXNw,3940
|
|
11
|
-
spotifywebapipython/spotifywebapierror.py,sha256=5cga9213J_nFQ0UX4vSn3dpyinASKTRiH0wAR4nLjvs,3147
|
|
12
|
-
spotifywebapipython/docs/__init__.html,sha256=7Mpj86qXHBf43yOUwU2MQBqBjJ0A_sSfKEJIQDKkYYY,77935
|
|
13
|
-
spotifywebapipython/docs/codecopy.js,sha256=ryuoZwLIL03YitjjFzn49UO5ta7-OBos6LNA3qHhFzs,3120
|
|
14
|
-
spotifywebapipython/docs/index.html,sha256=ECFhMUE4Ou18DZo8z_0YRlR6t9Hpu5k1SnmSP5aqEWI,44911
|
|
15
|
-
spotifywebapipython/docs/search.js,sha256=gcxuJhl_h8kCgPZoCiyC5adoJ7LN3uNPOq0IYocXErk,1669481
|
|
16
|
-
spotifywebapipython/docs/spotifywebapipython.ico,sha256=YImj39fqqSPSuB2-sMDlUYDd6YwRfQeJRtq4FjwWglg,16410
|
|
17
|
-
spotifywebapipython/docs/spotifywebapipython_OLD.ico,sha256=YIv5LjcD4bTIJQSOr8jjwbWaeB3QkElRwkTOePiGbZo,14904
|
|
18
|
-
spotifywebapipython/docs/spotifywebapiPython/const.html,sha256=1bg0ozASG65Ccey8P0FRMaom66KAuROjyfEiD07R9fw,55458
|
|
19
|
-
spotifywebapipython/docs/spotifywebapiPython/saappmessages.html,sha256=CHJfXt3aQjli8xoZzXKjAS9E-waVZghT9RpI_LqvS7M,50564
|
|
20
|
-
spotifywebapipython/docs/spotifywebapiPython/sautils.html,sha256=SaABxC7O6lxmHv1xkhzjWxxAI-Zjotg_dwop93lXpyc,55823
|
|
21
|
-
spotifywebapipython/docs/spotifywebapiPython/spotifyapierror.html,sha256=ofP4NHnEqm2YLQQ2wbZNORWdU0BMEeqmdjfa_ZAg8og,47956
|
|
22
|
-
spotifywebapipython/docs/spotifywebapiPython/spotifyapimessage.html,sha256=BRlzL2D7cju1PDyyTYJNRLvvzyB29GyjUSLmTUPOUUA,58338
|
|
23
|
-
spotifywebapipython/docs/spotifywebapiPython/spotifyauthtoken.html,sha256=APe5F2EEmWywPpD_LNUQUu8PALGDjg8ruUCYDHZ-Gp8,57479
|
|
24
|
-
spotifywebapipython/docs/spotifywebapiPython/spotifyclient.html,sha256=PdiiYFQcvGP3cR_nuxF0HxH3SvizJrH8451mLVrEMCc,1265932
|
|
25
|
-
spotifywebapipython/docs/spotifywebapiPython/spotifydiscovery.html,sha256=vLNZalFge_kzyyZDI4VmT5HXThXgC22nKz2R9CI3OCw,55923
|
|
26
|
-
spotifywebapipython/docs/spotifywebapiPython/spotifywebapiauthenticationerror.html,sha256=CA9u1r4QnPOqTytGcaK2oLfeRig-EDR_IToa_Vu9M74,52076
|
|
27
|
-
spotifywebapipython/docs/spotifywebapiPython/spotifywebapierror.html,sha256=TWYESxDj1ulOR-gtq6YT9uKioWkrWhs_nz2aMh3p_mw,50494
|
|
28
|
-
spotifywebapipython/models/__init__.py,sha256=8nIwHkXv__5T89X_I8-MPtdxd1jBDu9gmmETeADHyEk,3652
|
|
29
|
-
spotifywebapipython/models/album.py,sha256=U3Pdw0-EL33LdkeiN31fjZ23rlLk6DNGV8jRmZU7EyQ,5170
|
|
30
|
-
spotifywebapipython/models/albumpagesaved.py,sha256=hBpIYZXWW4FE4HnJu99dNydaRmgU_gQo0PFfAZga3k0,2371
|
|
31
|
-
spotifywebapipython/models/albumpagesimplified.py,sha256=ETuUDglyMGBNO2tLRNpHpY3J9kHIoLbWi-dgxG9_L7I,2458
|
|
32
|
-
spotifywebapipython/models/albumsaved.py,sha256=IU1Wg_aN3T6KN7uT9G2mYO_rtmzbLoZ8gKX0RLQybq4,2824
|
|
33
|
-
spotifywebapipython/models/albumsimplified.py,sha256=R_OKL9dIqiReZoWYl3NuvOFwkyyGMG5MZDrVYjdsbv0,9861
|
|
34
|
-
spotifywebapipython/models/artist.py,sha256=49ojVCUYGwiqdc7JJwxObG9M6YyRiaL2UxqboXoBs8Y,4409
|
|
35
|
-
spotifywebapipython/models/artistpage.py,sha256=THHPTjTQx_oZlh6JZFuluGTbdmEYbDFZLvhuCtd4dKI,1848
|
|
36
|
-
spotifywebapipython/models/artistsimplified.py,sha256=5sncZZmjAMsH7R8uXjFnA6ga-dgs_vaTLP7fcZ_z_H0,4374
|
|
37
|
-
spotifywebapipython/models/audiobook.py,sha256=_t4WyGUKGX6uMWHa_CroiPz4Jw694r2iKvRy20m3bt0,2354
|
|
38
|
-
spotifywebapipython/models/audiobookpagesimplified.py,sha256=xKA_RFA292MEYH7B2o3r6aCh690TcIWReSm0ceTkoW4,2502
|
|
39
|
-
spotifywebapipython/models/audiobooksimplified.py,sha256=ZEg4U5JTyY6iFtN3crPsnc4CJaiEZSaDM37gQ-mVNyI,11724
|
|
40
|
-
spotifywebapipython/models/audiofeatures.py,sha256=dk8SX-DgWItLqD3TKzW5Ynt69BtiZlJrmoU6bsjgIZs,12021
|
|
41
|
-
spotifywebapipython/models/author.py,sha256=EQpWmgLx15lei-QRwBhEC86FILDTXMyJysMLnyfSYaQ,1512
|
|
42
|
-
spotifywebapipython/models/category.py,sha256=_l6tuT14bjPVz-Gdg56UiA77QYz3JHXt3clpCaL6W50,4178
|
|
43
|
-
spotifywebapipython/models/categorypage.py,sha256=B2iAZ3XEWkPhgtx6c7_3ERbN_aiRJkKPDqZsHXTaHA8,1857
|
|
44
|
-
spotifywebapipython/models/chapter.py,sha256=LUEFwyW-o6rTc6KjOfap7QSAKcREgr1L4UjArBa5KSE,2276
|
|
45
|
-
spotifywebapipython/models/chapterpagesimplified.py,sha256=Dp5vAYovD19lbC5Pyer1u_AnAP8SrDpRd9uXkvFsmZc,2480
|
|
46
|
-
spotifywebapipython/models/chaptersimplified.py,sha256=GqFfaE8E5F9JOfDlqA_Ud-h4cMg82e8EbxGonrhkKkA,12880
|
|
47
|
-
spotifywebapipython/models/context.py,sha256=OQaJ4lrYCKacfclYK1IB6-0RHy2yuTJa0jgQtMiWfPY,3072
|
|
48
|
-
spotifywebapipython/models/copyright.py,sha256=4fytdyguXLbHISkRbioG3WORu6flCeC6L_mLvEG5v-A,1924
|
|
49
|
-
spotifywebapipython/models/device.py,sha256=XH_T6iOjC7kJ4JrLrY5TL3LNngpSmd8BclitNCDJPow,6684
|
|
50
|
-
spotifywebapipython/models/episode.py,sha256=EAUbp-HtaDdznDQETjCvlTibeoNmUjk2uBBb4xF1GEQ,2190
|
|
51
|
-
spotifywebapipython/models/episodepagesaved.py,sha256=LqBFobO1i6qkTXCHNf0YC8xrd7hpTI9PKpHhYhmrP8Q,2411
|
|
52
|
-
spotifywebapipython/models/episodepagesimplified.py,sha256=VRLQsYP2pLTIkyqNScj-YbMnjClHf08zuszbHZX9E58,2480
|
|
53
|
-
spotifywebapipython/models/episodesaved.py,sha256=IZHfu15eiwvAEuzeTbjROBAVKud3PsERgi3CkxoqMxY,2771
|
|
54
|
-
spotifywebapipython/models/episodesimplified.py,sha256=J_bQshQVZc0cbgSdda8WH-1UhVzAc1Esu0KxbZ1jVG0,12303
|
|
55
|
-
spotifywebapipython/models/explicitcontent.py,sha256=_lma2qEqVkDF_rE8hlG5CJ1qWN3slZ3A3wHEWhY1fUw,2165
|
|
56
|
-
spotifywebapipython/models/externalids.py,sha256=CsLdAslTyDPK_hU1UepmCOJLe8bXZMUCJeH5xlpm-0o,2223
|
|
57
|
-
spotifywebapipython/models/externalurls.py,sha256=wFMpa9Yj9c6-XmsnYDoOBWPL54qGaADJAROC-CpW4tc,2729
|
|
58
|
-
spotifywebapipython/models/followers.py,sha256=W_KUqxuuu1z7uA0AnLCL6g_k2Ruhqa86_kKjOLctaSE,1955
|
|
59
|
-
spotifywebapipython/models/imageobject.py,sha256=PlC_hvPVg4LRKR3dnibWAB4ZS05yb9xdDHo8CXE4JfA,2313
|
|
60
|
-
spotifywebapipython/models/narrator.py,sha256=8gkYk8YkWX7m0ErDs9pwkWbXKkGmCMCFVPTdF6ONqZA,1522
|
|
61
|
-
spotifywebapipython/models/owner.py,sha256=RokGhciF6TV43svWzeqyvKClhm1YuT0jW5XTx54ZEsI,4543
|
|
62
|
-
spotifywebapipython/models/pageobject.py,sha256=fLyfMg2TbQ3nszSo0ip_13LusMyU4-DK69GpNWs7BVQ,10026
|
|
63
|
-
spotifywebapipython/models/playeractions.py,sha256=P7QcpW1V3HeOdZn1USvps_YszSWq2nrmZlviCUwOrJ4,5738
|
|
64
|
-
spotifywebapipython/models/playerplaystate.py,sha256=I0yRyX9xRoRvQe3qNrmgFOUA-Jju0KfE_wJ0YNKlfGU,9246
|
|
65
|
-
spotifywebapipython/models/playerqueueinfo.py,sha256=vFjltG21ZLRESUGHUYWKtof95TJPWclSvc7Q0vI9RBU,4672
|
|
66
|
-
spotifywebapipython/models/playhistory.py,sha256=GO2rM1H6O5BvKuCDKq7p7rb1vBk7JF-QoHeU9nJ_4i0,3853
|
|
67
|
-
spotifywebapipython/models/playhistorypage.py,sha256=435TQGOhwmyHardJl--flRcd-uU1PeDqOE9SPubg7x0,2384
|
|
68
|
-
spotifywebapipython/models/playlist.py,sha256=Tn1BQ6tB5jQ0dhXiJG9SHinXWgYoWa2p1w8jgHd-sYI,3467
|
|
69
|
-
spotifywebapipython/models/playlistpage.py,sha256=3j3cIne-nMKm1JLU060yjHTgvoiz1OOLwc_KBX6ujrA,2392
|
|
70
|
-
spotifywebapipython/models/playlistpagesimplified.py,sha256=53Fi-MU4VcAKLmgLdHqf3VqgaKmd1SVTXgH8ShIRRoY,3151
|
|
71
|
-
spotifywebapipython/models/playlistsimplified.py,sha256=Q9-m_hf3yDhTQvEDWoJBsvJ3zzeTNiSPTses1yBW8DU,9104
|
|
72
|
-
spotifywebapipython/models/playlisttrack.py,sha256=OFWM-BcjqvcJ5SJ6PY92EGt16eCtU-ZDjuhGm5o10NM,3975
|
|
73
|
-
spotifywebapipython/models/playlisttracksummary.py,sha256=4dKGm2rKjtF00Nc8k5Vh8PYhZ3t_kfzspijHbKO6ccs,1915
|
|
74
|
-
spotifywebapipython/models/recommendationseed.py,sha256=uLPZZ_pERIuOXJrjmdqyfE9OwDK2RwOUyMJNlWVwE_o,4107
|
|
75
|
-
spotifywebapipython/models/restrictions.py,sha256=bwLZYvedOnjsh3d4DGujIZRRJAaCC1g6J1s_zj7KfqE,2023
|
|
76
|
-
spotifywebapipython/models/resumepoint.py,sha256=BTP5lBP48e5791fS1TY30lfdCmeHdZnuPi0-eDxDUHM,2159
|
|
77
|
-
spotifywebapipython/models/searchresponse.py,sha256=E-0keldah7wDHEeTWYz77Pth4fs0yTHFyYEbVFRRX5M,12427
|
|
78
|
-
spotifywebapipython/models/show.py,sha256=ETIngRpfHS5GjuHE4t55nbvC1TjXIe2e7wl_kvmBQ04,2322
|
|
79
|
-
spotifywebapipython/models/showpagesaved.py,sha256=M5W76yeefmtgatmyHQdXd5SiMpPC88WAa1k1ywGSumA,2351
|
|
80
|
-
spotifywebapipython/models/showpagesimplified.py,sha256=1OnLu6FPd-EwARTAD9SGQideqvtAEu7S9wgIGAp0d5Q,2436
|
|
81
|
-
spotifywebapipython/models/showsaved.py,sha256=uKn8h2EsKmmomWkNwwN3oMb1EwArwhipU1kMHdV6ycw,2752
|
|
82
|
-
spotifywebapipython/models/showsimplified.py,sha256=Zyy3vuMx0HlS4BIV7M1TrP0zvNdMT3ykC_5IZ_8bp9g,10263
|
|
83
|
-
spotifywebapipython/models/track.py,sha256=OIAemzn8HcNdrdUhp5TZkQ5F4Kvku9CfFkVb0uo1r6c,4473
|
|
84
|
-
spotifywebapipython/models/trackpage.py,sha256=-x13deMeMADZTrgIk-edkS2m_YCyxoC1fuMoPn0uYS4,1827
|
|
85
|
-
spotifywebapipython/models/trackpagesaved.py,sha256=nC6Lvp6rY95guDU8XVAAuKAHldKMpb6H1ohozz4j1YQ,2371
|
|
86
|
-
spotifywebapipython/models/trackpagesimplified.py,sha256=MnW_bpwpwXVXyUHhkNbUls5h0oehN8Sgveqcs6vwZiU,2447
|
|
87
|
-
spotifywebapipython/models/trackrecommendations.py,sha256=QK9mEDk3gg0VCuEYOJWc9K1yMSFy-iWCpoxQRSej3Qw,2505
|
|
88
|
-
spotifywebapipython/models/tracksaved.py,sha256=uwnTpawf7ymXlF_b4p1RyjonUwUFRp0q_y_kuSP6Vfs,2725
|
|
89
|
-
spotifywebapipython/models/tracksimplified.py,sha256=fjRQIeNaDuUVIMsW_-6COFEPeNWR2acawoSljXCv0No,10871
|
|
90
|
-
spotifywebapipython/models/userprofile.py,sha256=QaTNYq67ktQ8-s-TxbHlYzeppuDivEO7zFL0Tzuc8M0,5066
|
|
91
|
-
spotifywebapipython/models/userprofilesimplified.py,sha256=Hf-OdtmlkJ6vC_WnOngovPGq4uLG7ueiHcmf_ck7w58,6121
|
|
92
|
-
spotifywebapipython/oauthcli/__init__.py,sha256=K37XTxYAKT0n8otCNzWbjgJ10fAPN4WL6seEpwvWyo4,168
|
|
93
|
-
spotifywebapipython/oauthcli/authclient.py,sha256=G81pmg8_L7dCtLQrkipgDGXWC01izeViL5pVyTcGI64,47861
|
|
94
|
-
spotifywebapiPython-1.0.36.dist-info/LICENSE,sha256=rCzWsOcv-xf6YY5rUMt1gEVGcxSsPqTEJmUCsTBv4oM,1159
|
|
95
|
-
spotifywebapiPython-1.0.36.dist-info/METADATA,sha256=F8idYS-OS8EVb6B_SZcMWN1iIshiqUEDuK3i2PkeVCQ,11862
|
|
96
|
-
spotifywebapiPython-1.0.36.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
|
97
|
-
spotifywebapiPython-1.0.36.dist-info/top_level.txt,sha256=jTBLFlijKTesYh2dteAz4vb17qjaqWKeDjpnnwTcrjs,20
|
|
98
|
-
spotifywebapiPython-1.0.36.dist-info/RECORD,,
|
|
File without changes
|
{spotifywebapiPython-1.0.36.dist-info → spotifywebapiPython-1.0.147.dist-info}/top_level.txt
RENAMED
|
File without changes
|