spotifywebapiPython 1.0.285__py3-none-any.whl → 1.0.286__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 +8 -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 +11 -5
- 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/searchresponse.py +107 -4
- spotifywebapipython/spotifyclient.py +102 -15
- {spotifywebapipython-1.0.285.dist-info → spotifywebapipython-1.0.286.dist-info}/METADATA +1 -1
- {spotifywebapipython-1.0.285.dist-info → spotifywebapipython-1.0.286.dist-info}/RECORD +24 -24
- {spotifywebapipython-1.0.285.dist-info → spotifywebapipython-1.0.286.dist-info}/LICENSE +0 -0
- {spotifywebapipython-1.0.285.dist-info → spotifywebapipython-1.0.286.dist-info}/WHEEL +0 -0
- {spotifywebapipython-1.0.285.dist-info → spotifywebapipython-1.0.286.dist-info}/top_level.txt +0 -0
|
@@ -2,14 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
# our package imports.
|
|
4
4
|
from ..sautils import export
|
|
5
|
-
from .
|
|
6
|
-
from .
|
|
7
|
-
from .
|
|
5
|
+
from .albumpagesaved import AlbumPageSaved, AlbumSaved
|
|
6
|
+
from .albumpagesimplified import AlbumPageSimplified, AlbumSimplified
|
|
7
|
+
from .artistpage import ArtistPage, Artist
|
|
8
|
+
from .audiobookpagesimplified import AudiobookPageSimplified, AudiobookSimplified
|
|
8
9
|
from .episodepagesimplified import EpisodePageSimplified
|
|
10
|
+
from .playhistorypage import PlayHistoryPage, PlayHistory
|
|
9
11
|
from .playlistpagesimplified import PlaylistPageSimplified
|
|
10
12
|
from .playlistsimplified import PlaylistSimplified
|
|
13
|
+
from .showpagesaved import ShowPageSaved, ShowSaved
|
|
11
14
|
from .showpagesimplified import ShowPageSimplified
|
|
12
|
-
from .trackpage import TrackPage
|
|
15
|
+
from .trackpage import TrackPage, Track
|
|
16
|
+
from .trackpagesaved import TrackPageSaved, TrackSaved
|
|
13
17
|
|
|
14
18
|
@export
|
|
15
19
|
class SearchResponse:
|
|
@@ -313,6 +317,105 @@ class SearchResponse:
|
|
|
313
317
|
|
|
314
318
|
# return to caller.
|
|
315
319
|
return result
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
def LoadAlbumsFromAlbumPageSaved(self, pageObj:AlbumPageSaved) -> None:
|
|
323
|
+
"""
|
|
324
|
+
Adds the album items contained in a `AlbumPageSaved` object to the Albums collection.
|
|
325
|
+
"""
|
|
326
|
+
if (isinstance(pageObj, AlbumPageSaved)):
|
|
327
|
+
|
|
328
|
+
item:AlbumSaved
|
|
329
|
+
for item in pageObj.Items:
|
|
330
|
+
self._Albums.Items.append(item.Album)
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
def LoadAlbumsFromAlbumPageSimplified(self, pageObj:AlbumPageSimplified) -> None:
|
|
334
|
+
"""
|
|
335
|
+
Adds the album items contained in a `AlbumPageSimplified` object to the Albums collection.
|
|
336
|
+
"""
|
|
337
|
+
if (isinstance(pageObj, AlbumPageSimplified)):
|
|
338
|
+
|
|
339
|
+
item:AlbumSimplified
|
|
340
|
+
for item in pageObj.Items:
|
|
341
|
+
self._Albums.Items.append(item)
|
|
342
|
+
|
|
343
|
+
|
|
344
|
+
def LoadArtistsFromArtistPage(self, pageObj:ArtistPage) -> None:
|
|
345
|
+
"""
|
|
346
|
+
Adds the artist items contained in a `ArtistPage` object to the Artists collection.
|
|
347
|
+
"""
|
|
348
|
+
if (isinstance(pageObj, ArtistPage)):
|
|
349
|
+
|
|
350
|
+
item:Artist
|
|
351
|
+
for item in pageObj.Items:
|
|
352
|
+
self._Artists.Items.append(item)
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
def LoadAudiobooksFromAudiobookPageSimplified(self, pageObj:AudiobookPageSimplified) -> None:
|
|
356
|
+
"""
|
|
357
|
+
Adds the audiobook items contained in a `AudiobookPageSimplified` object to the Audiobooks collection.
|
|
358
|
+
"""
|
|
359
|
+
if (isinstance(pageObj, AudiobookPageSimplified)):
|
|
360
|
+
|
|
361
|
+
item:AudiobookSimplified
|
|
362
|
+
for item in pageObj.Items:
|
|
363
|
+
self._Audiobooks.Items.append(item)
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
def LoadPlaylistsFromPlaylistPageSimplified(self, pageObj:PlaylistPageSimplified) -> None:
|
|
367
|
+
"""
|
|
368
|
+
Adds the playlist items contained in a `PlaylistPageSimplified` object to the Playlists collection.
|
|
369
|
+
"""
|
|
370
|
+
if (isinstance(pageObj, PlaylistPageSimplified)):
|
|
371
|
+
|
|
372
|
+
item:PlaylistSimplified
|
|
373
|
+
for item in pageObj.Items:
|
|
374
|
+
self._Playlists.Items.append(item)
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
def LoadShowsFromShowPageSaved(self, pageObj:ShowPageSaved) -> None:
|
|
378
|
+
"""
|
|
379
|
+
Adds the show items contained in a `ShowPageSaved` object to the Shows collection.
|
|
380
|
+
"""
|
|
381
|
+
if (isinstance(pageObj, ShowPageSaved)):
|
|
382
|
+
|
|
383
|
+
item:ShowSaved
|
|
384
|
+
for item in pageObj.Items:
|
|
385
|
+
self._Shows.Items.append(item.Show)
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
def LoadTracksFromPlayHistoryPage(self, pageObj:PlayHistoryPage) -> None:
|
|
389
|
+
"""
|
|
390
|
+
Adds the track items contained in a `PlayHistoryPage` object to the Tracks collection.
|
|
391
|
+
"""
|
|
392
|
+
if (isinstance(pageObj, PlayHistoryPage)):
|
|
393
|
+
|
|
394
|
+
item:PlayHistory
|
|
395
|
+
for item in pageObj.Items:
|
|
396
|
+
self._Tracks.Items.append(item.Track)
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
def LoadTracksFromTrackPageSaved(self, pageObj:TrackPageSaved) -> None:
|
|
400
|
+
"""
|
|
401
|
+
Adds the track items contained in a `TrackPageSaved` object to the Tracks collection.
|
|
402
|
+
"""
|
|
403
|
+
if (isinstance(pageObj, TrackPageSaved)):
|
|
404
|
+
|
|
405
|
+
item:TrackSaved
|
|
406
|
+
for item in pageObj.Items:
|
|
407
|
+
self._Tracks.Items.append(item.Track)
|
|
408
|
+
|
|
409
|
+
|
|
410
|
+
def LoadTracksFromTrackPage(self, pageObj:TrackPage) -> None:
|
|
411
|
+
"""
|
|
412
|
+
Adds the track items contained in a `TrackPage` object to the Tracks collection.
|
|
413
|
+
"""
|
|
414
|
+
if (isinstance(pageObj, TrackPage)):
|
|
415
|
+
|
|
416
|
+
item:Track
|
|
417
|
+
for item in pageObj.Items:
|
|
418
|
+
self._Tracks.Items.append(item)
|
|
316
419
|
|
|
317
420
|
|
|
318
421
|
def ToDictionary(self) -> dict:
|
|
@@ -3822,7 +3822,7 @@ class SpotifyClient:
|
|
|
3822
3822
|
result.Total = pageObj.Total
|
|
3823
3823
|
result.DateLastRefreshed = datetime.utcnow().timestamp()
|
|
3824
3824
|
|
|
3825
|
-
#
|
|
3825
|
+
# any results to process?
|
|
3826
3826
|
if (len(result.Items) > 0):
|
|
3827
3827
|
|
|
3828
3828
|
# sort result items.
|
|
@@ -3873,6 +3873,7 @@ class SpotifyClient:
|
|
|
3873
3873
|
country:str=None,
|
|
3874
3874
|
limitTotal:int=None,
|
|
3875
3875
|
sortResult:bool=True,
|
|
3876
|
+
filterCriteria:str|None=None,
|
|
3876
3877
|
) -> AlbumPageSimplified:
|
|
3877
3878
|
"""
|
|
3878
3879
|
<span class="deprecated">
|
|
@@ -3910,6 +3911,9 @@ class SpotifyClient:
|
|
|
3910
3911
|
True to sort the items by name; otherwise, False to leave the items in the same order they
|
|
3911
3912
|
were returned in by the Spotify Web API.
|
|
3912
3913
|
Default: True
|
|
3914
|
+
filterCriteria (str):
|
|
3915
|
+
Filter returned entries by a album name or uri value.
|
|
3916
|
+
Value can be a full name (e.g. "My Album Name"), or a partial name (e.g. "My").
|
|
3913
3917
|
|
|
3914
3918
|
Returns:
|
|
3915
3919
|
An `AlbumPageSimplified` object that contains simplified album information.
|
|
@@ -3947,6 +3951,7 @@ class SpotifyClient:
|
|
|
3947
3951
|
apiMethodParms.AppendKeyValue("country", country)
|
|
3948
3952
|
apiMethodParms.AppendKeyValue("limitTotal", limitTotal)
|
|
3949
3953
|
apiMethodParms.AppendKeyValue("sortResult", sortResult)
|
|
3954
|
+
apiMethodParms.AppendKeyValue("filterCriteria", filterCriteria)
|
|
3950
3955
|
_logsi.LogMethodParmList(SILevel.Verbose, "Get a list of new album releases", apiMethodParms)
|
|
3951
3956
|
|
|
3952
3957
|
# are spotify web player credentials configured? if so, then we will use them to create
|
|
@@ -4021,11 +4026,30 @@ class SpotifyClient:
|
|
|
4021
4026
|
result.Total = pageObj.Total
|
|
4022
4027
|
result.DateLastRefreshed = datetime.utcnow().timestamp()
|
|
4023
4028
|
|
|
4024
|
-
#
|
|
4029
|
+
# any results to process?
|
|
4025
4030
|
if (len(result.Items) > 0):
|
|
4031
|
+
|
|
4032
|
+
# sort result items.
|
|
4026
4033
|
if (sortResult is True):
|
|
4027
4034
|
result.Items.sort(key=lambda x: (x.Name or "").lower(), reverse=False)
|
|
4028
4035
|
|
|
4036
|
+
# apply filter criteria (if specified).
|
|
4037
|
+
if (filterCriteria is not None):
|
|
4038
|
+
_logsi.LogVerbose("Applying filter criteria to results list: \"%s\"" % (filterCriteria))
|
|
4039
|
+
filterCriteriaCompare:str = (filterCriteria or "").lower()
|
|
4040
|
+
isFilterUri:bool = SpotifyClient.IsSpotifyUri(filterCriteriaCompare)
|
|
4041
|
+
# process list in reverse order since we are removing items.
|
|
4042
|
+
for idx in reversed(range(len(result.Items))):
|
|
4043
|
+
item:AlbumSimplified = result.Items[idx]
|
|
4044
|
+
itemFound:bool = False
|
|
4045
|
+
if (isFilterUri):
|
|
4046
|
+
if ((item.Uri or "").lower() == filterCriteriaCompare):
|
|
4047
|
+
itemFound = True
|
|
4048
|
+
elif ((item.Name or "").lower().find(filterCriteriaCompare) > -1):
|
|
4049
|
+
itemFound = True
|
|
4050
|
+
if (not itemFound):
|
|
4051
|
+
result.Items.pop(idx)
|
|
4052
|
+
|
|
4029
4053
|
# trace.
|
|
4030
4054
|
_logsi.LogObject(SILevel.Verbose, (TRACE_METHOD_RESULT_TYPE + result.PagingInfo) % (apiMethodName, type(result).__name__), result, excludeNonPublic=True)
|
|
4031
4055
|
return result
|
|
@@ -4575,8 +4599,10 @@ class SpotifyClient:
|
|
|
4575
4599
|
result.Total = pageObj.Total
|
|
4576
4600
|
result.DateLastRefreshed = datetime.utcnow().timestamp()
|
|
4577
4601
|
|
|
4578
|
-
#
|
|
4602
|
+
# any results to process?
|
|
4579
4603
|
if (len(result.Items) > 0):
|
|
4604
|
+
|
|
4605
|
+
# sort result items.
|
|
4580
4606
|
if (sortResult is True):
|
|
4581
4607
|
result.Items.sort(key=lambda x: (x.Name or "").lower(), reverse=False)
|
|
4582
4608
|
|
|
@@ -5140,6 +5166,7 @@ class SpotifyClient:
|
|
|
5140
5166
|
limit:int=20,
|
|
5141
5167
|
limitTotal:int=None,
|
|
5142
5168
|
sortResult:bool=True,
|
|
5169
|
+
filterCriteria:str|None=None,
|
|
5143
5170
|
) -> ArtistPage:
|
|
5144
5171
|
"""
|
|
5145
5172
|
Get the current user's followed artists.
|
|
@@ -5163,6 +5190,9 @@ class SpotifyClient:
|
|
|
5163
5190
|
True to sort the items by name; otherwise, False to leave the items in the same order they
|
|
5164
5191
|
were returned in by the Spotify Web API.
|
|
5165
5192
|
Default: True
|
|
5193
|
+
filterCriteria (str):
|
|
5194
|
+
Filter returned entries by a audiobook name or uri value.
|
|
5195
|
+
Value can be a full name (e.g. "My AudioBook Name"), or a partial name (e.g. "My").
|
|
5166
5196
|
|
|
5167
5197
|
Returns:
|
|
5168
5198
|
An `ArtistPage` object of matching results.
|
|
@@ -5199,6 +5229,7 @@ class SpotifyClient:
|
|
|
5199
5229
|
apiMethodParms.AppendKeyValue("limit", limit)
|
|
5200
5230
|
apiMethodParms.AppendKeyValue("limitTotal", limitTotal)
|
|
5201
5231
|
apiMethodParms.AppendKeyValue("sortResult", sortResult)
|
|
5232
|
+
apiMethodParms.AppendKeyValue("filterCriteria", filterCriteria)
|
|
5202
5233
|
_logsi.LogMethodParmList(SILevel.Verbose, "Get the current user's followed artists", apiMethodParms)
|
|
5203
5234
|
|
|
5204
5235
|
# validations.
|
|
@@ -5274,11 +5305,30 @@ class SpotifyClient:
|
|
|
5274
5305
|
result.CursorAfter = pageObj.CursorAfter
|
|
5275
5306
|
result.DateLastRefreshed = datetime.utcnow().timestamp()
|
|
5276
5307
|
|
|
5277
|
-
#
|
|
5308
|
+
# any results to process?
|
|
5278
5309
|
if (len(result.Items) > 0):
|
|
5310
|
+
|
|
5311
|
+
# sort result items.
|
|
5279
5312
|
if (sortResult is True):
|
|
5280
5313
|
result.Items.sort(key=lambda x: (x.Name or "").lower(), reverse=False)
|
|
5281
5314
|
|
|
5315
|
+
# apply filter criteria (if specified).
|
|
5316
|
+
if (filterCriteria is not None):
|
|
5317
|
+
_logsi.LogVerbose("Applying filter criteria to results list: \"%s\"" % (filterCriteria))
|
|
5318
|
+
filterCriteriaCompare:str = (filterCriteria or "").lower()
|
|
5319
|
+
isFilterUri:bool = SpotifyClient.IsSpotifyUri(filterCriteriaCompare)
|
|
5320
|
+
# process list in reverse order since we are removing items.
|
|
5321
|
+
for idx in reversed(range(len(result.Items))):
|
|
5322
|
+
item:Artist = result.Items[idx]
|
|
5323
|
+
itemFound:bool = False
|
|
5324
|
+
if (isFilterUri):
|
|
5325
|
+
if ((item.Uri or "").lower() == filterCriteriaCompare):
|
|
5326
|
+
itemFound = True
|
|
5327
|
+
elif ((item.Name or "").lower().find(filterCriteriaCompare) > -1):
|
|
5328
|
+
itemFound = True
|
|
5329
|
+
if (not itemFound):
|
|
5330
|
+
result.Items.pop(idx)
|
|
5331
|
+
|
|
5282
5332
|
# trace.
|
|
5283
5333
|
_logsi.LogObject(SILevel.Verbose, TRACE_METHOD_RESULT_TYPE % (apiMethodName, type(result).__name__), result, excludeNonPublic=True)
|
|
5284
5334
|
return result
|
|
@@ -5843,7 +5893,7 @@ class SpotifyClient:
|
|
|
5843
5893
|
result.Total = pageObj.Total
|
|
5844
5894
|
result.DateLastRefreshed = datetime.utcnow().timestamp()
|
|
5845
5895
|
|
|
5846
|
-
#
|
|
5896
|
+
# any results to process?
|
|
5847
5897
|
if (len(result.Items) > 0):
|
|
5848
5898
|
|
|
5849
5899
|
# sort result items.
|
|
@@ -6308,8 +6358,10 @@ class SpotifyClient:
|
|
|
6308
6358
|
result.Total = pageObj.Total
|
|
6309
6359
|
result.DateLastRefreshed = datetime.utcnow().timestamp()
|
|
6310
6360
|
|
|
6311
|
-
#
|
|
6361
|
+
# any results to process?
|
|
6312
6362
|
if (len(result.Items) > 0):
|
|
6363
|
+
|
|
6364
|
+
# sort result items.
|
|
6313
6365
|
if (sortResult is True):
|
|
6314
6366
|
result.Items.sort(key=lambda x: (x.Name or "").lower(), reverse=False)
|
|
6315
6367
|
|
|
@@ -6617,8 +6669,10 @@ class SpotifyClient:
|
|
|
6617
6669
|
result.Total = pageObj.Total
|
|
6618
6670
|
result.DateLastRefreshed = datetime.utcnow().timestamp()
|
|
6619
6671
|
|
|
6620
|
-
#
|
|
6672
|
+
# any results to process?
|
|
6621
6673
|
if (len(result.Items) > 0):
|
|
6674
|
+
|
|
6675
|
+
# sort result items.
|
|
6622
6676
|
if (sortResult is True):
|
|
6623
6677
|
result.Items.sort(key=lambda x: (x.Name or "").lower(), reverse=False)
|
|
6624
6678
|
|
|
@@ -7351,7 +7405,7 @@ class SpotifyClient:
|
|
|
7351
7405
|
result.Total = pageObj.Total
|
|
7352
7406
|
result.DateLastRefreshed = datetime.utcnow().timestamp()
|
|
7353
7407
|
|
|
7354
|
-
#
|
|
7408
|
+
# any results to process?
|
|
7355
7409
|
if (len(result.Items) > 0):
|
|
7356
7410
|
|
|
7357
7411
|
# sort result items.
|
|
@@ -7690,8 +7744,10 @@ class SpotifyClient:
|
|
|
7690
7744
|
result.Total = pageObj.Total
|
|
7691
7745
|
result.DateLastRefreshed = datetime.utcnow().timestamp()
|
|
7692
7746
|
|
|
7693
|
-
#
|
|
7747
|
+
# any results to process?
|
|
7694
7748
|
if (len(result.Items) > 0):
|
|
7749
|
+
|
|
7750
|
+
# sort result items.
|
|
7695
7751
|
if (sortResult is True):
|
|
7696
7752
|
result.Items.sort(key=lambda x: (x.Name or "").lower(), reverse=False)
|
|
7697
7753
|
|
|
@@ -9295,7 +9351,8 @@ class SpotifyClient:
|
|
|
9295
9351
|
limit:int=50,
|
|
9296
9352
|
after:int=None,
|
|
9297
9353
|
before:int=None,
|
|
9298
|
-
limitTotal:int=None
|
|
9354
|
+
limitTotal:int=None,
|
|
9355
|
+
filterCriteria:str|None=None,
|
|
9299
9356
|
) -> PlayHistoryPage:
|
|
9300
9357
|
"""
|
|
9301
9358
|
Get tracks from the current user's recently played tracks.
|
|
@@ -9326,6 +9383,9 @@ class SpotifyClient:
|
|
|
9326
9383
|
and paging is automatically used to retrieve all available items up to the
|
|
9327
9384
|
maximum number specified.
|
|
9328
9385
|
Default: None (disabled)
|
|
9386
|
+
filterCriteria (str):
|
|
9387
|
+
Filter returned entries by a track name or uri value.
|
|
9388
|
+
Value can be a full name (e.g. "My Track Name"), or a partial name (e.g. "My").
|
|
9329
9389
|
|
|
9330
9390
|
Spotify currently limits the maximum number of items returned to 50 no matter what you
|
|
9331
9391
|
supply for the `limitTotal` argument.
|
|
@@ -9371,6 +9431,7 @@ class SpotifyClient:
|
|
|
9371
9431
|
apiMethodParms.AppendKeyValue("after", after)
|
|
9372
9432
|
apiMethodParms.AppendKeyValue("before", before)
|
|
9373
9433
|
apiMethodParms.AppendKeyValue("limitTotal", limitTotal)
|
|
9434
|
+
apiMethodParms.AppendKeyValue("filterCriteria", filterCriteria)
|
|
9374
9435
|
_logsi.LogMethodParmList(SILevel.Verbose, "Get tracks from the current user's recently played tracks", apiMethodParms)
|
|
9375
9436
|
|
|
9376
9437
|
# validations.
|
|
@@ -9460,6 +9521,26 @@ class SpotifyClient:
|
|
|
9460
9521
|
result.CursorBefore = pageObj.CursorBefore
|
|
9461
9522
|
result.DateLastRefreshed = datetime.utcnow().timestamp()
|
|
9462
9523
|
|
|
9524
|
+
# any results to process?
|
|
9525
|
+
if (len(result.Items) > 0):
|
|
9526
|
+
|
|
9527
|
+
# apply filter criteria (if specified).
|
|
9528
|
+
if (filterCriteria is not None):
|
|
9529
|
+
_logsi.LogVerbose("Applying filter criteria to results list: \"%s\"" % (filterCriteria))
|
|
9530
|
+
filterCriteriaCompare:str = (filterCriteria or "").lower()
|
|
9531
|
+
isFilterUri:bool = SpotifyClient.IsSpotifyUri(filterCriteriaCompare)
|
|
9532
|
+
# process list in reverse order since we are removing items.
|
|
9533
|
+
for idx in reversed(range(len(result.Items))):
|
|
9534
|
+
item:PlayHistory = result.Items[idx]
|
|
9535
|
+
itemFound:bool = False
|
|
9536
|
+
if (isFilterUri):
|
|
9537
|
+
if ((item.Track.Uri or "").lower() == filterCriteriaCompare):
|
|
9538
|
+
itemFound = True
|
|
9539
|
+
elif ((item.Track.Name or "").lower().find(filterCriteriaCompare) > -1):
|
|
9540
|
+
itemFound = True
|
|
9541
|
+
if (not itemFound):
|
|
9542
|
+
result.Items.pop(idx)
|
|
9543
|
+
|
|
9463
9544
|
# trace.
|
|
9464
9545
|
_logsi.LogObject(SILevel.Verbose, TRACE_METHOD_RESULT_TYPE % (apiMethodName, type(result).__name__), result, excludeNonPublic=True)
|
|
9465
9546
|
return result
|
|
@@ -10105,7 +10186,7 @@ class SpotifyClient:
|
|
|
10105
10186
|
result.Total = pageObj.Total
|
|
10106
10187
|
result.DateLastRefreshed = datetime.utcnow().timestamp()
|
|
10107
10188
|
|
|
10108
|
-
#
|
|
10189
|
+
# any results to process?
|
|
10109
10190
|
if (len(result.Items) > 0):
|
|
10110
10191
|
|
|
10111
10192
|
# sort result items.
|
|
@@ -10298,8 +10379,10 @@ class SpotifyClient:
|
|
|
10298
10379
|
result.Total = pageObj.Total
|
|
10299
10380
|
result.DateLastRefreshed = datetime.utcnow().timestamp()
|
|
10300
10381
|
|
|
10301
|
-
#
|
|
10382
|
+
# any results to process?
|
|
10302
10383
|
if (len(result.Items) > 0):
|
|
10384
|
+
|
|
10385
|
+
# sort result items.
|
|
10303
10386
|
if (sortResult is True):
|
|
10304
10387
|
result.Items.sort(key=lambda x: (x.Name or "").lower(), reverse=False)
|
|
10305
10388
|
|
|
@@ -10769,7 +10852,7 @@ class SpotifyClient:
|
|
|
10769
10852
|
result.Total = pageObj.Total
|
|
10770
10853
|
result.DateLastRefreshed = datetime.utcnow().timestamp()
|
|
10771
10854
|
|
|
10772
|
-
#
|
|
10855
|
+
# any results to process?
|
|
10773
10856
|
if (len(result.Items) > 0):
|
|
10774
10857
|
|
|
10775
10858
|
# sort result items.
|
|
@@ -12816,8 +12899,10 @@ class SpotifyClient:
|
|
|
12816
12899
|
result.Total = pageObj.Total
|
|
12817
12900
|
result.DateLastRefreshed = datetime.utcnow().timestamp()
|
|
12818
12901
|
|
|
12819
|
-
#
|
|
12902
|
+
# any results to process?
|
|
12820
12903
|
if (len(result.Items) > 0):
|
|
12904
|
+
|
|
12905
|
+
# sort result items.
|
|
12821
12906
|
if (sortResult is True):
|
|
12822
12907
|
result.Items.sort(key=lambda x: (x.Name or "").lower(), reverse=False)
|
|
12823
12908
|
|
|
@@ -12983,8 +13068,10 @@ class SpotifyClient:
|
|
|
12983
13068
|
result.Total = pageObj.Total
|
|
12984
13069
|
result.DateLastRefreshed = datetime.utcnow().timestamp()
|
|
12985
13070
|
|
|
12986
|
-
#
|
|
13071
|
+
# any results to process?
|
|
12987
13072
|
if (len(result.Items) > 0):
|
|
13073
|
+
|
|
13074
|
+
# sort result items.
|
|
12988
13075
|
if (sortResult is True):
|
|
12989
13076
|
result.Items.sort(key=lambda x: (x.Name or "").lower(), reverse=False)
|
|
12990
13077
|
|
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
spotifywebapipython/__init__.py,sha256=ka7F2AsT-UU7KSYKBnfgl5Trojcep5aQspLutg8D-2k,1306
|
|
2
|
-
spotifywebapipython/const.py,sha256=
|
|
2
|
+
spotifywebapipython/const.py,sha256=_0xgoiXleuGlt4VBrjCybEnX6RiQLiUdgRlt7key8Yc,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=5VbuI5ADUBlCV4m6uO5VGcLgY6FRB4daQkJwWGJ5KJg,915988
|
|
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=05xQ4dY9jR9Hd3ffGnfUtDa8J4SlqH5jHHQ6XVnVbXQ,196385
|
|
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=LB0Z1wlnoi5kACHNMl2zsZnn5nM9FuxtH7k2csTrx30,48779
|
|
18
|
+
spotifywebapipython/docs/search.js,sha256=wPB2r1T1zbLkTQReh2QjjlqN_CWajgwMqq_HNwoKhj0,9232395
|
|
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=19wPmdPgNZ_9UFd7cPmy0A7PiJ8qPc7BDbgXyFqI0Do,60537
|
|
22
|
+
spotifywebapipython/docs/spotifywebapipython/saappmessages.html,sha256=gRSdL-TvfU0FY-pLXm2YLhVf4XMqUufYfECpnCyaGKw,62358
|
|
23
|
+
spotifywebapipython/docs/spotifywebapipython/sautils.html,sha256=F3KoUVeyU24ywTOvgz5IIUyRYL9X46UyPLDAH1IQh-E,62031
|
|
24
|
+
spotifywebapipython/docs/spotifywebapipython/spotifyapierror.html,sha256=HOled1eapOTPE9pSHa9NC-ygiKUicAxpd2yYwf9C4vQ,48054
|
|
25
|
+
spotifywebapipython/docs/spotifywebapipython/spotifyapimessage.html,sha256=K0oxXrcoEUnDQzVipamnTzoOTWy3tqdA5wJ4igh5Ibo,59210
|
|
26
|
+
spotifywebapipython/docs/spotifywebapipython/spotifyauthtoken.html,sha256=95vFun1G3Rp5BX4W9fT5zyCPkLywGv9n3I8Co2jPfeg,59256
|
|
27
|
+
spotifywebapipython/docs/spotifywebapipython/spotifyclient.html,sha256=BH1RhPQuWh6HmffyXa_Mvf5LTDTLqUzamtV18yz2Xic,1672082
|
|
28
|
+
spotifywebapipython/docs/spotifywebapipython/spotifydiscovery.html,sha256=P8ZckakEwCSdUt-WMhdqG4MFLzGrqsBGmixDkOqerIs,57662
|
|
29
|
+
spotifywebapipython/docs/spotifywebapipython/spotifymediatypes.html,sha256=0vM7c8s9PfTpf3YbalHLgW_Zx1yHlHIgRwwImXjrPpU,51532
|
|
30
|
+
spotifywebapipython/docs/spotifywebapipython/spotifytypeprefixes.html,sha256=OPF2tP14JABVoNsd5D9jQscXaBbYlsxsNvwg27FeVe4,52401
|
|
31
|
+
spotifywebapipython/docs/spotifywebapipython/spotifywebapiauthenticationerror.html,sha256=Y7PozL92r76oSk8z9a9LTH3ysoBJkYdQAt2yru2skdI,52174
|
|
32
|
+
spotifywebapipython/docs/spotifywebapipython/spotifywebapierror.html,sha256=2ujyN56DGOz_NUH-Ne-yNLaNQrSA60vipo0CKLeKr5g,50592
|
|
33
|
+
spotifywebapipython/docs/spotifywebapipython/spotifywebplayertoken.html,sha256=tR9167PzMyagthjiFu42PGYluTyD85gT1wUuou0Xx84,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
|
|
@@ -86,7 +86,7 @@ spotifywebapipython/models/playlisttracksummary.py,sha256=hOBNsK3y1SUMwyNrOJZbcx
|
|
|
86
86
|
spotifywebapipython/models/recommendationseed.py,sha256=uLPZZ_pERIuOXJrjmdqyfE9OwDK2RwOUyMJNlWVwE_o,4107
|
|
87
87
|
spotifywebapipython/models/restrictions.py,sha256=xWLSyjUeYColnbeVmibW2qkUl1VWiPEHAXviEGvhvy0,2387
|
|
88
88
|
spotifywebapipython/models/resumepoint.py,sha256=BTP5lBP48e5791fS1TY30lfdCmeHdZnuPi0-eDxDUHM,2159
|
|
89
|
-
spotifywebapipython/models/searchresponse.py,sha256=
|
|
89
|
+
spotifywebapipython/models/searchresponse.py,sha256=Gm3jW0nLvysg6TJjnAKH5GyX-Vs0GualejVJc9mFFHQ,16289
|
|
90
90
|
spotifywebapipython/models/searchresultbase.py,sha256=KMlqmVX3N4fjOyFtIcs3se1cJ_Kl7qKFr24imF96zq0,9275
|
|
91
91
|
spotifywebapipython/models/show.py,sha256=ETIngRpfHS5GjuHE4t55nbvC1TjXIe2e7wl_kvmBQ04,2322
|
|
92
92
|
spotifywebapipython/models/showpagesaved.py,sha256=jK4YR6NU4uyAIb-B1ww1q8laDhz_BKM8GXUIJLrzkok,2397
|
|
@@ -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.286.dist-info/LICENSE,sha256=KGcc9g0zwqNLcWnSn_ezv1UtKyhMENFhvtixpxUPNsE,1177
|
|
141
|
+
spotifywebapipython-1.0.286.dist-info/METADATA,sha256=K9CTanPOwnt4MG0EPwXe1eY2kbyIXPl45BlH2y1kTSo,11644
|
|
142
|
+
spotifywebapipython-1.0.286.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
|
143
|
+
spotifywebapipython-1.0.286.dist-info/top_level.txt,sha256=jTBLFlijKTesYh2dteAz4vb17qjaqWKeDjpnnwTcrjs,20
|
|
144
|
+
spotifywebapipython-1.0.286.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
{spotifywebapipython-1.0.285.dist-info → spotifywebapipython-1.0.286.dist-info}/top_level.txt
RENAMED
|
File without changes
|