Summary
- FIXED/MODIFIED: [SLM] Videos/Channels Search and Bookmarking
- BUMP: [SLM/PLM] Versions for stream processing sub-programs
- FIXED: [SLM] Get new episodes could misfire
- MODIFIED: [SLM] Same item in 'Feed' now appears on single line
- NEW: [SLM] Auto-hide when Bookmarking
- FIXED: [MTM] Various Reports Issues
FIXED/MODIFIED: [SLM] Videos/Channels Search and Bookmarking
Recent changes to YouTube broke most of the Videos/Channels Search and Bookmarking functionality. Mostly, it was around actions taken by the helper application youtubesearchpython, which is not being actively maintained. In the future, this will be replaced with youtubescraper, which should unlock many other future functions, like filtering out shorts. In the meantime, though, yt_dlp has been added as the secondary "backup" method and youtubesearchpython has been mostly deprecated except for one backup function for getting video metadata. Also, with this change, a lot of expanded functionality has been added, including:
-
Searching for videos now has no limit on the number of items that can be returned. Previously, this was capped at 100.
-
*Importing a playlist will get all videos no matter how large that playlist is. Previously, this only got the first 100 listed. -
*Getting videos from a channel either by searching or a feed will now return all uploads. Previously, this was only the 100 most recent. Due note that this will most likely result in a large number of new videos being available and require substantial processing time. -
Searching for channels has no limits whatsoever. Previously, this was capped at the first 100 results. However, there is an open issue that you cannot limit this at all, at least not with
yt_dlp. As such, searching for channels will always give the maximum results.
* This feature is in flux due to dependencies and may still be locked the previous limitations.
Beyond this, there were a number of related small code modifications for efficiency and future proofing. All together, this constitutes a continuation, but not a resolution of, #76.
BUMP: [SLM/PLM] Versions for stream processing sub-programs
The sub-programs yt-dlp and Streamlink have been bumped to the latest releases in order to avoid any potential issues, especially with YouTube, and to gain some additional functionality.
FIXED: [SLM] Get new episodes could misfire
The "get new episodes" function could miss episodes and videos in a playlist under certain conditions, notably when a new video was added to a playlist, and especially when it had the same name as an existing video. A fix has been implemented to make sure this will not be an issue going forward.
MODIFIED: [SLM] Same item in 'Feed' now appears on single line
Using the 'Feed' function, the same program would appear on multiple lines if it came from different sources. Although SLM already handled the issue on the backend and would only bookmark one, it still looked poor having them separate and caused some confusion. This update makes the items appear together with all its offers at once.
Do not that this is backwards and forwards compatible. That means that existing items in your feed will automatically combine, and if an additional source appears it will also combine with that item.
This resolves #104.
NEW: [SLM] Auto-hide when Bookmarking
When bookmarking movies, TV shows, videos, and video channels, along with "Execute Visible" you can now instead select "+ Hide 'None' Action". As expected, anything visible that has a "Select Action" of "None" will automatically be set to "Hide" instead. This means you can hide programs en mass, while also performing regular actions, and no longer need to individually select "Hide" on each item.
FIXED: [MTM] Various Reports Issues
In 'Reports and Queries', sports programs were always showing as one episode when they didn't have season/episode data. That has been resolved and now they are showing up as unique.
Additionally, if a Movie was available from multiple source (i.e., a file and a Stream Link), it would show up for each of those. Now, the Movie only appears once. Note that the solution here was basically only to accept whichever one comes up first in the data instead of the average method used for episodes. Although the latter is a possibility, the effort is not worth the gain, at least not for now.
This resolves #103.