spotifywebapiPython 1.0.263__py3-none-any.whl → 1.0.265__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 (25) hide show
  1. spotifywebapipython/const.py +1 -1
  2. spotifywebapipython/docs/__init__.html +15 -2
  3. spotifywebapipython/docs/index.html +2 -2
  4. spotifywebapipython/docs/search.js +1 -1
  5. spotifywebapipython/docs/spotifywebapipython/const.html +3 -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 +13 -65
  12. spotifywebapipython/docs/spotifywebapipython/spotifydiscovery.html +2 -2
  13. spotifywebapipython/docs/spotifywebapipython/spotifymediatypes.html +2 -2
  14. spotifywebapipython/docs/spotifywebapipython/spotifytypeprefixes.html +2 -2
  15. spotifywebapipython/docs/spotifywebapipython/spotifywebapiauthenticationerror.html +2 -2
  16. spotifywebapipython/docs/spotifywebapipython/spotifywebapierror.html +2 -2
  17. spotifywebapipython/docs/spotifywebapipython/spotifywebplayertoken.html +2 -2
  18. spotifywebapipython/models/playlisttrack.py +5 -1
  19. spotifywebapipython/spotifyclient.py +229 -240
  20. spotifywebapipython/spotifyconnect/spotifyconnectzeroconfcastlistener.py +27 -28
  21. {spotifywebapipython-1.0.263.dist-info → spotifywebapipython-1.0.265.dist-info}/METADATA +1 -1
  22. {spotifywebapipython-1.0.263.dist-info → spotifywebapipython-1.0.265.dist-info}/RECORD +25 -25
  23. {spotifywebapipython-1.0.263.dist-info → spotifywebapipython-1.0.265.dist-info}/LICENSE +0 -0
  24. {spotifywebapipython-1.0.263.dist-info → spotifywebapipython-1.0.265.dist-info}/WHEEL +0 -0
  25. {spotifywebapipython-1.0.263.dist-info → spotifywebapipython-1.0.265.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,6 @@
1
1
  # external package imports.
2
2
  from pychromecast import CastInfo, HostServiceInfo
3
3
  from pychromecast.discovery import AbstractCastListener
4
- import ipaddress
5
4
  import threading
6
5
  from uuid import UUID
7
6
 
@@ -102,35 +101,36 @@ class SpotifyConnectZeroconfCastListener(AbstractCastListener):
102
101
  castInfo:CastInfo = castInfo_removed
103
102
  if (castInfo is None):
104
103
 
105
- # map the CastInfo object.
104
+ # map the CastInfo object - assume IPV4 address info.
106
105
  castInfo:CastInfo = self._ParentDirectory._CastBrowser.services[uuid]
107
106
  castInfoHost = castInfo.host
108
107
  castInfoPort = castInfo.port
109
108
 
110
- # 20250628 commented out the ipv6 address resolution code.
111
- # the `get_multizone_status` (in directorytask) could possibly return ipv6 info, with no ipv4 data!
112
-
113
- # # find ipv4 host and port number.
114
- # # if the base CastInfo object is ipv6, then find the ipv4 HostServiceInfo
115
- # # service record and get it from there.
116
- # if ((castInfoHost + "").find(":") != -1):
117
-
118
- # # cast info host information is ipv6!
119
- # # find the ipv4 host service info object.
120
- # _logsi.LogDebug("Chromecast Zeroconf discovery service notification contained IPV6 HostServiceInfo data: \"%s\" (%s)" % (serviceName, "searching for IPV4 info"), colorValue=SIColors.Coral)
121
- # castHostIpv4:HostServiceInfo = None
122
- # for castSvc in castInfo.services:
123
- # if (isinstance(castSvc, HostServiceInfo)):
124
- # if ((castSvc.host + "").find(":") == -1):
125
- # castInfoHost = castSvc.host
126
- # castInfoPort = castSvc.port
127
- # castHostIpv4 = castSvc
128
- # break
129
-
130
- # # if ipv4 host service info not found then we are done, as Spotify Connect
131
- # # zeroconf requires an IPV4 address structure.
132
- # if (castHostIpv4 is None):
133
- # _logsi.LogDebug("Chromecast Zeroconf discovery service notification did not contain IPV4 HostServiceInfo service entry: \"%s\" (%s)" % (serviceName, "IPV6 HostServiceInfo may fail"), colorValue=SIColors.Coral)
109
+ # 20260315 restored the ipv6 address resolution code.
110
+ # note that `get_multizone_status` (in directorytask) could possibly return ipv6 info, with no ipv4 data!
111
+
112
+ # is the CastInfo object ipv6 address info (e.g. ff02::fb)?
113
+ # if so, then prefer ipv4 address info (if it exists).
114
+ if ((castInfo.host + "").count(":")) > 1: # IPV6?
115
+
116
+ _logsi.LogDebug("Chromecast Zeroconf discovery service notification contained IPV6 host data: \"%s\" (%s)" % (serviceName, "searching services for IPV4 HostServiceInfo entry"), colorValue=SIColors.Coral)
117
+ castHostIpv4:HostServiceInfo = None
118
+ castInfoContainsHostInfo:bool = False
119
+
120
+ # find ipv4 (e.g. 224.0.0.251) HostServiceInfo service record and use that address info.
121
+ for castSvc in castInfo.services:
122
+ if (isinstance(castSvc, HostServiceInfo)):
123
+ castInfoContainsHostInfo = True
124
+ if ((castSvc.host + "").count(":")) == 0: # IPV4?
125
+ castInfoHost = castSvc.host
126
+ castInfoPort = castSvc.port
127
+ castHostIpv4 = castSvc
128
+ break
129
+
130
+ # if ipv4 host service info not found then we are done, as Spotify Connect
131
+ # zeroconf requires an IPV4 address structure.
132
+ if (castHostIpv4 is None) and (castInfoContainsHostInfo == True):
133
+ _logsi.LogDebug("Chromecast Zeroconf discovery service notification did not contain IPV4 HostServiceInfo service entry: \"%s\" (%s)" % (serviceName, "IPV6 HostServiceInfo may fail"), colorValue=SIColors.Coral)
134
134
 
135
135
  else:
136
136
 
@@ -149,8 +149,7 @@ class SpotifyConnectZeroconfCastListener(AbstractCastListener):
149
149
 
150
150
  # ensure IPV4 connection - ignore if IPV6.
151
151
  # Windows OS does not support dual-stack socket handling IPv4 (224.0.0.251) and IPv6 (ff02::fb).
152
- ip = ipaddress.ip_address(castInfo.host)
153
- if (ip.version == 6):
152
+ if (castInfoHost.count(":")) > 1:
154
153
  _logsi.LogDebug("Chromecast IPV6 device addresses are not supported; device could cause problems: \"%s\" (%s)" % (castInfo.friendly_name, serviceName), colorValue=SIColors.Red)
155
154
 
156
155
  # will still allow this for now, but we might want to ignore IPV6 devices
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: spotifywebapipython
3
- Version: 1.0.263
3
+ Version: 1.0.265
4
4
  Summary: Spotify Web API Python3 Library
5
5
  Author: Todd Lucas
6
6
  Author-email: <thlucas@yahoo.com>
@@ -1,36 +1,36 @@
1
1
  spotifywebapipython/__init__.py,sha256=ka7F2AsT-UU7KSYKBnfgl5Trojcep5aQspLutg8D-2k,1306
2
- spotifywebapipython/const.py,sha256=X1O3doqDi2CZV-htEm6RmwUdvBvSb1rxTkwFACaTdN8,3923
2
+ spotifywebapipython/const.py,sha256=zBl05Y78ZyfKeRpB9hRjbZbDH0JHxNORJiXE2Lmgl90,3923
3
3
  spotifywebapipython/saappmessages.py,sha256=mVprjpd5CdD8kYeAkLzRvMvIQPmaYtH4UCP5my3QhSk,5065
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=3O67xgSi1WphKR8_KrIi9KefWzALb1AnHK14j3vGuFQ,895623
8
+ spotifywebapipython/spotifyclient.py,sha256=IayPrGgUe8Kg8loXFwV_vluSVtFyjFvHeeT-fTXPsTM,893242
9
9
  spotifywebapipython/spotifydiscovery.py,sha256=cyysxl8PQj9yGHVbaqhSF3SStlrp-NvfGAudM-dDmg0,20290
10
10
  spotifywebapipython/spotifymediatypes.py,sha256=hMjkxhbfTtks0_P8BKmY7qg3EmB2zhH3RT0DbEpb_2s,1628
11
11
  spotifywebapipython/spotifytypeprefixes.py,sha256=3yfpxKF7jF694qBuo-PbKYvm70YwwdBoGj9enOpWsAg,1375
12
12
  spotifywebapipython/spotifywebapiauthenticationerror.py,sha256=5A0MKvYo3Ypv0ZeSSfLHuFLwzoUUu044bBoUgMfNXNw,3940
13
13
  spotifywebapipython/spotifywebapierror.py,sha256=5cga9213J_nFQ0UX4vSn3dpyinASKTRiH0wAR4nLjvs,3147
14
14
  spotifywebapipython/spotifywebplayertoken.py,sha256=axj1j1lM7COiiZfpElkJRdnk4AmE6bAQcjKshUIz1Nk,35813
15
- spotifywebapipython/docs/__init__.html,sha256=Mbe_gNtLqnRX9sCOatchw7RQyrN1wJJhP8Bbs8T0XeA,186244
15
+ spotifywebapipython/docs/__init__.html,sha256=zP2pFyb0jpOloZQ5auNgGVoddfgvHJyCH1EGupYiGE8,187288
16
16
  spotifywebapipython/docs/codecopy.js,sha256=ryuoZwLIL03YitjjFzn49UO5ta7-OBos6LNA3qHhFzs,3120
17
- spotifywebapipython/docs/index.html,sha256=J8oWTry75qWoIfz_KCJ1PRH8vTajRQXTvnBSFMENbDc,48779
18
- spotifywebapipython/docs/search.js,sha256=HCnF-ooWrM_2QDC6WeM08U_AEAmX49BK7pG4xjOpxSg,9147212
17
+ spotifywebapipython/docs/index.html,sha256=r8RRGXxBvPDIgyWXbSGXb8PkQjbmU69FN_BxtWtdfOA,48779
18
+ spotifywebapipython/docs/search.js,sha256=R7PSnlGVlQD5DohaqbIg0l6VaD0eRd5luyB56ra-RIY,9135704
19
19
  spotifywebapipython/docs/spotifywebapipython.ico,sha256=YImj39fqqSPSuB2-sMDlUYDd6YwRfQeJRtq4FjwWglg,16410
20
20
  spotifywebapipython/docs/spotifywebapipython_OLD.ico,sha256=YIv5LjcD4bTIJQSOr8jjwbWaeB3QkElRwkTOePiGbZo,14904
21
- spotifywebapipython/docs/spotifywebapipython/const.html,sha256=m2bDOn2RhAUvCDOLdxhcZvR8EQDtrN0qMxtVD_rSXqU,59805
22
- spotifywebapipython/docs/spotifywebapipython/saappmessages.html,sha256=M-PhRbUYM7rw8AgTTyCXUinTZmIvWtZJXNdXCo73Np4,62358
23
- spotifywebapipython/docs/spotifywebapipython/sautils.html,sha256=B99_1_h8_1vCRBqCP1WHLkgBAXDdCLoIFrmVjIZ3yug,61063
24
- spotifywebapipython/docs/spotifywebapipython/spotifyapierror.html,sha256=ISzyl60Sgi11InldvQ8WNeqfAbCNa7anQOVsAdW6K20,48054
25
- spotifywebapipython/docs/spotifywebapipython/spotifyapimessage.html,sha256=chuosQxoJBXjcmuabFOH15cumPZ1zNJsWL330AO_R98,59210
26
- spotifywebapipython/docs/spotifywebapipython/spotifyauthtoken.html,sha256=-qJTTEx6V71TYYDTyi-pIr4-1DAVSD7sU0hIRBr6BSc,59256
27
- spotifywebapipython/docs/spotifywebapipython/spotifyclient.html,sha256=WOGxzoZ3KoId_N2GE_I9dLwUWX_QI0QHsHyAGkfJGxU,1670639
28
- spotifywebapipython/docs/spotifywebapipython/spotifydiscovery.html,sha256=7VXh0YMjMhOCJ5PrVU27WYPjxHWS_bsYuenQ-49tbb0,57662
29
- spotifywebapipython/docs/spotifywebapipython/spotifymediatypes.html,sha256=kMpGOHLomKKAUuerbS7ydCkmhWeYFSZYzsdlmeiLXOE,51532
30
- spotifywebapipython/docs/spotifywebapipython/spotifytypeprefixes.html,sha256=PeKPBD3d_qudE2qNORMPHGZjl0R-tX_wQL-VyjBym6g,52401
31
- spotifywebapipython/docs/spotifywebapipython/spotifywebapiauthenticationerror.html,sha256=xs3chHX43VZuQD2JC_jSxLT94XVYUChtyjCOWgI9wEQ,52174
32
- spotifywebapipython/docs/spotifywebapipython/spotifywebapierror.html,sha256=xsu5CtzcSMMQGcl3zPY-b06ZgboNV0RN6-a_hS8SsG8,50592
33
- spotifywebapipython/docs/spotifywebapipython/spotifywebplayertoken.html,sha256=Oooy-uaRi2fIfwTaFcQEi-qzchwcOepzYBKcCZoq6Oc,62204
21
+ spotifywebapipython/docs/spotifywebapipython/const.html,sha256=hXdqXN-OpJe06lIw54szTlbvNELjpjiBjrKxq8t5pDI,59805
22
+ spotifywebapipython/docs/spotifywebapipython/saappmessages.html,sha256=i9SuemnQxoW3Ogzn46FHaVsBfZS36TPTfQ0dCMiEfDU,62358
23
+ spotifywebapipython/docs/spotifywebapipython/sautils.html,sha256=ZXXiwiBwZ7a-4bzQmmDw3i3MarodY_ZiqrT6N1pKaRg,61063
24
+ spotifywebapipython/docs/spotifywebapipython/spotifyapierror.html,sha256=pk1ZyZ25YouMHmSW3Zla1jsxyBwGHcb0h2gW9juXCJg,48054
25
+ spotifywebapipython/docs/spotifywebapipython/spotifyapimessage.html,sha256=Wrq9XyIrjCu0W-HkvsgJg2B0J6un21LhVok6T1-PwwE,59210
26
+ spotifywebapipython/docs/spotifywebapipython/spotifyauthtoken.html,sha256=Sf3qWEPaoT1W4v3T1rN5Ud-n7luDFLYdEYs7vVEzlTE,59256
27
+ spotifywebapipython/docs/spotifywebapipython/spotifyclient.html,sha256=LXyxlKTbgDbFTeH_vgkJ3Vt980Xom_Zb3yuirdEeY7k,1667177
28
+ spotifywebapipython/docs/spotifywebapipython/spotifydiscovery.html,sha256=FW1GGnvPZ7BGbe47d29TatHaCf4g7VUS-H1XvyuFVS8,57662
29
+ spotifywebapipython/docs/spotifywebapipython/spotifymediatypes.html,sha256=qXMq3gOqEwSn-RHIHD7BT5g90_FZowdRzETfQoruCsE,51532
30
+ spotifywebapipython/docs/spotifywebapipython/spotifytypeprefixes.html,sha256=r0x1NRAWbqNEnreUqW-FYlDO-ACqjRxNimpRMdOqSMU,52401
31
+ spotifywebapipython/docs/spotifywebapipython/spotifywebapiauthenticationerror.html,sha256=Lvmd7pf8INzLYPwAl9nioUD8foD9MK4x653mzno4W9U,52174
32
+ spotifywebapipython/docs/spotifywebapipython/spotifywebapierror.html,sha256=Vu62AniWCKPrz-3Tr23BNthklcr4P5TsF_BevF6myPI,50592
33
+ spotifywebapipython/docs/spotifywebapipython/spotifywebplayertoken.html,sha256=-A0MvLGFSr1gblPO28Q8f101-8jyV1owEXDsWt2pdW0,62204
34
34
  spotifywebapipython/models/__init__.py,sha256=RwRQhUX-6EUs8XvStVFpR8EPwoqIAz9K6ref-28qHKI,4423
35
35
  spotifywebapipython/models/album.py,sha256=U3Pdw0-EL33LdkeiN31fjZ23rlLk6DNGV8jRmZU7EyQ,5170
36
36
  spotifywebapipython/models/albumpagesaved.py,sha256=SBYMhkh5ZsMrRAXl-cm9zsxMDh8gO190ENq6Py2TyGY,2417
@@ -81,7 +81,7 @@ spotifywebapipython/models/playlist.py,sha256=nCtiEP7kHwftw8PNgKT8CxNlkQLQoOsw6k
81
81
  spotifywebapipython/models/playlistpage.py,sha256=XfItVPK3MP4cEjzv8bmqboXIsSEvaZyroEuP2_7vIuM,2438
82
82
  spotifywebapipython/models/playlistpagesimplified.py,sha256=kZZHHpaGnqNG7SMQ5B8dHAxLV-m2VLzoepIgySLNGuY,3197
83
83
  spotifywebapipython/models/playlistsimplified.py,sha256=JBt64YE2rpxfUdZOKhqQWs4Xl5gdMD4pfaErhrCzS-E,10339
84
- spotifywebapipython/models/playlisttrack.py,sha256=HGgToRnRcs7CKQEC7anYs2d2Uxwt5DUyhWU82wtmiIc,4016
84
+ spotifywebapipython/models/playlisttrack.py,sha256=0SeHgeZZRRvRCjmFg98tzTZGEO9gc5fooMVuXZp3WXw,4229
85
85
  spotifywebapipython/models/playlisttracksummary.py,sha256=hOBNsK3y1SUMwyNrOJZbcxjtGk50_6mIibP2JTDXWSA,2088
86
86
  spotifywebapipython/models/recommendationseed.py,sha256=uLPZZ_pERIuOXJrjmdqyfE9OwDK2RwOUyMJNlWVwE_o,4107
87
87
  spotifywebapipython/models/restrictions.py,sha256=xWLSyjUeYColnbeVmibW2qkUl1VWiPEHAXviEGvhvy0,2387
@@ -113,7 +113,7 @@ spotifywebapipython/spotifyconnect/spotifyconnectdeviceeventargs.py,sha256=35hKa
113
113
  spotifywebapipython/spotifyconnect/spotifyconnectdirectorytask.py,sha256=QXNpJSqUGuOYxCzvDH63Ka9L9Yo7Bb5iVBRtDhc4ILE,153923
114
114
  spotifywebapipython/spotifyconnect/spotifyconnectzeroconfcastapptask.py,sha256=tCjqU7ubtfzBENdvqwVB0pMDGHRY_0u6N5OYlI5hbj8,23368
115
115
  spotifywebapipython/spotifyconnect/spotifyconnectzeroconfcastcontroller.py,sha256=e2wLmFq4393IdVa51w8X5UQl4KfnHRh34DMlxZfl9-g,34218
116
- spotifywebapipython/spotifyconnect/spotifyconnectzeroconfcastlistener.py,sha256=zo0z0edxBwFZxN53su2yRI97krFilIlODPlz4VRyL6s,16645
116
+ spotifywebapipython/spotifyconnect/spotifyconnectzeroconfcastlistener.py,sha256=k_Lw52CqNliCrfqMP6s_BHynqHYBOf_NwdrJru6qDFA,16707
117
117
  spotifywebapipython/spotifyconnect/spotifyconnectzeroconfcastmultizonecontrollerlistener.py,sha256=AA-XxS6AptJWzyO2zsM9DA5ioCncJBKDTpJkr_aN9IM,12352
118
118
  spotifywebapipython/spotifyconnect/spotifyconnectzeroconfcastmultizonemanagerlistener.py,sha256=k3wMC80Z7jBXYwiw9jq-oixRsum7E_vdHzwEgvcGbiw,18918
119
119
  spotifywebapipython/spotifyconnect/spotifyconnectzeroconfexceptions.py,sha256=aesGauxMoKupdTPR5rL2-rXBC3SEvH_9bQQx2Vh-abs,524
@@ -137,8 +137,8 @@ spotifywebapipython/zeroconfapi/zeroconfgetinfo.py,sha256=APayso_F7lCsdzzrkescgd
137
137
  spotifywebapipython/zeroconfapi/zeroconfgetinfoalias.py,sha256=FZJM23HIPJSfhXIC3-EuS1XhawheoG5maSp7__k4yBo,2932
138
138
  spotifywebapipython/zeroconfapi/zeroconfgetinfodrmmediaformat.py,sha256=c5uk8ljsIuBK3w2jahHKQuoWvm245LOjUBitetXx5Mo,2347
139
139
  spotifywebapipython/zeroconfapi/zeroconfresponse.py,sha256=mAPIDj5MG53x8peiScrp7OJblwy_o_Sto4wqE0rGujU,6445
140
- spotifywebapipython-1.0.263.dist-info/LICENSE,sha256=KGcc9g0zwqNLcWnSn_ezv1UtKyhMENFhvtixpxUPNsE,1177
141
- spotifywebapipython-1.0.263.dist-info/METADATA,sha256=G2E7xQSkFRE0u3QWzdW3iqL7GgjL868pG8jaMhTtwnc,11644
142
- spotifywebapipython-1.0.263.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
143
- spotifywebapipython-1.0.263.dist-info/top_level.txt,sha256=jTBLFlijKTesYh2dteAz4vb17qjaqWKeDjpnnwTcrjs,20
144
- spotifywebapipython-1.0.263.dist-info/RECORD,,
140
+ spotifywebapipython-1.0.265.dist-info/LICENSE,sha256=KGcc9g0zwqNLcWnSn_ezv1UtKyhMENFhvtixpxUPNsE,1177
141
+ spotifywebapipython-1.0.265.dist-info/METADATA,sha256=o_6B84-lzCQMT6UrGecAw0w6RaFl2stDd70aaIBVR-I,11644
142
+ spotifywebapipython-1.0.265.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
143
+ spotifywebapipython-1.0.265.dist-info/top_level.txt,sha256=jTBLFlijKTesYh2dteAz4vb17qjaqWKeDjpnnwTcrjs,20
144
+ spotifywebapipython-1.0.265.dist-info/RECORD,,