Description
As mentioned in Discord, this feature is to provide another option in the duplicate-in-other-playlists functionality. Currently, the logic is to skip over the video if it exists in another playlist (of the same channel).
This feature is to add the ability to create HARDLINKs instead, pointing to the original video. The idea is to keep the video showing up in both the all "Videos" standard playlist, as well as all other playlists that video is listed in (within the same channel, for now).
In this proposal:
- all videos would be pulled into a single
S00.Videos
playlist normally. - for each
Sxx.Playlist
, we would create a HARDLINK for the video/audio, back to the originalS00.Videos
video. No videos will ever exist in the playlists in this configuration (see below as to why). - the HARDLINK would be renamed to match the Sxx numbering concept, at a minimal.
- for subscriptions that point straight to a playlist URL only, ignore the Hardlink option if set.
To figure out:
- How do we want to handle videos listed in a playlist, that belong to another channel?
- What if we aren't pulling in that other channel?
- What if we are pulling in that other channel?
- I don't know if it makes sense to implement this Hardlink Duplicates feature, without the example in Add
unique_indexer
plugin to create indices for unique values #767 that shows how to possibly pull in all playlists automagically. Need others to flush out use-cases for "By Date" and what this would do?
Implementation:
- new `HARDLINK_DUPLICATES_IN_PLAYLISTS config option (defaults to False for backwards compatibility).
- (for @jmbannon to point us to the relevant duplicating/skipping code).
- possibly requires Add
unique_indexer
plugin to create indices for unique values #767 example plugin for automating playlist downloads, with a newOutput
format.
FAQs:
Why a hardlink, and not a symbolic link? Because Plex and Emby (and possibly others) do not follow symlinks. Whereas with a hardlink, they have no idea! :)
Why only hardlinks in all playlists for a channel? The reason is because channel authors have free reign to organize, format, rename, and manipulate playlists at will - and they do. I have several subscriptions of authors that spend hours keeping an extremely clean Playlist organizations... but there are also several channels that the author is just, well, sloppy in the playlist edits. By hard-coding a rule in this setup of hardlink, it means one could simply wipe-out the playlists and let them re-populate to pull in all the updates. Because it's nearly impossible to track and update playlists, as I've seem them completely deleted and new playlists created in the same name (different IDs) and all sorts of changes over the years.
Windows doesn't support links! Actually, Windows has supported Hardlinks since the Vista era (and I've used them plenty).