spotifywebapiPython 1.0.273__py3-none-any.whl → 1.0.275__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 +14 -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 +8 -4
- 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/spotifyclient.py +14 -2
- spotifywebapipython/spotifyconnect/spotifyconnectzeroconflistener.py +19 -13
- {spotifywebapipython-1.0.273.dist-info → spotifywebapipython-1.0.275.dist-info}/METADATA +1 -1
- {spotifywebapipython-1.0.273.dist-info → spotifywebapipython-1.0.275.dist-info}/RECORD +24 -24
- {spotifywebapipython-1.0.273.dist-info → spotifywebapipython-1.0.275.dist-info}/LICENSE +0 -0
- {spotifywebapipython-1.0.273.dist-info → spotifywebapipython-1.0.275.dist-info}/WHEEL +0 -0
- {spotifywebapipython-1.0.273.dist-info → spotifywebapipython-1.0.275.dist-info}/top_level.txt +0 -0
|
@@ -111,23 +111,31 @@ class SpotifyConnectZeroconfListener:
|
|
|
111
111
|
# trace.
|
|
112
112
|
_logsi.LogObject(SILevel.Debug, "Spotify Connect Zeroconf service details: \"%s\" (%s) (serviceinfo object)" % (deviceName, serviceInfo.name), serviceInfo)
|
|
113
113
|
|
|
114
|
+
# for devices that are discovered from more than one interface ...
|
|
114
115
|
# get originating source ip address for each discovered address.
|
|
115
116
|
# this will determine if a discovered address is on the same subnet or not.
|
|
116
117
|
# we will not use the address if it's not on the same subnet, as Spotify Connect
|
|
117
118
|
# requires discovered devices to be on the same subnet.
|
|
118
119
|
# Spotify Connect Zeroconf discovery IP Address Name for ipAddr "172.30.32.1" = "192.168.1.1"
|
|
119
120
|
ipAddressVerified:str = None
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
if ipAddrSource
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
if
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
121
|
+
if (ipAddressList is not None) and (len(ipAddressList) > 1):
|
|
122
|
+
for ipAddr in ipAddressList:
|
|
123
|
+
ipAddrSource = get_source_ip(ipAddr)
|
|
124
|
+
_logsi.LogVerbose("Spotify Connect Zeroconf discovery is verifying IP Address \"%s\" from Source IP \"%s\" for device name \"%s\"" % (ipAddr, ipAddrSource, deviceName))
|
|
125
|
+
if ipAddrSource is not None:
|
|
126
|
+
if ipAddrSource.count(".") == 3:
|
|
127
|
+
lastDotIdx = ipAddrSource.rfind(".")
|
|
128
|
+
if (lastDotIdx > -1) and (len(ipAddr) >= lastDotIdx):
|
|
129
|
+
if ipAddrSource[0:lastDotIdx] == ipAddr[0:lastDotIdx]:
|
|
130
|
+
ipAddressVerified = ipAddr
|
|
131
|
+
_logsi.LogVerbose("Spotify Connect Zeroconf discovery will use device IP Address \"%s\" for device name \"%s\"" % (ipAddressVerified, deviceName))
|
|
132
|
+
break # use the first one that matches the same subnet.
|
|
133
|
+
|
|
134
|
+
# if address was verified, then add it to the end of the list.
|
|
135
|
+
# this simulates zeroconf LIFO order of the list, which will
|
|
136
|
+
# cause the entry to be used as the primary host address.
|
|
137
|
+
if (ipAddressVerified is not None):
|
|
138
|
+
ipAddressList.append(ipAddressVerified)
|
|
131
139
|
|
|
132
140
|
# create new discovery result instance.
|
|
133
141
|
result:ZeroconfDiscoveryResult = ZeroconfDiscoveryResult()
|
|
@@ -135,8 +143,6 @@ class SpotifyConnectZeroconfListener:
|
|
|
135
143
|
result.Domain = '.local'
|
|
136
144
|
for item in ipAddressList:
|
|
137
145
|
result.HostIpAddresses.append(item)
|
|
138
|
-
if (len(result.HostIpAddresses) > 1): # only use verified address if more than 1 address discovered.
|
|
139
|
-
result.HostIpAddress = ipAddressVerified
|
|
140
146
|
result.HostIpPort = serviceInfo.port
|
|
141
147
|
result.HostTTL = serviceInfo.host_ttl
|
|
142
148
|
result.Key = serviceInfo.key
|
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
spotifywebapipython/__init__.py,sha256=ka7F2AsT-UU7KSYKBnfgl5Trojcep5aQspLutg8D-2k,1306
|
|
2
|
-
spotifywebapipython/const.py,sha256=
|
|
2
|
+
spotifywebapipython/const.py,sha256=Jb0PmG4dSaMldkfS9kGKsxJ16_qixUXobjD7tfQETuo,4100
|
|
3
3
|
spotifywebapipython/saappmessages.py,sha256=mVprjpd5CdD8kYeAkLzRvMvIQPmaYtH4UCP5my3QhSk,5065
|
|
4
4
|
spotifywebapipython/sautils.py,sha256=LZF3UvxaBK35WIg1hO37nbW8j1y-M-oOxRbi1dPR39w,8746
|
|
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=2CIx28pTZQrl-d5eNcS3GBS98EiRkZYCd79VWaE8k2I,901952
|
|
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=DzTcdue1gmf4fm4vMo2ALtircZ3tv_5eBhYTKcuGqHw,190876
|
|
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=8GEwj9U_8FXwenNrc45bbxGmpMyNxnSk8NYA0q2GGi0,48779
|
|
18
|
+
spotifywebapipython/docs/search.js,sha256=2Yk61bSdSFEmj9aNz1Q4wMpE9IQURlAZb25Zrrm3NSI,9160215
|
|
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=qUL696futnO0JDwBhJJP8V4h--IYla_xPnUep5ezLvw,60537
|
|
22
|
+
spotifywebapipython/docs/spotifywebapipython/saappmessages.html,sha256=8yv7EYOwBUMBYFUMLai299-SuhZAtgZiBwbrvYQnBUs,62358
|
|
23
|
+
spotifywebapipython/docs/spotifywebapipython/sautils.html,sha256=z9klI_wOmTEpQCaeDwIyo-iz3-W7cnPbu_v9Wn1yRag,62031
|
|
24
|
+
spotifywebapipython/docs/spotifywebapipython/spotifyapierror.html,sha256=3jXwenItncOpxAg3QHBDTMfHZhhcRCW9_lZtBJFL3pc,48054
|
|
25
|
+
spotifywebapipython/docs/spotifywebapipython/spotifyapimessage.html,sha256=KkjgxEu4cYfSVykukBPOqwnWPMBhdTdbkySH6Sa6Nys,59210
|
|
26
|
+
spotifywebapipython/docs/spotifywebapipython/spotifyauthtoken.html,sha256=l1Q7J30RJ_lVj8vlD6qA_lsiaBS22NHukaQBGNhJqo8,59256
|
|
27
|
+
spotifywebapipython/docs/spotifywebapipython/spotifyclient.html,sha256=mvT178Hh_u05dp7bBkFhgFb4eVQQFszbNh9-2dZoWu4,1667821
|
|
28
|
+
spotifywebapipython/docs/spotifywebapipython/spotifydiscovery.html,sha256=_Ix1pgnZGBVPROBj1YH5529C5jBSd2GT2tT_zTgLVnI,57662
|
|
29
|
+
spotifywebapipython/docs/spotifywebapipython/spotifymediatypes.html,sha256=k3LRHdrwCa-exBnEAzucslhu0SI90_E-P10JLo7mRMg,51532
|
|
30
|
+
spotifywebapipython/docs/spotifywebapipython/spotifytypeprefixes.html,sha256=j6g366Q226CUHlXtwVdQOFF5rXxzoCWcqbdBoNUxVQw,52401
|
|
31
|
+
spotifywebapipython/docs/spotifywebapipython/spotifywebapiauthenticationerror.html,sha256=Lp6dFbXIaOqZ3MIDKlzh6xSXbc8oo8ibIi21fwa9acA,52174
|
|
32
|
+
spotifywebapipython/docs/spotifywebapipython/spotifywebapierror.html,sha256=e4eLfBOpXwhzQIPMChQPcAm0la9FqZHOpHhBMM8D8bs,50592
|
|
33
|
+
spotifywebapipython/docs/spotifywebapipython/spotifywebplayertoken.html,sha256=XDFSftUsKGHR_dCCPDOdouePpfblEI9Imiz5W2_tGJA,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
|
|
@@ -117,7 +117,7 @@ spotifywebapipython/spotifyconnect/spotifyconnectzeroconfcastlistener.py,sha256=
|
|
|
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
|
|
120
|
-
spotifywebapipython/spotifyconnect/spotifyconnectzeroconflistener.py,sha256=
|
|
120
|
+
spotifywebapipython/spotifyconnect/spotifyconnectzeroconflistener.py,sha256=ciN31zub2gk9On-1Gf7xDQpOdCEA3mutYIXpVfuA-w0,16583
|
|
121
121
|
spotifywebapipython/vibrant/__init__.py,sha256=x3yGfhH0ydjWTSILADuwQXaoLvpkV2EM0T_gyZ5aX38,712
|
|
122
122
|
spotifywebapipython/vibrant/colorthieffast.py,sha256=hMPL1yLeCMj6KXpq5V_Pp8eYkvB_8NlA7w95LRh3f1A,21736
|
|
123
123
|
spotifywebapipython/vibrant/generator.py,sha256=UFLketHF_gAjjC-VQCP8vCUFCgZEYxqN91m1_IeOtj0,7462
|
|
@@ -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.275.dist-info/LICENSE,sha256=KGcc9g0zwqNLcWnSn_ezv1UtKyhMENFhvtixpxUPNsE,1177
|
|
141
|
+
spotifywebapipython-1.0.275.dist-info/METADATA,sha256=25Fv2Pme6XAC9AaIJsjC6IipWdYjqKtpdWW4maim6XY,11644
|
|
142
|
+
spotifywebapipython-1.0.275.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
|
143
|
+
spotifywebapipython-1.0.275.dist-info/top_level.txt,sha256=jTBLFlijKTesYh2dteAz4vb17qjaqWKeDjpnnwTcrjs,20
|
|
144
|
+
spotifywebapipython-1.0.275.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
{spotifywebapipython-1.0.273.dist-info → spotifywebapipython-1.0.275.dist-info}/top_level.txt
RENAMED
|
File without changes
|