new on_find_partial_downloads_done() hook for update_feeds_on_startup extension.
It's the only way to prevent a race condition between adding downloads
from new episodes when set to download immediatly and adding back
partial downloads.
otherwise partial downloads cancelled on restart can't be
downloaded again until gPodder restart. Because they were
not run from a DownloadQueueWorker, which would have called
recycle() after run().
The number of episodes shown in the ‘pill boxes’ in the podcast list
are now formatted like ‘12,345’ or ‘12 345’ (depending on the locale),
instead of ‘12345’.
e.g. https://www.youtube.com/channel/UCYJ61XIK64sp6ZFFS8sctxw
one can downloads tens of pages, but already first 2 pages have 200+ episodes.
Also 3 episodes in the current first 222 are duplicates, causing DB constraint
error on insertion (e.g. ANNO 1800 ... 074) if not filtered
- move .partial.mp4 file back to .partial
- add fallback format when retrieving episode infos in case requested
format is not available and catch DownloadError
- download progress adds previous downloaded format size otherwise
it would be downloading 0 to 380MB then back to 0 to 23MB when
downloading 137+140
When a string is changed (marking the translation for the old string
as ‘fuzzy’), the original string is now kept for comparison. This
makes life much easier for the translators, as they can easily see what
has changed in the string, and adjust their translation accordingly.
(Modern PO editors show the changes as a coloured (word) diff.)
see https://gallica.bnf.fr/services/engine/search/opds?
operation=searchRetrieve&version=1.2&exactSearch=false
&query=dewey%20all%20%225%22%20and%20dc.format%20all%20%22epub%22
&filter=provenance%20all%20%22bnf.fr%22
On Windows 7, the Powershell notifications that gPodder 3.x is using are never deleted from the desktop. The notification icons permanently stay visible in the taskbar system tray, untill your manually roll over them with the mouse cursor.
Changing the subprocess from "run" to "Popen" so the fuction is non-blocking.
Non Win 10 Windows script will create it's own time delay, after which it removes the taskbar system tray icon, and then deletes it's own script file.
Removing the Python delete file, and have the Powershell script delete itself when it's done, because we want the script to be non-blocking and be removed from the temp folder after use.
I have not tested on Win 10 as I use Win 7, so I don't know if Win 10 has the same issues with Powershell permant taskbar system tray icons. So this fix is just for <Win10 script notifications.
- adding new tasks to download queue manager is delayed in
download_episode_list() so new tasks are in INIT state.
- download_list_update() will disable UI refresh when it sees no task
in queued downloading or synchronizing state.
So after download_episode_list(), there is a race condition between
the first execution of download_list_update() and queue_task()
Fixed by calling enable_download_list_update() after adding tasks to the
download queue manager.
Also queue_tasks() now registers all tasks at once instead of one by
one.
YouTube full size 900x900 image was never being selected, images were always 100x100, due to HTMLParser interating till all matches were found. 900x900 was found first, then 100x100px image, which was the final result. Now all results are saved in a list, the first find is the selected result.
YouTube channel description and link were not being discovered, or saved to the sqlite DB. Desc is now retreived from the YouTube channel webpage in the same manner as the cover image link, and the link is the YouTube channel URL.
Error occurs when saving changes to sqlite DB when desc is None, as SQL field "description" is set "NOT NULL" in table "podcasts". Desc must be empty string not None.