* Add generate_hashes API endpoint
It allows generating phash, pixel hash, and sha256 file hash for files not yet in hydrus
* At least give the sha256 hash of any file
* Tweak how temp_file_info is used
* Add check to ensure path is a file
* Add same isfile check to add_file
* Add docs for generate_hashes api
* Restore original handling of temp_file_info so temp file cleanup happens
* Krita full preview support
Mark krita files as viewable
Use same data that's used for thumbnails to generate full preview
* Parse maindoc.xml instead of doing regex magic
This should fix getting dimensions wrong for some files
* Use direct PIL image loading for Krita thumbs
* Remove unused HydrusArchiveHandling.ReadSingleFileFromZip
* Update Krita in filetype docs
---------
Co-authored-by: Paul Friederichsen <floogulinc@gmail.com>
Co-authored-by: Hydrus Network Developer <hydrus.admin@gmail.com>
* Reorganize header to mime stuff
* Fix changes to headers and mime stuff
* Add djvu file support
* Change function order in HydrusFileHandling
* Fix some spacing
* Fix colors for PSDs
`HydrusImageHandling.DequantizeNumPyImage` should only be applied to images that are BGR (eg those directly from opencv). PIL produces RGB images already so this was inverting the colors on PSD thumbnails. Instead we use `HydrusImageHandling.DequantizePILImage` to handle edge cases.
* Dequantize the PSD PIL image before resizing
* Start on blurhash
* More blurhash db stuff
* Refactor GenerateThumbnailBytes to add GenerateThumbnailNumPy
* Add blurhash gen to import
* Add blurhashes to db
* Add blurhash to file metadata api
* Add API docs for blurhash
* Make sure we regen blurhash after thumb regen
* Add thumbnails for PDFs
* Update HydrusPDFHandling.py
* Handle password protected and otherwise unsupported PDFs
* Fix DPI calculation
* Use new exception for encrypted PDFs
* Formatting
* Update filetype docs
* Add notes about PDF handling to filetypes doc
* Handle scale to fill thumbnails for PDFs, ROUND THE RESOLUTION
* Fix typo in running from source
* Add new page listing filetypes
* Add a return
* Enable searching docs when offline
* Add last updated date to docs pages and edit buttons when hosted
* Add mkdocs-git-revision-date-localized-plugin plugin to gh actions
* Correction
* Update publish_docs gh actions
* Exclude index.md from last update dates
* flv files are actually viewable in hydrus
* Add note about how Hydrus determines filetypes
Hydrus now always uses the PSD resolution fallback when psd-tools fails to open a PSD instead of just when psd-tools isn't available. Also when the fallback is used for either PSD resolution or PSD thumbnail generation it is logged.