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.
- spotifywebapipython/const.py +1 -1
- spotifywebapipython/docs/__init__.html +15 -2
- spotifywebapipython/docs/index.html +2 -2
- spotifywebapipython/docs/search.js +1 -1
- spotifywebapipython/docs/spotifywebapipython/const.html +3 -3
- spotifywebapipython/docs/spotifywebapipython/saappmessages.html +2 -2
- spotifywebapipython/docs/spotifywebapipython/sautils.html +2 -2
- spotifywebapipython/docs/spotifywebapipython/spotifyapierror.html +2 -2
- spotifywebapipython/docs/spotifywebapipython/spotifyapimessage.html +2 -2
- spotifywebapipython/docs/spotifywebapipython/spotifyauthtoken.html +2 -2
- spotifywebapipython/docs/spotifywebapipython/spotifyclient.html +13 -65
- spotifywebapipython/docs/spotifywebapipython/spotifydiscovery.html +2 -2
- spotifywebapipython/docs/spotifywebapipython/spotifymediatypes.html +2 -2
- spotifywebapipython/docs/spotifywebapipython/spotifytypeprefixes.html +2 -2
- spotifywebapipython/docs/spotifywebapipython/spotifywebapiauthenticationerror.html +2 -2
- spotifywebapipython/docs/spotifywebapipython/spotifywebapierror.html +2 -2
- spotifywebapipython/docs/spotifywebapipython/spotifywebplayertoken.html +2 -2
- spotifywebapipython/models/playlisttrack.py +5 -1
- spotifywebapipython/spotifyclient.py +229 -240
- spotifywebapipython/spotifyconnect/spotifyconnectzeroconfcastlistener.py +27 -28
- {spotifywebapipython-1.0.263.dist-info → spotifywebapipython-1.0.265.dist-info}/METADATA +1 -1
- {spotifywebapipython-1.0.263.dist-info → spotifywebapipython-1.0.265.dist-info}/RECORD +25 -25
- {spotifywebapipython-1.0.263.dist-info → spotifywebapipython-1.0.265.dist-info}/LICENSE +0 -0
- {spotifywebapipython-1.0.263.dist-info → spotifywebapipython-1.0.265.dist-info}/WHEEL +0 -0
- {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
|
-
#
|
|
111
|
-
#
|
|
112
|
-
|
|
113
|
-
#
|
|
114
|
-
#
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
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
|
-
|
|
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,36 +1,36 @@
|
|
|
1
1
|
spotifywebapipython/__init__.py,sha256=ka7F2AsT-UU7KSYKBnfgl5Trojcep5aQspLutg8D-2k,1306
|
|
2
|
-
spotifywebapipython/const.py,sha256=
|
|
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=
|
|
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=
|
|
15
|
+
spotifywebapipython/docs/__init__.html,sha256=zP2pFyb0jpOloZQ5auNgGVoddfgvHJyCH1EGupYiGE8,187288
|
|
16
16
|
spotifywebapipython/docs/codecopy.js,sha256=ryuoZwLIL03YitjjFzn49UO5ta7-OBos6LNA3qHhFzs,3120
|
|
17
|
-
spotifywebapipython/docs/index.html,sha256=
|
|
18
|
-
spotifywebapipython/docs/search.js,sha256=
|
|
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=
|
|
22
|
-
spotifywebapipython/docs/spotifywebapipython/saappmessages.html,sha256=
|
|
23
|
-
spotifywebapipython/docs/spotifywebapipython/sautils.html,sha256=
|
|
24
|
-
spotifywebapipython/docs/spotifywebapipython/spotifyapierror.html,sha256=
|
|
25
|
-
spotifywebapipython/docs/spotifywebapipython/spotifyapimessage.html,sha256=
|
|
26
|
-
spotifywebapipython/docs/spotifywebapipython/spotifyauthtoken.html,sha256
|
|
27
|
-
spotifywebapipython/docs/spotifywebapipython/spotifyclient.html,sha256=
|
|
28
|
-
spotifywebapipython/docs/spotifywebapipython/spotifydiscovery.html,sha256=
|
|
29
|
-
spotifywebapipython/docs/spotifywebapipython/spotifymediatypes.html,sha256=
|
|
30
|
-
spotifywebapipython/docs/spotifywebapipython/spotifytypeprefixes.html,sha256=
|
|
31
|
-
spotifywebapipython/docs/spotifywebapipython/spotifywebapiauthenticationerror.html,sha256=
|
|
32
|
-
spotifywebapipython/docs/spotifywebapipython/spotifywebapierror.html,sha256=
|
|
33
|
-
spotifywebapipython/docs/spotifywebapipython/spotifywebplayertoken.html,sha256
|
|
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=
|
|
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=
|
|
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.
|
|
141
|
-
spotifywebapipython-1.0.
|
|
142
|
-
spotifywebapipython-1.0.
|
|
143
|
-
spotifywebapipython-1.0.
|
|
144
|
-
spotifywebapipython-1.0.
|
|
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,,
|
|
File without changes
|
|
File without changes
|
{spotifywebapipython-1.0.263.dist-info → spotifywebapipython-1.0.265.dist-info}/top_level.txt
RENAMED
|
File without changes
|