[FEATURE] Extend subscription syntax (790)
Extends the subscription.yaml syntax at the cost of introducing a breaking change.
New Syntax
Mix-n-match presets and indent variables
Can mix/match presets and indent override variables.
Uses presets TV Show, Only Recent and assigns Kids, TV-Y to subscription_indent_1 and _2
TV Show | = Kids | = TV-Y | Only Recent:
"Jake Trains": "https://..."
Subscriptions with list-value support
TV Show | = Kids | = TV-Y | Only Recent:
"Jake Trains":
- "https://url.1..." # Assigns to subscription_value and subscription_value_1
- "https://url.2..." # Assigns to subscription_value_2
Subscriptions with override-keys support
TV Show | = Kids | = TV-Y | Only Recent:
"~Jake Trains": the ~ means "all keys underneath get assigned as override variables"
url: "https://url.1..." # Assigns to url
url2: "https://url.2..." # Assigns to url2
Breaking Changes
In the TV show subscriptions example (https://github.com/jmbannon/ytdl-sub/blob/master/examples/tv_show_subscriptions.yaml), it had
TV Show Full Archive:
Sets "Kids" for genre, "TV-Y" for content rating
= Kids | TV-Y:
"Jake Trains": "https://www.youtube.com/JakeTrains"
"Kids Toys Play": "https://www.youtube.com/KidsToysPlayChannel"
This must be changed to
TV Show Full Archive:
Sets "Kids" for genre, "TV-Y" for content rating
= Kids | = TV-Y: Each indent variable assignment must have an = before it
"Jake Trains": "https://www.youtube.com/JakeTrains"
"Kids Toys Play": "https://www.youtube.com/KidsToysPlayChannel"