Python 3.11 is now required, old versions were causing unpredictability in tests. (Sanic does not yet
support 3.12)
Sanic has been upgraded to 23.6.0, which is the latest version that avoids this bug:
https://github.com/sanic-org/sanic/issues/2921
New strategy for multiprocessing is to create all multiprocessing tools in one process, then fork
to other processes. The previous strategy was to declare multiprocessing tools at the top of every
file, or wherever they were needed at import/creation. Now all multiprocessing tools are attached to the
app.shared_ctx. This means `api_app` is imported in many, many places.
This forced a change in how the DownloadManager works. Previously, it would continually run
download workers which would pull downloads from a multiprocessing.Queue. Now, a single worker checks
for new downloads and sends a Sanic signal.
Flags have been reworked to use the `api_app`. I removed the `which` flag functionality because the
`which` are called at import and needed their own multiprocessing.Event.
* Converting OTP PDF generation to Latex to avoid installing wkhtmltopdf.
* Creating temporary_directory_path to simplify creating a TemporaryDirectory of type Path.
* Removing author
* Linting
* Installing texlive-latex-extra for more readable font.
* Raspberry pi has to archive locally.
Signed-off-by: Roland <roland@learningselfreliance.com>
commit 1663e1be9e
Author: Roland <roland@learningselfreliance.com>
Date: Thu Dec 30 19:37:25 2021 -0700
Setting downloader to video when a channel schedules it's videos for download.
commit a6811f9e87
Author: Roland <roland@learningselfreliance.com>
Date: Thu Dec 30 19:33:27 2021 -0700
Setting channel downloader when spreading channel downloads.
commit b63c8f132a
Author: Roland <roland@learningselfreliance.com>
Date: Thu Dec 30 19:28:53 2021 -0700
Fixing DownloadManager.kill
commit 120ce7cd2c
Author: Roland <roland@learningselfreliance.com>
Date: Thu Dec 30 19:10:12 2021 -0700
Fixing OTP api urls.
commit d3b985241b
Author: Roland <roland@learningselfreliance.com>
Date: Thu Dec 30 19:07:48 2021 -0700
Channel Cancel button does not submit form.
commit 9d1a0ecd55
Author: Roland <roland@learningselfreliance.com>
Date: Thu Dec 30 19:00:53 2021 -0700
A Channel without an existing Download cannot be downloaded.
commit e7c920f382
Author: Roland <roland@learningselfreliance.com>
Date: Thu Dec 30 18:41:02 2021 -0700
Fixing typing.
commit d56c8fde24
Author: Roland <roland@learningselfreliance.com>
Date: Thu Dec 30 18:36:02 2021 -0700
Testing bad downloader param.
commit e3c57ef674
Author: Roland <roland@learningselfreliance.com>
Date: Thu Dec 30 18:31:35 2021 -0700
Adding __json__ to Downloader for sending them to the FE. Hiding ChannelDownloader because it will be handled specifically.
commit 047b507119
Author: Roland <roland@learningselfreliance.com>
Date: Thu Dec 30 18:20:37 2021 -0700
Downloader can be specified by the user.
commit 4a169ba43c
Author: Roland <roland@learningselfreliance.com>
Date: Tue Dec 28 18:37:30 2021 -0700
Download info a set in create_downloads.
commit 8778d53fa1
Author: Roland <roland@learningselfreliance.com>
Date: Tue Dec 28 18:21:43 2021 -0700
Fixing Download.info_json name.
commit b28bacfd5b
Author: Roland <roland@learningselfreliance.com>
Date: Tue Dec 28 18:17:53 2021 -0700
Downloader names are in the class, not in the init.
commit f5ce952da0
Author: Roland <roland@learningselfreliance.com>
Date: Tue Dec 28 18:07:42 2021 -0700
Download info can be saved during the download process and can be used by the Downloader.