dangerzone/dangerzone
deeplow 0a099540c8
Stream pages in containers: merge isolation providers
Merge Qubes and Containers isolation providers core code into the class
parent IsolationProviders abstract class.

This is done by streaming pages in containers for exclusively in first
conversion process. The commit is rather large due to the multiple
interdependencies of the code, making it difficult to split into various
commits.

The main conversion method (_convert) now in the superclass simply calls
two methods:
  - doc_to_pixels()
  - pixels_to_pdf()

Critically, doc_to_pixels is implemented in the superclass, diverging
only in a specialized method called "start_doc_to_pixels_proc()". This
method obtains the process responsible that communicates with the
isolation provider (container / disp VM) via `podman/docker` and qrexec
on Containers and Qubes respectively.

Known regressions:
  - progress reports stopped working on containers

Fixes #443
2024-02-06 19:42:33 +00:00
..
conversion Stream pages in containers: merge isolation providers 2024-02-06 19:42:33 +00:00
gui Adds file formats: epub svg bmp pnm bpm ppm 2024-01-31 19:58:48 +00:00
isolation_provider Stream pages in containers: merge isolation providers 2024-02-06 19:42:33 +00:00
__init__.py Remove separate dangerzone-container entry point, make CLI work with it, and refactor container code to be more DRY 2021-08-04 16:21:00 -07:00
args.py Update typing hints for Mypy 1.1.1 2023-03-27 15:19:43 +03:00
cli.py Use containers in Qubes until Beta 2023-07-26 14:02:06 +01:00
document.py Sanitize filenames before logging them 2023-08-01 14:43:48 +03:00
errors.py Prevent adding duplicate documents 2022-11-30 12:49:18 +00:00
logic.py Add logic to handle documents removal 2023-07-25 15:00:12 +01:00
settings.py Get default settings without Settings instance 2023-07-24 14:22:26 +03:00
util.py Add non-blocking read utility 2023-09-20 17:14:24 +03:00