Commit Graph

88 Commits

Author SHA1 Message Date
Timmy Welch
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 Welch
8709ef301d Fix failing test 2024-08-03 23:11:31 -07:00
Timmy Welch
a7a9d38428 Make ImageMetadata a dataclass 2024-07-27 19:23:37 -07:00
Timmy Welch
0a4aef1a1b Add back apply_archive_info_to_metadata when writing tags 2024-07-27 16:24:29 -07:00
Timmy Welch
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 Welch
6ab3a89a35 Improvements to filerenamer and filename parsing 2024-06-21 20:07:07 -07:00
Timmy Welch
69a9566f42 Update all references of saved 'matadata' to 'tags' 2024-06-20 16:47:10 -07:00
Timmy Welch
9208a80ab0 Improve typing 2024-04-27 15:45:05 -07:00
Timmy Welch
5155762711 Add comicfn2dict as an alternative filename parser 2024-03-03 21:47:31 -08:00
Timmy Welch
a1e4cec94f Log file path to plugin when it fails to load and remove debug statements 2024-02-11 13:18:03 -08:00
Timmy Welch
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 Welch
28be4d9dd7 Improve errors when loading plugins 2023-12-23 23:47:44 -08:00
Timmy Welch
ceb3b30e5c Always apply the default page list when writing metadata 2023-12-20 21:24:12 -08:00
Timmy Welch
c3a8221d99 Return an empty object if an archive does not have the requested style 2023-12-18 16:59:31 -08:00
Timmy Welch
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 Welch
ae5e246180 Add plugin support for metadata 2023-12-17 21:47:43 -08:00
Timmy Welch
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 Welch
abfd97d915 Merge branch 'protofolius_issue_scheme' into develop 2023-10-11 17:05:27 -07:00
Timmy Welch
b6d5fe7013 Improve rar error messages 2023-10-04 19:08:17 -07:00
Timmy Welch
f6be7919d7 Implement support for protofolius's permission scheme 2023-09-06 04:50:05 -04:00
Timmy Welch
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 Welch
31cf687e2f Reduce startup time 2023-06-22 20:11:40 -07:00
Timmy Welch
14fa70e608
Separate xlate into separate functions based on return type fixes #454 2023-04-25 15:55:27 -07:00
Timmy Welch
e70c47d12a
Make PyICU optional
Update README.md
2023-04-23 00:48:11 -07:00
Timmy Welch
c1aba269a9
Revert "Make PyICU optional"
This reverts commit bf55037690.
2023-04-22 21:28:14 -07:00
Timmy Welch
bf55037690
Make PyICU optional
Fix more locale issues
Update README.md
2023-04-18 21:03:50 -07:00
Timmy Welch
2491999a33
Update copyright statements to ComicTagger Authors 2023-02-16 17:23:13 -08:00
Timmy Welch
4eb9e008ce
Update pre-commit 2023-02-10 00:25:20 -08:00
Timmy Welch
2c5d419ee9
Remove legacy rar settings 2023-01-31 00:32:19 -08:00
Timmy Welch
ad48ad757c
Fix plugin order 2023-01-20 19:32:32 -08:00
Timmy Welch
f6698f7f0a
Call load_archive_plugins in ComicArchive __init__ 2023-01-12 17:00:11 -08:00
Timmy Welch
50614d52fc
Update PyInstaller hook 2023-01-12 15:47:34 -08:00
Timmy Welch
712986ee69
Turn comicapi.archivers.* into plugins 2023-01-12 14:45:49 -08:00
Timmy Welch
2f7e3921ef
Separate archivers into their own packages 2023-01-12 14:45:17 -08:00
Timmy Welch
c469fdb25e
Make 7zip support optional 2022-11-06 08:27:45 -08:00
Timmy Welch
4034123e6d
Fix rar tests again 2022-10-02 21:47:07 -07:00
Timmy Welch
4b6d35fd3a
Fix CBL tagging 2022-10-02 19:33:12 -07:00
Timmy Welch
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 Welch
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 Welch
77a53a6834 Update dependencies
Includes changes from pyupgrade
2022-08-10 20:55:46 -07:00
Timmy Welch
f2a68d6c8b Fix rename and add test 2022-07-29 22:05:03 -07:00
Timmy Welch
40314367c9 Improve formatting and consistency 2022-07-18 12:17:13 -07:00
Timmy Welch
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 Welch
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 Welch
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 Welch
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 Welch
ce693b55f1 Fix file write semantics for Windows 2022-06-07 12:53:27 -07:00
Timmy Welch
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 Welch
e8fa51ad45 Ensure comicapi is as consistent as possible 2022-06-02 18:32:33 -07:00