Also agreed about the annotation import, this really helps for type annotations. I started working on a change to update every module, but realized that sed isn't up to the task. (I know exactly where I want to insert from __future__ import annotations in every file: "Immediately after the first line that ends with """ or ''', unless I encounter a line that starts with from or import, and then immediately before that line." But that's complex enough that I'll either have to better learn awk or do...
Oh, I also added from __future__ import annotations lines to the top of a couple of files, to simplify the use of type annotations. Honestly, I'd suggest doing that for all mcomix modules — we did in pydot, and it allowed us to make huge improvements to our typing almost immediately. Having that import as the first source line of a module (only place it's legal) converts all annotations in the file into implicit strings which are ignored by the interpreter while parsing the source and at runtime....
With this change, the string fitz appears in only 5 places in the repo: $ cd /path/to/mcomix $ find ./ -iname \*.py -print0 | xargs -0 -n100 grep -i fitz ./mcomix/archive/pdf_multi.py: import fitz as pymupdf ./mcomix/archive/pdf_multi.py: import fitz_old as pymupdf ./mcomix/archive/pdf_multi.py: _version_attr: str = getattr(pymupdf, "pymupdf_version", pymupdf.VersionFitz) ./mcomix/archive/native_pdf/child.py: import fitz as pymupdf ./mcomix/archive/native_pdf/child.py: import fitz_old as pymupdf...
PDFMulti: Call a pymupdf a pymupdf
PDFMulti: Call a pymupdf a pymupdf
For PDFs with rotated pages that extract (or are rendered) as PNGs, that's correct. For PDFs with rotated pages that extract embedded JPEG images, any version of GdkPixbuf should support this change. If the GdkPixbuf version is too old, rotated pages (a fairly uncommon thing in PDFs) extracted as PNGs simply won't display rotated — other than that, everything will work normally. (There's also the issue that the thumbnails currently display unrotated, but that's an MComix bug that occurs with all...
Native PDF: Embed page rotation as EXIF
Native PDF: Embed page rotation as EXIF