Releases: AndreasVolkmann/spotify-reddit
Robustness
Bug fix: Single results not filtered correctly
Not all filters were applied to single track results, causing wrong tracks to appear in the lists.
Better search, run specific lists, performance improvements
The search now correctly identifies the alternate dash —
as a common dash, enabling more songs to be found.
You can now run only select lists from the config.yml instead of running all.
Use the --use-lists
argument or corresponding env var to set a comma-separated list of playlist ids that should be executed. If not specified, all will be run.
Reddit retry support
Fixes timeouts from the reddit api by applying a retry mechanism.
Improved track selection
The track selection algorithm has been fine-tuned and yields better results with less false positives.
Internal refactoring.
No more User ID
The configuration no longer requires a user id to be specified.
This was changed in the Spotify API and is now reflected accordingly.
Everything else works as before.
Custom Scheduling
https://github.com/AndreasVolkmann/spotify-reddit/milestone/8?closed=1
Scheduling
As a solution to the limited Heroku Scheduler frequency options, one can specify an execution schedule in the config.
Use schedule
to define when the lists should be updated. If the current date doesn't match, the program won't run.
Example config:
userId: xyz
...
schedule:
# Only execute on Mondays
dayOfWeek: MONDAY
# Only execute on the first day of the month, for example 2018-06-01
dayOfMonth: 1
Heroku support + Date Filter
https://github.com/AndreasVolkmann/spotify-reddit/milestone/7?closed=1
Date Filtering
Sometimes you want to only add tracks that match a certain date criteria.
The dateFilter
can be declared at playlist level and supports different ways of checking a track's release date.
Example config:
playlists:
- id: xyz
...
dateFilter:
# Tracks that have been released since the beginning of 2018
startingFrom: 2018-01-01
# The release date can not exceed the current date minus the specified distance
# Given a maxDistance of 1 month and 1 year, a track may not be older than 1 month and 1 year
# Given the current date of 2018-06-16, include only tracks that are released since 2017-05-16
maxDistance:
month: 1
year: 1
Tag filtering, private playlists, exact Spotify link
https://github.com/AndreasVolkmann/spotify-reddit/milestone/6?closed=1
Tag Filtering
Some subreddits make extensive use of tags, which basically means anything that is captured in parenthesis ()
[]
.
The tagFilter
can be declared at playlist level and is used to filter out reddit posts based on their tags.
Example config:
playlists:
- id: xyz
...
tagFilter:
# Tag must be equal
# Example post that would be included: [FRESH] Luca Brasi - Clothes I Slept In
includeExact:
- FRESH
# Tag contains
# Example post that would be included: Foghorns - All Glands on Deck (indie/folk/punk)
include:
- punk
# Tag must not be equal
# Example post that would be excluded: [Album] Maps & Atlases - Lightlessness Is Nothing New
excludeExact:
- Album
# Tag must not include
# Example post that would be excluded: [FRESH VIDEO] Preoccupations - Decompose
exclude:
- video