Commit Graph

88 Commits

Author SHA1 Message Date
timmy 4c9096a11b Implement the most basic local plugin isolation possible
Remove modules belonging to local plugins after loading
Remove sys.path entry after loading

This means that multiple local plugins can be installed with the same import path and should work correctly
This does not allow loading a local plugin that has the same import path as an installed plugin
2024-09-15 17:09:33 -07:00
timmy 8709ef301d Fix failing test 2024-08-03 23:11:31 -07:00
timmy a7a9d38428 Make ImageMetadata a dataclass 2024-07-27 19:23:37 -07:00
timmy 0a4aef1a1b Add back apply_archive_info_to_metadata when writing tags 2024-07-27 16:24:29 -07:00
timmy 63832606b1 Add ability to auto-detect double pages
Co-authored-by: Sven Hesse <drmccoy@drmccoy.de>
2024-07-27 16:24:29 -07:00
timmy 6ab3a89a35 Improvements to filerenamer and filename parsing 2024-06-21 20:07:07 -07:00
timmy 69a9566f42 Update all references of saved 'matadata' to 'tags' 2024-06-20 16:47:10 -07:00
timmy 9208a80ab0 Improve typing 2024-04-27 15:45:05 -07:00
timmy 5155762711 Add comicfn2dict as an alternative filename parser 2024-03-03 21:47:31 -08:00
timmy a1e4cec94f Log file path to plugin when it fails to load and remove debug statements 2024-02-11 13:18:03 -08:00
timmy 8ec16528ab Implement local plugins 2024-02-10 21:00:24 -08:00
pre-commit-ci[bot] df762746ec [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-01-29 17:14:26 +00:00
timmy 28be4d9dd7 Improve errors when loading plugins 2023-12-23 23:47:44 -08:00
timmy ceb3b30e5c Always apply the default page list when writing metadata 2023-12-20 21:24:12 -08:00
timmy c3a8221d99 Return an empty object if an archive does not have the requested style 2023-12-18 16:59:31 -08:00
timmy 9c231d7e11 Add better page info handling
Rename set_default_page_list to apply_default_page_list and apply
 during read_metadata
Add a filename attribute to the ImageMetadata class
Mark image_index as required
Always sort the page name list, a comic application will never need the
 unsorted list of names
Assign the first result from get_cover_page_index_list to coverImage in
 CoMet tags
Allow an Archiver to be passed to the ComicArchive constructor
2023-12-18 02:37:34 -08:00
timmy ae5e246180 Add plugin support for metadata 2023-12-17 21:47:43 -08:00
timmy bb67ab009e Ensure that all output goes through a logger before output to the user
Adds an option to output json for CLI options
2023-12-17 15:51:43 -08:00
timmy abfd97d915 Merge branch 'protofolius_issue_scheme' into develop 2023-10-11 17:05:27 -07:00
timmy b6d5fe7013 Improve rar error messages 2023-10-04 19:08:17 -07:00
timmy f6be7919d7 Implement support for protofolius's permission scheme 2023-09-06 04:50:05 -04:00
timmy 548ad4a816 Fix folder archiver
Implement supports_comment and is_writable
Fix function call in ComicArchive for supports_comment
Add a menu option to open a folder as an archive
2023-07-29 00:07:25 -07:00
timmy 31cf687e2f Reduce startup time 2023-06-22 20:11:40 -07:00
timmy 14fa70e608 Separate xlate into separate functions based on return type fixes #454 2023-04-25 15:55:27 -07:00
timmy e70c47d12a Make PyICU optional
Update README.md
2023-04-23 00:48:11 -07:00
timmy c1aba269a9 Revert "Make PyICU optional"
This reverts commit bf55037690.
2023-04-22 21:28:14 -07:00
timmy bf55037690 Make PyICU optional
Fix more locale issues
Update README.md
2023-04-18 21:03:50 -07:00
timmy 2491999a33 Update copyright statements to ComicTagger Authors 2023-02-16 17:23:13 -08:00
timmy 4eb9e008ce Update pre-commit 2023-02-10 00:25:20 -08:00
timmy 2c5d419ee9 Remove legacy rar settings 2023-01-31 00:32:19 -08:00
timmy ad48ad757c Fix plugin order 2023-01-20 19:32:32 -08:00
timmy f6698f7f0a Call load_archive_plugins in ComicArchive __init__ 2023-01-12 17:00:11 -08:00
timmy 50614d52fc Update PyInstaller hook 2023-01-12 15:47:34 -08:00
timmy 712986ee69 Turn comicapi.archivers.* into plugins 2023-01-12 14:45:49 -08:00
timmy 2f7e3921ef Separate archivers into their own packages 2023-01-12 14:45:17 -08:00
timmy c469fdb25e Make 7zip support optional 2022-11-06 08:27:45 -08:00
timmy 4034123e6d Fix rar tests again 2022-10-02 21:47:07 -07:00
timmy 4b6d35fd3a Fix CBL tagging 2022-10-02 19:33:12 -07:00
timmy bc25acde9f Fix sorting
Switch natsort to use os_sorted
Remove directories when returning a list of files in a comic
Update tests to account for '!cover.jpg'
2022-09-10 19:48:50 -07:00
timmy 03677ce4b8 Fix renaming
Make ComicArchive.path always absolute
Fix unique_file not preserving the extension
Fix incorrect output when renaming in CLI mode
Fix handling of platform when renaming
2022-08-19 20:20:37 -07:00
timmy 77a53a6834 Update dependencies
Includes changes from pyupgrade
2022-08-10 20:55:46 -07:00
timmy f2a68d6c8b Fix rename and add test 2022-07-29 22:05:03 -07:00
timmy 40314367c9 Improve formatting and consistency 2022-07-18 12:17:13 -07:00
timmy a3e1153283 Improve rar executable handling
Show a message when a CBR/RAR archive is added and rar is not available
Ensure that an empty value for the rar executable becomes 'rar'
2022-07-10 15:21:15 -07:00
timmy ccb461ae76 Improve rename
Implement rename on ComicArchive
Simplify unique_file with pathlib
Fix issues during renaming and simplify with pathlib
Allow exporting as zip to export 7-zip archives
2022-07-09 23:13:18 -07:00
timmy 68efcc74fb Updates
Use casefold in place of lower
Make lint job fail if errors are detected
Use join instead of utils.list_to_string
Simplify get_recursive_filelist with the glob library
Fix handling of un-parseable numbers in xlate
2022-07-01 16:22:01 -07:00
timmy ff73cbf2f9 Fix small issues
Fix spelling errors
Remove Redundant exception types
Remove dead code
Change the forum link to point to GitHub discussions
2022-06-07 20:22:33 -07:00
timmy ce693b55f1 Fix file write semantics for Windows 2022-06-07 12:53:27 -07:00
timmy 04409a55c7 Handle more exceptions
Handle exceptions during metadata save fixes #309
Handle exceptions during metadata read fixes #126 and #309
2022-06-06 20:04:51 -07:00
timmy e8fa51ad45 Ensure comicapi is as consistent as possible 2022-06-02 18:32:33 -07:00