As reported by KajeArch on GitHub on issue #3
(https://github.com/swolegoal/squid-dl/issues/3), I was not correctly
handling playlists named with characters invalid for a file path. As
it turns out, I was using the wrong helper function from yt_dlp.utils.
I changed all the calls from sanitize_path(), a function made to clean
up Windows paths to the more fully-featured sanitize_filename(). If any
Windows users notice any bad behavior after this change, please feel
free to make a ticket at:
https://github.com/swolegoal/squid-dl/issues/new/choose
Now you can run your workers through a SOCKS proxy with the -S flag!
Authentication at the command-line through fully-qualified URLs as well
as interactive authentication are now supported.
I may revert the try/except block in LinodeProxy's constructor should it
be found to be non-advantageous in further testing. Performance in
creating large quantities of Linode proxies is still dog slow, may use
concurrent.futures to speed this up in the future (hah) -- this will
require a major rework of the downloader main().
Sometimes YoutubeDL()'s extract_info can't retrieve a video's metadata
(e.g. if the video has been privated or age-restricted) and ends up
making an empty or incomplete entry on the playlist's info_dict.
Catching this TypeError exception fixes workers from crashing and
burning when they encounter these empty or incomplete entries.