spotifywebapiPython 1.0.255__py3-none-any.whl → 1.0.257__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 (24) hide show
  1. spotifywebapipython/const.py +6 -1
  2. spotifywebapipython/docs/__init__.html +14 -2
  3. spotifywebapipython/docs/index.html +2 -2
  4. spotifywebapipython/docs/search.js +1 -1
  5. spotifywebapipython/docs/spotifywebapipython/const.html +20 -3
  6. spotifywebapipython/docs/spotifywebapipython/saappmessages.html +2 -2
  7. spotifywebapipython/docs/spotifywebapipython/sautils.html +2 -2
  8. spotifywebapipython/docs/spotifywebapipython/spotifyapierror.html +2 -2
  9. spotifywebapipython/docs/spotifywebapipython/spotifyapimessage.html +2 -2
  10. spotifywebapipython/docs/spotifywebapipython/spotifyauthtoken.html +2 -2
  11. spotifywebapipython/docs/spotifywebapipython/spotifyclient.html +10 -8
  12. spotifywebapipython/docs/spotifywebapipython/spotifydiscovery.html +2 -2
  13. spotifywebapipython/docs/spotifywebapipython/spotifywebapiauthenticationerror.html +2 -2
  14. spotifywebapipython/docs/spotifywebapipython/spotifywebapierror.html +2 -2
  15. spotifywebapipython/docs/spotifywebapipython/spotifywebplayertoken.html +2 -2
  16. spotifywebapipython/models/userprofile.py +24 -0
  17. spotifywebapipython/models/userprofilesimplified.py +32 -0
  18. spotifywebapipython/spotifyclient.py +68 -20
  19. spotifywebapipython/spotifyconnect/spotifyconnectzeroconfcastapptask.py +8 -0
  20. {spotifywebapipython-1.0.255.dist-info → spotifywebapipython-1.0.257.dist-info}/METADATA +1 -1
  21. {spotifywebapipython-1.0.255.dist-info → spotifywebapipython-1.0.257.dist-info}/RECORD +24 -24
  22. {spotifywebapipython-1.0.255.dist-info → spotifywebapipython-1.0.257.dist-info}/LICENSE +0 -0
  23. {spotifywebapipython-1.0.255.dist-info → spotifywebapipython-1.0.257.dist-info}/WHEEL +0 -0
  24. {spotifywebapipython-1.0.255.dist-info → spotifywebapipython-1.0.257.dist-info}/top_level.txt +0 -0
@@ -46,6 +46,7 @@ from .sautils import (
46
46
  from .const import (
47
47
  SPOTIFY_API_AUTHORIZE_URL,
48
48
  SPOTIFY_API_TOKEN_URL,
49
+ SPOTIFY_DESKTOP_APP_CLIENT_DISPLAY_NAME,
49
50
  SPOTIFY_DESKTOP_APP_CLIENT_ID,
50
51
  SPOTIFY_DEFAULT_MARKET,
51
52
  SPOTIFY_WEBAPI_URL_BASE,
@@ -7252,12 +7253,13 @@ class SpotifyClient:
7252
7253
  uri:str,
7253
7254
  ) -> str:
7254
7255
  """
7255
- Get the id portion from a Spotify uri value.
7256
+ Get the id portion from a Spotify uri (or url) value.
7256
7257
 
7257
7258
  Args:
7258
7259
  uri (str):
7259
- The Spotify URI value.
7260
- Example: `spotify:track:5v5ETK9WFXAnGQ3MRubKuE`
7260
+ The Spotify URI (or url) value.
7261
+ Example: `spotify:track:5v5ETK9WFXAnGQ3MRubKuE`
7262
+ Example: `https://open.spotify.com/track/5v5ETK9WFXAnGQ3MRubKuE`
7261
7263
 
7262
7264
  Returns:
7263
7265
  A string containing the id value.
@@ -7272,13 +7274,19 @@ class SpotifyClient:
7272
7274
  if uri is None or len(uri.strip()) == 0:
7273
7275
  return result
7274
7276
 
7275
- # get Id from uri value.
7277
+ # is this a uri value (e.g. "spotify:track:5v5ETK9WFXAnGQ3MRubKuE")?
7276
7278
  colonCnt:int = uri.count(':')
7277
7279
  if colonCnt == 2:
7278
7280
  idx:int = uri.rfind(':')
7279
7281
  if idx > -1:
7280
7282
  result = uri[idx+1:]
7281
7283
 
7284
+ # is this a url value (e.g. "https://open.spotify.com/track/5v5ETK9WFXAnGQ3MRubKuE")?
7285
+ elif (uri.startswith("http")):
7286
+ idx = uri.rfind("/")
7287
+ if (idx > 0):
7288
+ result = uri[idx + 1:len(uri)]
7289
+
7282
7290
  return result
7283
7291
 
7284
7292
  except Exception:
@@ -11698,12 +11706,13 @@ class SpotifyClient:
11698
11706
  uri:str,
11699
11707
  ) -> str:
11700
11708
  """
11701
- Get the type portion from a Spotify uri value.
11709
+ Get the type portion from a Spotify uri (or url) value.
11702
11710
 
11703
11711
  Args:
11704
11712
  uri (str):
11705
- The Spotify URI value.
11706
- Example: `spotify:track:5v5ETK9WFXAnGQ3MRubKuE`
11713
+ The Spotify URI (or URL) value.
11714
+ Example: `spotify:track:5v5ETK9WFXAnGQ3MRubKuE`
11715
+ Example: `https://open.spotify.com/track/5v5ETK9WFXAnGQ3MRubKuE`
11707
11716
 
11708
11717
  Returns:
11709
11718
  A string containing the type value (e.g. `track`).
@@ -11718,7 +11727,7 @@ class SpotifyClient:
11718
11727
  if uri is None or len(uri.strip()) == 0:
11719
11728
  return result
11720
11729
 
11721
- # get type from uri value.
11730
+ # is this a uri value (e.g. "spotify:track:5v5ETK9WFXAnGQ3MRubKuE")?
11722
11731
  colonCnt:int = uri.count(':')
11723
11732
  if colonCnt == 2:
11724
11733
  idxStart:int = uri.find(':')
@@ -11729,6 +11738,14 @@ class SpotifyClient:
11729
11738
  if idxEnd > -1:
11730
11739
  result = uri[idxStart+1:idxEnd]
11731
11740
 
11741
+ # is this a url value (e.g. "https://open.spotify.com/track/5v5ETK9WFXAnGQ3MRubKuE")?
11742
+ elif (uri.startswith("http")):
11743
+ idxR = uri.rfind("/")
11744
+ if (idxR > 0):
11745
+ idxL = uri.rfind("/", 0, idxR - 1)
11746
+ if (idxR > -1):
11747
+ result = uri[idxL + 1:idxR]
11748
+
11732
11749
  return result
11733
11750
 
11734
11751
  except Exception as ex:
@@ -12807,6 +12824,10 @@ class SpotifyClient:
12807
12824
  # trace.
12808
12825
  _logsi.LogVerbose("Context will be played on the Spotify Connect device via Spotify Web API")
12809
12826
 
12827
+ # get uri parts.
12828
+ uriType:str = self.GetTypeFromUri(contextUri)
12829
+ uriId:str = self.GetIdFromUri(contextUri)
12830
+
12810
12831
  # get current player state.
12811
12832
  playerState:PlayerPlayState = self.GetPlayerPlaybackState(additionalTypes=SpotifyMediaTypes.EPISODE.value)
12812
12833
 
@@ -12823,9 +12844,6 @@ class SpotifyClient:
12823
12844
  # is shuffle enabled? and is this a Spotify URI value (e.g. `spotify:type:id`)?
12824
12845
  if (shuffle or playerState.IsShuffleEnabled) and (self.IsSpotifyUri(contextUri)):
12825
12846
 
12826
- # get uri parts.
12827
- uriType:str = self.GetTypeFromUri(contextUri)
12828
- uriId:str = self.GetIdFromUri(contextUri)
12829
12847
  uriItems:PageObject = None
12830
12848
 
12831
12849
  # wrap this in a try, as errors will be returned if context contains
@@ -12837,9 +12855,7 @@ class SpotifyClient:
12837
12855
 
12838
12856
  # get number of items in the context, up to 50 max.
12839
12857
  # we limit it to 50 to keep it fast, as some context lists are quite large!
12840
- # note that playlist type is the only type we can limit the amount of data returned.
12841
- # note that offset cannot be specified for artist context type; a `400 - Bad Request
12842
- # Can't have offset for context type: ARTIST` error is returned if specified.
12858
+ # note that playlist type is the only type we can limit the fields to be returned.
12843
12859
  if (uriType == SpotifyMediaTypes.PLAYLIST.value):
12844
12860
  uriItems = self.GetPlaylistItems(uriId, limitTotal=50, fields="items(track(name))")
12845
12861
  elif (uriType == SpotifyMediaTypes.ALBUM.value):
@@ -12857,6 +12873,14 @@ class SpotifyClient:
12857
12873
  offsetPosition = random.randint(0, uriItems.ItemsCount - 1)
12858
12874
  _logsi.LogVerbose("Shuffle is enabled; setting random offsetPosition to %s" % str(offsetPosition))
12859
12875
 
12876
+ # offset cannot be specified for artist context type, otherwise the following error
12877
+ # is returneed: `400 - Bad Request can't have offset for context type: ARTIST`.
12878
+ if (uriType == SpotifyMediaTypes.ARTIST.value):
12879
+ if (offsetUri is not None) or (offsetPosition > 0):
12880
+ _logsi.LogVerbose("Context uri type is artist; ignoring offsetPosition and offsetUri values")
12881
+ offsetPosition = 0
12882
+ offsetUri = None
12883
+
12860
12884
  # build spotify web api request parameters.
12861
12885
  reqData:dict = \
12862
12886
  {
@@ -17670,13 +17694,37 @@ class SpotifyClient:
17670
17694
 
17671
17695
  _logsi.LogVerbose('OAuth2 authorization token has not expired')
17672
17696
 
17673
- # retrieve spotify user basic details.
17674
- msg:SpotifyApiMessage = SpotifyApiMessage(apiMethodName, '/me')
17675
- msg.RequestHeaders[self.AuthToken.HeaderKey] = self.AuthToken.HeaderValue
17676
- self.MakeRequest('GET', msg)
17697
+ # trace.
17698
+ _logsi.LogVerbose('Retrieving Spotify user basic details for UserProfile object')
17677
17699
 
17678
- # process results.
17679
- self._UserProfile = UserProfile(root=msg.ResponseData)
17700
+ # if this is the spotify desktop application client id, then we don't want to
17701
+ # try and use it with the Spotify Web API as it's only good for activating
17702
+ # Google Chromecast devices.
17703
+ # As of 2025/12/15, a "429 - API rate limit exceeded" error will be returned if we
17704
+ # try to get user profile via the Spotify Web API with the desktop client id auth token!
17705
+ if clientId.lower() == SPOTIFY_DESKTOP_APP_CLIENT_ID:
17706
+
17707
+ # get Spotify ID from auth token "username" key; or use method argument
17708
+ # value if the "username" value is not present in the auth token.
17709
+ profileId:str = oauth2token.get("username", None) or tokenProfileId
17710
+
17711
+ # create basic UserProfile from auth token details.
17712
+ userProfile:UserProfile = UserProfile()
17713
+ userProfile.Id = profileId
17714
+ userProfile.DisplayName = SPOTIFY_DESKTOP_APP_CLIENT_DISPLAY_NAME % profileId
17715
+ userProfile.Product = "premium"
17716
+ userProfile.Type = "user"
17717
+ self._UserProfile = userProfile
17718
+
17719
+ else:
17720
+
17721
+ # retrieve spotify user basic details.
17722
+ msg:SpotifyApiMessage = SpotifyApiMessage(apiMethodName, '/me')
17723
+ msg.RequestHeaders[self.AuthToken.HeaderKey] = self.AuthToken.HeaderValue
17724
+ self.MakeRequest('GET', msg)
17725
+
17726
+ # process results.
17727
+ self._UserProfile = UserProfile(root=msg.ResponseData)
17680
17728
 
17681
17729
  # trace.
17682
17730
  _logsi.LogObject(SILevel.Verbose, TRACE_MSG_USERPROFILE % (self._UserProfile.DisplayName, self._UserProfile.EMail), self._UserProfile, excludeNonPublic=True)
@@ -11,6 +11,7 @@ from spotifywebapipython.oauthcli.authclient import AuthClient
11
11
  from spotifywebapipython.const import (
12
12
  SPOTIFY_API_AUTHORIZE_URL,
13
13
  SPOTIFY_API_TOKEN_URL,
14
+ SPOTIFY_DESKTOP_APP_CLIENT_DISPLAY_NAME,
14
15
  SPOTIFY_DESKTOP_APP_CLIENT_ID,
15
16
  TRACE_METHOD_RESULT,
16
17
  )
@@ -442,6 +443,13 @@ class SpotifyConnectZeroconfCastAppTask(threading.Thread):
442
443
  oauth2token:dict = authClient.RefreshToken()
443
444
  authToken = SpotifyAuthToken(authClient.AuthorizationType, authClient.TokenProfileId, root=oauth2token)
444
445
  _logsi.LogObject(SILevel.Verbose, TRACE_METHOD_RESULT % apiMethodName, authToken, excludeNonPublic=True)
446
+
447
+ # for the spotify desktop application client id, we will add some arguments
448
+ # to the token to denote what user it's for. These arguments were initially added
449
+ # by the AuthTokenGenerator.py script, but were dropped when the token was refreshed.
450
+ oauth2token["title"] = SPOTIFY_DESKTOP_APP_CLIENT_DISPLAY_NAME % self._SpotifyClientInstance.UserProfile.Id
451
+ oauth2token["username"] = self._SpotifyClientInstance.UserProfile.Id
452
+ authClient.SaveToken(oauth2token)
445
453
 
446
454
  else:
447
455
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: spotifywebapipython
3
- Version: 1.0.255
3
+ Version: 1.0.257
4
4
  Summary: Spotify Web API Python3 Library
5
5
  Author: Todd Lucas
6
6
  Author-email: <thlucas@yahoo.com>
@@ -1,33 +1,33 @@
1
1
  spotifywebapipython/__init__.py,sha256=SnB5BsUGChYgcZHjhZenqYZkb_v3c8aiAUQLkp4lYSY,1205
2
- spotifywebapipython/const.py,sha256=g0KD7C2vPFl8NqVWUH_hgs5_B5n5c3kJ84VI4Qdovlg,3739
2
+ spotifywebapipython/const.py,sha256=jgs3BMGfB2F17GNem9OFU_deaMak9iORwxmWCaPim9o,3923
3
3
  spotifywebapipython/saappmessages.py,sha256=KWy4H0ePYARZgtGYc2CHXRY0JOQ0bqr0JuDKRBu-wjA,4645
4
4
  spotifywebapipython/sautils.py,sha256=j3f_Lu3Tb5D7-Gd2rJ2Ep901W-4XDp6Vq6XXVl8DX5I,8098
5
5
  spotifywebapipython/spotifyapierror.py,sha256=23_CYlxWN0BceYYCLpBpunl55vEwPr_wFf34l74xzeA,1855
6
6
  spotifywebapipython/spotifyapimessage.py,sha256=wCnW8jYMLS3x9kjyXPgXXZqaf1HeMTTXzU8u_Dm5pfA,8447
7
7
  spotifywebapipython/spotifyauthtoken.py,sha256=iVg2Pa5mfMqYe4qgc5H8td6JzJlaDqk4vMEhH5LmtfI,9289
8
- spotifywebapipython/spotifyclient.py,sha256=WlJMYkrjjYSyfMtr_jL-zGbCdk5dpN79tixWII84hu0,852002
8
+ spotifywebapipython/spotifyclient.py,sha256=ie83oTfHKtUivpDtdcqfuXhL3PtnP7deCzEOwEyHOkM,854614
9
9
  spotifywebapipython/spotifydiscovery.py,sha256=cyysxl8PQj9yGHVbaqhSF3SStlrp-NvfGAudM-dDmg0,20290
10
10
  spotifywebapipython/spotifymediatypes.py,sha256=MkHdPc1BF5hWo4WA-b4PtoihNKJMTXOe9JdnGpzp79c,1608
11
11
  spotifywebapipython/spotifywebapiauthenticationerror.py,sha256=5A0MKvYo3Ypv0ZeSSfLHuFLwzoUUu044bBoUgMfNXNw,3940
12
12
  spotifywebapipython/spotifywebapierror.py,sha256=5cga9213J_nFQ0UX4vSn3dpyinASKTRiH0wAR4nLjvs,3147
13
13
  spotifywebapipython/spotifywebplayertoken.py,sha256=axj1j1lM7COiiZfpElkJRdnk4AmE6bAQcjKshUIz1Nk,35813
14
- spotifywebapipython/docs/__init__.html,sha256=JhJjqORjXossRtvzR3yNNwVrT917jSXBqbQd207prqU,180778
14
+ spotifywebapipython/docs/__init__.html,sha256=bUZN--2S5sDbBZfvly7nVhEZKlMqpRSDW50okaFKuU0,181568
15
15
  spotifywebapipython/docs/codecopy.js,sha256=ryuoZwLIL03YitjjFzn49UO5ta7-OBos6LNA3qHhFzs,3120
16
- spotifywebapipython/docs/index.html,sha256=yhlcH0XrIqyEQ83I28AUlmt_B4MWYY9-4hXMvkLf7Z4,48523
17
- spotifywebapipython/docs/search.js,sha256=vCUCEWUQesEYNylZDAsrK738WJIOzgiolJJ89_rYJ8g,8949192
16
+ spotifywebapipython/docs/index.html,sha256=Gmi_Tx9f7iwXe3ZEL8b9vaZgJXT8MhrRhQQuhToZUVs,48523
17
+ spotifywebapipython/docs/search.js,sha256=hcJ3Jz1gKYXg689mMFJjKd1SXQS6Byr3Z0v9BIbYchM,8956078
18
18
  spotifywebapipython/docs/spotifywebapipython.ico,sha256=YImj39fqqSPSuB2-sMDlUYDd6YwRfQeJRtq4FjwWglg,16410
19
19
  spotifywebapipython/docs/spotifywebapipython_OLD.ico,sha256=YIv5LjcD4bTIJQSOr8jjwbWaeB3QkElRwkTOePiGbZo,14904
20
- spotifywebapipython/docs/spotifywebapipython/const.html,sha256=zknCIehJwkeFmVPIthD1tOjZLmcBcqIJGDQkRCLGceo,59034
21
- spotifywebapipython/docs/spotifywebapipython/saappmessages.html,sha256=EbEGPlSYWmzJjcXQSAbLLPhx9IU8mQdNbejRwg6n4Qc,60895
22
- spotifywebapipython/docs/spotifywebapipython/sautils.html,sha256=astcqoB-hq3Ke1cW_t83luYZEWaX6mNF472aPgX0YN4,61063
23
- spotifywebapipython/docs/spotifywebapipython/spotifyapierror.html,sha256=tCviQSpPxR5QE_EhTsbZEGkHMzaQhduXqptMBT_g77E,48054
24
- spotifywebapipython/docs/spotifywebapipython/spotifyapimessage.html,sha256=sAZWcVqYWqKCqEd0LBTGZ1MD4Eoswg5qNsTRPGoaB_o,59210
25
- spotifywebapipython/docs/spotifywebapipython/spotifyauthtoken.html,sha256=jLpfuT1WQg_XmzbwDuohd4875H_f5n0Fp7MpAJalWa4,59256
26
- spotifywebapipython/docs/spotifywebapipython/spotifyclient.html,sha256=q_RLNgaYUjwyBEa1NvnGqQO1h7CMewWOwlPVGFrMWq0,1635296
27
- spotifywebapipython/docs/spotifywebapipython/spotifydiscovery.html,sha256=RmNJM97QacAAQsZ-kPHOTCJYOT9HdXMua3nLwzDDza8,57662
28
- spotifywebapipython/docs/spotifywebapipython/spotifywebapiauthenticationerror.html,sha256=UwDjAAj5WNJpP5yn88OBOfDhMBJidEGs0fylC6WA_bY,52174
29
- spotifywebapipython/docs/spotifywebapipython/spotifywebapierror.html,sha256=qAxQUWsaukWH_d5CbpnOsbFdoq-xB2ze3pFz01zPnjI,50592
30
- spotifywebapipython/docs/spotifywebapipython/spotifywebplayertoken.html,sha256=JoEmksYWRVKF3Ja-QugHWjaAxfso3bdmAl5XXW3Y-xw,62204
20
+ spotifywebapipython/docs/spotifywebapipython/const.html,sha256=3J_7HvnFeBNmkrALiZNk03XZpG7xseEBEyamO2CPOsQ,59805
21
+ spotifywebapipython/docs/spotifywebapipython/saappmessages.html,sha256=XuTpWcNB5Q52rosV2flN97I7StpB-X1EVRM8AM-jik0,60895
22
+ spotifywebapipython/docs/spotifywebapipython/sautils.html,sha256=RI8LIAmwugtbTiioNYmjtdWN8RtxiTU4nrrx_pHDHZY,61063
23
+ spotifywebapipython/docs/spotifywebapipython/spotifyapierror.html,sha256=q5O9N9u_6XyB8fmgCngl_DtG_k09GiupTDE1Tu-Jgdw,48054
24
+ spotifywebapipython/docs/spotifywebapipython/spotifyapimessage.html,sha256=cKizSSvWGcVvCml5JzBiEOg0HxCN4FarRYCtgrE5tag,59210
25
+ spotifywebapipython/docs/spotifywebapipython/spotifyauthtoken.html,sha256=SjQOh35OyvLCuibG8lpt4PnipF0dkRmmWHE-PMpOHMk,59256
26
+ spotifywebapipython/docs/spotifywebapipython/spotifyclient.html,sha256=gNev_KrzWQlFvYuKlPmD1IuOJmOBGjQQcegYCZJ8Tf0,1635516
27
+ spotifywebapipython/docs/spotifywebapipython/spotifydiscovery.html,sha256=GbqOQM1r9C6mCWBXola0ufaU0VN04oWRrkmvrd6n4Ac,57662
28
+ spotifywebapipython/docs/spotifywebapipython/spotifywebapiauthenticationerror.html,sha256=7dxLLSg_mZQqpmvBI1hUwbUqS56Z2Tu6UNrgWh1lQHA,52174
29
+ spotifywebapipython/docs/spotifywebapipython/spotifywebapierror.html,sha256=4vRRIilvy2CpH-FOla-j477VvT4XqSBE7OrMDItVm1Y,50592
30
+ spotifywebapipython/docs/spotifywebapipython/spotifywebplayertoken.html,sha256=qsH_bbs3dt2jZmOgb1w03poLscrmt1wGDIuE8bgxLwE,62204
31
31
  spotifywebapipython/models/__init__.py,sha256=RwRQhUX-6EUs8XvStVFpR8EPwoqIAz9K6ref-28qHKI,4423
32
32
  spotifywebapipython/models/album.py,sha256=U3Pdw0-EL33LdkeiN31fjZ23rlLk6DNGV8jRmZU7EyQ,5170
33
33
  spotifywebapipython/models/albumpagesaved.py,sha256=SBYMhkh5ZsMrRAXl-cm9zsxMDh8gO190ENq6Py2TyGY,2417
@@ -99,8 +99,8 @@ spotifywebapipython/models/trackpagesimplified.py,sha256=DBYo2WRq8MXVG9PCp0xv1su
99
99
  spotifywebapipython/models/trackrecommendations.py,sha256=D-CJRxOoX5jGKkxthjg5ZcQ_MITPt8InPUNZh-g4pQg,2507
100
100
  spotifywebapipython/models/tracksaved.py,sha256=uwnTpawf7ymXlF_b4p1RyjonUwUFRp0q_y_kuSP6Vfs,2725
101
101
  spotifywebapipython/models/tracksimplified.py,sha256=fqIH45BsTRPbwq0ytss3r9YTCn1TtJSwBLAelJ2dWJY,13199
102
- spotifywebapipython/models/userprofile.py,sha256=H2q74UJqitBxyBCCWmTyhLMk_bNlyREPcW-Sxu-iFz0,5896
103
- spotifywebapipython/models/userprofilesimplified.py,sha256=eknW29IFnTdzEJr2lXrVkQLEIootLzDNizrmAILfvmc,6155
102
+ spotifywebapipython/models/userprofile.py,sha256=VXHP-wSWGSIiDebGDuT4fFNBCmx_ME6Hn1NO5QyyBQY,6482
103
+ spotifywebapipython/models/userprofilesimplified.py,sha256=YCEVED8PMeqWkORMHwj0JF_tVNqoTc1k_nce63D6kFY,6919
104
104
  spotifywebapipython/models/zeroconfdiscoveryresult.py,sha256=5MPSu7pLLh5SBrm7N6UbJ9K2zCNszBQr1CKUArmdk08,20245
105
105
  spotifywebapipython/models/zeroconfproperty.py,sha256=sXGUqbHhFMutCNKFJwJKbNbbQAnBnR7Ob5wNDSePxZk,2141
106
106
  spotifywebapipython/oauthcli/__init__.py,sha256=K37XTxYAKT0n8otCNzWbjgJ10fAPN4WL6seEpwvWyo4,168
@@ -108,7 +108,7 @@ spotifywebapipython/oauthcli/authclient.py,sha256=-B_av5cxVHGHOaf8F_Xeo5u-HbOI1y
108
108
  spotifywebapipython/spotifyconnect/__init__.py,sha256=9Xl5KiJFvWLbsdb4YQ0xmF67i36ybpXCCXrWeNsKEvc,1108
109
109
  spotifywebapipython/spotifyconnect/spotifyconnectdeviceeventargs.py,sha256=35hKa0FAaPgy7W8D6MFXmga667pjwXITo8jSj1TDfE8,1988
110
110
  spotifywebapipython/spotifyconnect/spotifyconnectdirectorytask.py,sha256=oMuH0jxaAaR_1XOlTT7FNvnGSTHgLXdOej_6RhzqW3o,149143
111
- spotifywebapipython/spotifyconnect/spotifyconnectzeroconfcastapptask.py,sha256=lCALM8X980_pKM4L7k8NaXKXEABd4FuhHyMMB9nLerg,22225
111
+ spotifywebapipython/spotifyconnect/spotifyconnectzeroconfcastapptask.py,sha256=MDG0-L7QPP1mZRQrqVzlWOQ1z9NLTs3Fj46mldWuvXg,22832
112
112
  spotifywebapipython/spotifyconnect/spotifyconnectzeroconfcastcontroller.py,sha256=mQ7wyrq6f76vpcebudYKv3aFW9YYBIY3C0CGGFSR4yU,32490
113
113
  spotifywebapipython/spotifyconnect/spotifyconnectzeroconfcastlistener.py,sha256=DCSPmbKPUqKlKpSMvujWBHHKbntXT7_9QkKBgymuTOs,15928
114
114
  spotifywebapipython/spotifyconnect/spotifyconnectzeroconfcastmultizonecontrollerlistener.py,sha256=AA-XxS6AptJWzyO2zsM9DA5ioCncJBKDTpJkr_aN9IM,12352
@@ -134,8 +134,8 @@ spotifywebapipython/zeroconfapi/zeroconfgetinfo.py,sha256=APayso_F7lCsdzzrkescgd
134
134
  spotifywebapipython/zeroconfapi/zeroconfgetinfoalias.py,sha256=FZJM23HIPJSfhXIC3-EuS1XhawheoG5maSp7__k4yBo,2932
135
135
  spotifywebapipython/zeroconfapi/zeroconfgetinfodrmmediaformat.py,sha256=c5uk8ljsIuBK3w2jahHKQuoWvm245LOjUBitetXx5Mo,2347
136
136
  spotifywebapipython/zeroconfapi/zeroconfresponse.py,sha256=mAPIDj5MG53x8peiScrp7OJblwy_o_Sto4wqE0rGujU,6445
137
- spotifywebapipython-1.0.255.dist-info/LICENSE,sha256=KGcc9g0zwqNLcWnSn_ezv1UtKyhMENFhvtixpxUPNsE,1177
138
- spotifywebapipython-1.0.255.dist-info/METADATA,sha256=FcCZkz1hscXDLEKDU8AjY9mcnQ3uBQ7z_qHS1FjYaAI,11644
139
- spotifywebapipython-1.0.255.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
140
- spotifywebapipython-1.0.255.dist-info/top_level.txt,sha256=jTBLFlijKTesYh2dteAz4vb17qjaqWKeDjpnnwTcrjs,20
141
- spotifywebapipython-1.0.255.dist-info/RECORD,,
137
+ spotifywebapipython-1.0.257.dist-info/LICENSE,sha256=KGcc9g0zwqNLcWnSn_ezv1UtKyhMENFhvtixpxUPNsE,1177
138
+ spotifywebapipython-1.0.257.dist-info/METADATA,sha256=3_6oMeSDH-dbiUkI-L9H2Q_3p-GEG9r0cOIAMlKFYes,11644
139
+ spotifywebapipython-1.0.257.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
140
+ spotifywebapipython-1.0.257.dist-info/top_level.txt,sha256=jTBLFlijKTesYh2dteAz4vb17qjaqWKeDjpnnwTcrjs,20
141
+ spotifywebapipython-1.0.257.dist-info/RECORD,,