Releases: zachstultz/komga-cover-extractor
Releases · zachstultz/komga-cover-extractor
v2.5.6 - Hotfix
Changes:
- Fixed failed compression of discord cover output. 6fdb602
v2.5.5
New:
- Added
output_covers_as_webp
option via cli or docker. (automatically swaps out your existing covers, and vice versa) 6599c87 f6b68ad- CLI:
--output_covers_as_webp="True"
- Docker: (see example usage)
- CLI:
Changes:
v2.5.4
Changes:
- Improved parsing and renaming of chapter files. 2483533
- Changed discord docker text. 2483533
- Renamed
check_if_file_is_transferred_by_size()
tois_file_transferred()
2483533 - Renamed
get_all_files_recursively_in_dir()
toget_all_files_in_directory
2483533 - Renamed all group(0) usage to group(). 2483533
- Reduced usage of
set_num_as_float_or_int()
2483533 - Reduced logic and loops when renaming and reorganizing the file name. 2483533
- Cleaned up unnecessary embed array usage around the script. 2483533
- Got rid of array usage in
get_release_number_cache()
2483533 - Conversion to a float or int is now done in the number parser itself. 2483533
- Added logic to remove the starting bracket in a series name with a space after it. 2483533
- Chapters will now skip pulling internal metadata for renaming. 2483533
- One-shot renaming now respects the user-defined zfill values. 2483533
- Added no subfolders requirement when creating the series cover (cover.jpg). 2483533
- Misc changes and code cleanup. 2483533
v2.5.3
v2.5.2
Changes:
- Cleaned up chapter regexes. 357aaa2
- Reduced nested code around the script. 357aaa2
- Added cache to
get_release_number()
357aaa2 - Moved a lot of feature toggle checks into the features themselves. 357aaa2
- Reduced some loops in the file renamer. 357aaa2
- Fixed file names containing unicode not being unchecked in qbit unchecker addon. d4e975d
- Moved update command forward in dockerfile. eb5e1b5
- Misc code changes and cleanup. 357aaa2 d4e975d eb5e1b5
v2.5.1
Changes:
- Added cache to
is_one_shot()
c940802 - Reduced bottlenecks with
copy_existing_volume_covers_toggle
feature. c940802 - Reduced unnecessary code in
get_percent_for_folder()
c940802 - Renamed
remove_everything_but_volume_num()
toget_release_number()
c940802 - Merged
get_internal_file_hash()
intoget_file_hash()
with an optional parameter. c940802 - Chunked functionality in
extract_covers()
into internal functions. c940802 - Cleaned up duplicate calls to
clean_and_sort()
around the script. c940802 - Misc code changes and cleanup c940802
v2.5.0
!!REQUIRED!!
- Make manual changes or update to the new settings.py file! (EVERYONE) 665e028
- Update and run new requirements.txt! (NON-DOCKER USERS)
!!REQUIRED!!
New Feature
- (DOCKER ONLY) (EXPERIMENTAL) QBitorrent File Unchecker - will parse paused torrents of a specified category and match each file name to the user's library, and uncheck files that found a match and weren't an upgrade. Then start the torrent. (SETUP INSTRUCTIONS HERE) d4ca5c8
- Drastically cuts down download time, compute, and bandwidth on both sides! You only download what you need.
- Will also uncheck unacceptable keyword files if you're using
delete_unacceptable_files_toggle
feature.- can also check the torrent title if you enable
delete_unacceptable_torrent_titles_in_qbit
, since some releasers exclude keywords from file names that they don't from the title
- can also check the torrent title if you enable
- Checks for new paused torrents with the specified category every 30 seconds.
- Currently docker only for technical reasons, will try to bring it to non-docker in a future release.
- Outputs a log to the logs folder.
- still determining whether or not I want to also output embeds to a discord channel or the existing one in the future. I have to potentially deal with overlapping terminal logs and docker embeds, so I need to figure all of that out first
Changes:
- Added cProfile module for profiling code. d4ca5c8
- Added settings check logic for a user running the script without updating settings.py. d4ca5c8
- Reduced processing time in volume/chapter matcher. d4ca5c8
- Reduced duplicate logic in
get_keyword_scores()
d4ca5c8 - Rewrote logic in
get_extra_from_group()
d4ca5c8 - Removed langdetect module and logic using it. d4ca5c8
- was causing a lot of slowdown
- Fixed a syntactically broken chapter regex. d4ca5c8
- Fixed a massive bottleneck with publishers.txt and release_groups.txt function parser. d4ca5c8
- Updated dockerfile to bookworm. ecf39ab
- Updated requirements to the newest versions and removed langdetect. 5870c1b
- Misc changes and fixes. d4ca5c8
v2.4.25
Major Changes
- Enabled alternative matching (cover matching) for chapter releases. 04f46c0
- this was previously disabled for chapter releases since some of them could have a blank image as the first image if no cover was found, and that could result in an incorrect match
- this is avoided with the optional option
compare_detected_cover_to_blank_images
insettings.py
, which is now forced for chapters and volumes attempting an alternative match, but only when attempting an alternative match, outside of that it respects your value for it
- this is avoided with the optional option
- this was previously disabled for chapter releases since some of them could have a blank image as the first image if no cover was found, and that could result in an incorrect match
- Alternative match (cover match) will now also be attempted if both series names have the same subtitle. 04f46c0
- Improved series match times by moving any series with a matching first three words to the top of the cached and non-cached paths/dirs list so it can be checked first. 04f46c0
Minor Changes:
- Reduced number of loops in
contains_chapter_keywords()
04f46c0 - Reduced duplicate logic and cleaned up
clean_and_sort()
04f46c0 - Reduced duplicate logic in
get_publisher_from_meta()
04f46c0 - Reduced duplicate logic in
upgrade_to_volume_class()
04f46c0 - Reduced some nesting in
process_cover_extraction()
04f46c0 - Reduced the loop in
remove_bracketed_info_from_name()
to a single re.sub with a couple of cleanups. 04f46c0 - Reduced logic in
pick_webhook()
04f46c0 - Added keyword
user
to censored watchdog settings output. 04f46c0 - Added
clean_sting()
to clean up duplicate clean formatting/cleaning logic around the script. 04f46c0 - Added
move_strings_to_top()
for moving strings that match a specified first three keywords to the top of a string list. 04f46c0 - Added cache to
contains_comic_info()
function, clears at the end of the current execution. 04f46c0 - Added
is_same_index_number()
to clean up duplicate logic. 04f46c0 - Added try-except to function responsible for removing a folder. 04f46c0
- Added logic for getting rid of any non-valid cached_paths after pulling the whole list. 04f46c0
- Rewrote
remove_duplicate_releases_from_download()
04f46c0 - Rewrote
get_keyword_scores()
to evaluate both releases in the same loop instead of separately. 04f46c0 - Removed
is_fixed_volume()
and any other associated logic with it. 04f46c0 - Fixed some series covers not being generated due to the series names not all being the same due to minor differences like casing or punctuation. 04f46c0
- Misc changes and fixes. 04f46c0
v2.5.0 will likely be the next release with a new feature, assuming everything goes smoothly in the next week. 🤞
v2.4.24
Changes:
- Improved chapter parsing and renaming. a130025
- fixed some edge cases and rare incorrect renames that popped up recently
- Removed unneeded group parameters. a130025
- Fixed publisher name not being added to the reorganized file name when no items were removed from the file's extras array. a130025
- Misc changes and fixes. a130025
v2.4.23
Major Changes:
- Majorly cleaned up and sped up volume/chapter matching logic, and added
test_mode
logic. 026bf60- still plan to do more chunking and cleanup
- Removed
group_discord_notifications_until_max
option and associated logic for the sake of simplifying code. 026bf60- grouping until max is now default with no option
- it was already like this for quite some time, I merely removed the logic
- if someone requests this back, I can add it back in the future, but it wouldn't be a high priority, and you'd have to wait for me to do a far cleaner implementation than what there was before
- grouping until max is now default with no option
- Reworked
get_internal_metadata()
andget_file_from_zip
026bf60- when dealing with an epub, it now accesses the file once, instead of three separate times
- Reworked associated functions for detecting premium content inside of an epub. 026bf60
- reduced bonus file loop to a single regex search and cleaned up duplicate logic
Minor Changes:
- Created
cache_path()
function to clean up redundant path caching around the script. 026bf60 - Cleaned up clean variable
clean_and_sort()
logic around the script. 026bf60 - Cleaned up volume/chapter keyword selection around the script. 026bf60
- Cleaned up redundant path joining around the script. 026bf60
- Reduced nesting in folder creation feature. 026bf60
- Reworked
get_extras()
and eliminated unnecessary info capture and looping. 026bf60 - Reduced looping in
parse_comicinfo_xml()
026bf60 - Reduced looping in
parse_html_tags()
026bf60 - Minor cleanup of
reorganize_and_rename()
026bf60 - Misc cleanup and changes 026bf60
TLDR: Lots of cleanup and speedups. The core functions were improved so that should speedup everything in the script as a result.