Add get_or_create_playlist
and follow_playlist
methods to RemoteAPI
and related changes
#91
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added
.RemoteAPI.get_or_create_playlist
method for only creating a playlist when it doesn'talready exist by name. Gets the existing playlist otherwise
.MusifyCollection.outer_difference
method to cover the logic previously handledby the mislabelled :py:meth:
.MusifyCollection.outer_difference
method.RemoteDataWrangler
and its implementations now handle URL objects from theyarl
package.RemoteAPI.follow_playlist
methodChanged
.RemoteItemChecker
now uses the new :py:meth:.RemoteAPI.get_or_create_playlist
methodwhen creating playlists to avoid creating many duplicate playlists which could have lead to playlist
creation explosion in repeated uses. The processor also accounts for any items that may have existed
in the playlist before it was run and discounts them from any matches.
.RemoteItemChecker
also uses the new :py:meth:.RemoteAPI.follow_playlist
methodwhen creating playlists to ensure that a user is following the playlists it creates to avoid 'ghost playlist' issue.
.SpotifyAPI.create_playlist
now returns the full response rather than just the URL of the playlist.Fixed
.MusifyCollection.intersection
and :py:meth:.MusifyCollection.difference