refactor: media types rework, dynamically load preview renderers (#1498)

* feat!: establish new MediaType system

* further additions and changes

* begin making renderers classes, improve text thumbnails

* continue renderer work

* convert most remaining thumbnail renderers to classes

* feat: dynamically load preview renderers

* refactor: use individual ext registration, continued progress

* refactor: finish converting old types to new registration system

* chore: alphabetize lists

* fix: only use search context for searches

* refactor: remove legacy filetype equivalent usages

* feat: add aliases for type groups, used in search

* refactor: use new MediaTypes system in archive renderers

* fix: add missing types

* refactor: remove last uses of legacy media type system

* refactor: move media type search context init to new file

* fix: fix import formatting, add missing aliases

* chore: remove leftover logging

* chore: small tweaks and comments

* refactor: wrap filetype init in function, call in driver

* docs: add and update docstrings

* fix: use all intended fallback icons for each media type

* fix: fix misc issues

* tests: add test cases for media types

* refactor: rename register_all to register_types

* refactor: wrap preview renderer type registrations in methods
This commit is contained in:
Travis Abendshien
2026-09-07 16:06:56 -07:00
committed by GitHub
parent 3e9296c1db
commit 658b7840c4
51 changed files with 2837 additions and 1347 deletions
+4 -3
View File
@@ -21,15 +21,18 @@ dependencies = [
"mutagen~=1.47",
"numpy~=2.2",
"opencv_python~=4.11",
"Pillow>=10.2,<12",
"pillow-heif~=1.5.0",
"pillow-jxl-plugin~=1.3",
"Pillow>=10.2,<12",
"py7zr~=1.1.3",
"pydantic~=2.10",
"pydub~=0.25",
"Pygments~=2.21",
"PySide6==6.11.2",
"rarfile==4.2",
"rawpy~=0.27",
"requests~=2.31.0",
"semver~=3.0.4",
"Send2Trash>=1.8,<3",
"SQLAlchemy~=2.0",
"srctools~=2.6",
@@ -38,8 +41,6 @@ dependencies = [
"typing_extensions~=4.13",
"ujson~=5.10",
"wcmatch==10.*",
"requests~=2.31.0",
"semver~=3.0.4",
]
[project.gui-scripts]