ytdl-sub/src/ytdl_sub
Jesse Bannon 5e9472986a
[FEATURE] Enhance music video presets using specialized map syntax (#808)
Enhances the music video presets by supporting the following syntax:

`subscriptions.yaml`
```
__preset__:
  overrides:
    music_video_directory: "/music_videos"

# Choose between Jellyfin/Kodi/Plex Music Videos preset:
#   - Plex Music Videos:
#   - Jellyfin Music Videos:
#   - Kodi Music Videos:
#
"Plex Music Videos":

  = Pop:  # Sets genre tag to "Pop"
    "Rick Astley": "https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc"
    "Michael Jackson": "https://www.youtube.com/playlist?list=OLAK5uy_mnY03zP6abNWH929q2XhGzWD_2uKJ_n8E"

  = Rock:
    # Prefixing with '+' puts the subscription into 'map-mode'.
    # Music video presets in map-mode support grouping videos into different
    # categories, which get set on the album field.
    #
    # URLs can either be strings, or maps that can overload title, year, date
    "+ Guns N' Roses":
      Music Videos:
        - "https://www.youtube.com/playlist?list=PLOTK54q5K4INNXaHKtmXYr6J7CajWjqeJ"
      Concerts:
        - title: "Live at The Ritz - New York City"
          year: "1988"
          url: "https://www.youtube.com/watch?v=OldpIhHPsbs"
        - title: "Live at The Hollywood Bowl"
          date: "2023-01-11"
          url: "https://www.youtube.com/watch?v=Z7hutGlvq9I"
```
The 'map-mode' (denoted by `+`) lets you specify a map of music video categories. Under each category, a URL can be specified as-is or with additional metadata (title, year/date, url).

Music videos and concerts, especially older ones, are typically uploaded by random users with inconsistencies in their titles. This syntax aims to make it easy to specify individual URLs with the ability to overwrite their title and year, and group them by category.
2024-06-06 11:50:33 -07:00
..
cli [DEV] Bump black from 22.3.0 to 24.4.2 (#973) 2024-04-27 15:46:47 -07:00
config [FEATURE] Allow YAML maps and lists in overrides, convert to script format (#956) 2024-06-02 20:02:48 -07:00
downloaders [DEV] Bump pylint from 2.13.5 to 3.1.0 (#972) 2024-04-28 10:40:15 -07:00
entries [FEATURE] Enhance music video presets using specialized map syntax (#808) 2024-06-06 11:50:33 -07:00
plugins [DEV] Bump black from 22.3.0 to 24.4.2 (#973) 2024-04-27 15:46:47 -07:00
prebuilt_presets [FEATURE] Enhance music video presets using specialized map syntax (#808) 2024-06-06 11:50:33 -07:00
script [BUGFIX] Do not run all branches of if functions in scripts (#999) 2024-06-03 15:02:59 -07:00
subscriptions [FEATURE] Enhance music video presets using specialized map syntax (#808) 2024-06-06 11:50:33 -07:00
thread [BACKEND] Add generic.collection download strategy, use it for soundcloud, youtube channel/playlist (#230) 2022-09-14 15:36:14 -07:00
utils [FEATURE] Enhance music video presets using specialized map syntax (#808) 2024-06-06 11:50:33 -07:00
validators [FEATURE] Allow YAML maps and lists in overrides, convert to script format (#956) 2024-06-02 20:02:48 -07:00
ytdl_additions [BUGFIX] Prevent corrupt writes to download archive (#983) 2024-06-02 10:53:19 -07:00
__init__.py [DOCKER] GUI Docker image using Code-Server (#774) 2023-10-22 01:17:09 -07:00
main.py [FEATURE] --match flag to only run subset of subscriptions (#881) 2024-01-08 13:37:07 -08:00