113 Commits
Author SHA1 Message Date
timmy 0f82ec8340 Merge branch 'bump-settngs' into develop 2026-08-16 13:06:44 -07:00
timmy bbe6891d54 Merge branch 'mizaki/settings_encoder' into develop 2026-08-16 13:05:46 -07:00
timmy acd690f040 Merge branch 'progress-dialog' into develop 2026-08-15 13:42:50 -07:00
timmy 80e39268dc Fix flake8 issues 2026-08-15 13:42:50 -07:00
timmy da8237284b Merge branch 'mizaki-gmd_list_set' into develop 2026-08-15 13:42:50 -07:00
timmy 25e3dc0816 Add a combobox to select a metadata source in the main window Fixes #508 2026-08-15 13:42:50 -07:00
timmy 4351f929e5 Update setting group names
Make group names presentable to users and add builtin plugins during namespace generation.
Revamp talkeruigenerator.py to use generated group and setting names and remove as many hard-coded strings as possible
Add a --list-plugins commandline option
2026-08-15 13:42:50 -07:00
timmy ec40116398 Use importlib.resources instead of __file__ 2026-08-15 13:42:50 -07:00
timmy 47be75375c Convert ComicIssue into GenericMetadata
I could not find a good reason for ComicIssue to exist other than that
 it had more attributes than GenericMetadata, so it has been replaced.
New attributes for GenericMetadata:
  series_id:        a string uniquely identifying the series to tag_origin
  series_aliases:   alternate series names that are not the canonical name
  title_aliases:    alternate issue titles that are not the canonical name
  alternate_images: a list of urls to alternate cover images

Updated attributes for GenericMetadata:
  genre        -> genres:        str -> list[str]
  comments     -> description:   str -> str
  story_arc    -> story_arcs:    str -> list[str]
  series_group -> series_groups: str -> list[str]
  character    -> characters:    str -> list[str]
  team         -> teams:         str -> list[str]
  location     -> locations:     str -> list[str]
  tag_origin   -> tag_origin:    str -> TagOrigin (tuple[str, str])

ComicSeries has been relocated to the ComicAPI package, currently has no
 usage within ComicAPI.
CreditMetadata has been renamed to Credit and has replaced Credit from
 ComicTalker.
fetch_series has been added to ComicTalker, this is currently only used
 in the GUI when a series is selected and does not already contain the
 needed fields, this function should always be cached.

A new split function has been added to ComicAPI, all uses of split on
 single characters have been updated to use this

cleanup_html and the corresponding setting are now only used in
 ComicTagger proper, for display we want any html directly from the
 upstream. When applying the metadata we then strip the description of
 any html.

A new conversion has been added to the MetadataFormatter:
  j: joins any lists into a string with ', '. Note this is a valid
     operation on strings as well, it will add ', ' in between every
     character.

parse_settings now assigns the given ComicTaggerPaths object to the
 result ensuring that the correct path is always used.

Add test for split

Fix attribute names

Fix cbr tests
2026-08-15 13:39:46 -07:00
timmy 9fb91317db 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
2026-08-15 13:39:46 -07:00
timmy b6c55b6533 Merge branch 'mizaki-rate_limit_cv' into develop 2026-08-15 13:39:46 -07:00
timmy a857d753ef Fix setting issue and alternate_number on GenericMetadata
IssueString.as_string always returns a string this is a problem for
  GenericMetadata. When the overlay function is used it checks
  specifically for the value None this allows the -m option to unset
  attributes however the issue attribute would get set to the empty
  string when loading ComicRack tags regardless of if there was a value
  stored in the file. Fixes #465 and #480
2026-08-15 13:39:46 -07:00
timmy cafddf50e1 Merge branch 'mizaki-auto_ident_message' into develop 2026-08-15 13:39:46 -07:00
timmy 1fe8de593b Separate xlate into separate functions based on return type fixes #454
Strip strings during xlate
2026-08-15 13:39:46 -07:00
timmy 4fdb49a5cd Update settngs to typed version fixes #453
Generate a namespace object for typing settngs
2026-08-15 13:39:46 -07:00
Mizaki af96c3db3e Replace instances of Comic Vine to use the talker's name
Change data to metadata
2026-08-15 13:39:46 -07:00
timmy 1c1de5bd99 Merge branch 'mizaki-talker_settings_generator' into develop
Merge branch 'mizaki-talkeruigen_fix' into develop
2026-08-15 13:39:46 -07:00
timmy b482df6183 Reduce startup time - v1 2026-08-15 13:39:46 -07:00
timmy 60e3497818 Automate contributions
docs(contributor): contrib-readme-action has updated readme

Update AUTHORS

Update copyright statements to ComicTagger Authors

Update AUTHORS

Restrict contributions updates to only run on pushes to develop

Fix actions failure when there are no new contributors
2026-08-15 13:39:46 -07:00
timmy bcff17b081 Merge branch 'talker-cleanup' into develop 2026-08-15 13:39:46 -07:00
timmy 4a3194cb85 Merge branch 'settings-consistency' into develop 2026-08-15 13:39:46 -07:00
timmy cf4e940360 Merge branch 'mizaki-talker_settings' into develop 2026-08-15 13:39:46 -07:00
timmy a9a81a9c65 Turn comicapi.archivers.* into plugins 2026-08-15 13:39:46 -07:00
timmy 5c88cf8a96 Change issue id to strings 2026-08-15 13:39:46 -07:00
timmy d05075b593 Merge branch 'volume-to-series' into develop
fixup series
2026-08-15 13:39:46 -07:00
timmy 2951dc40b9 Merge branch 'settings' into develop
Merge branch 'mizaki-rename_namespace_fix' into develop
2026-08-15 13:39:46 -07:00
timmy 81ee456fe7 Merge branch 'mizaki-infosources' into dev
Fix tests

Stop setting the notes field in map_comic_issue_to_metadata

Make errors loading the ComicVineTalker object explicit

Re-add --only-set-cv-key feature

Cleanup

Move most options passed in to ComicVineTalker to ComicTalker
Give ComicCacher and ComicTalker a version argument to remove all
  references to comictaggerlib
Update default arguments to reflect what is required to use these classes
2026-08-15 13:39:46 -07:00
timmy e31c104c5e Allow searching without a comic archive selected 2026-08-15 11:52:55 -07:00
timmy e5f6a7d1d6 Add warning about settings 2022-11-25 17:09:22 -08:00
timmy e7f937ecd2 Enable version checking 2022-11-25 17:08:26 -08:00
timmy d55d75cd79 Append notes instead of overwriting them
Add issue_id to GenericMetadata
2022-11-04 15:39:40 -07:00
timmy aad83c8c03 Update PyInstaller usage
Switch to rapidfuzz from thefuzz
Add associations to macOS app bundle
2022-10-25 21:48:01 -07:00
timmy 2daf9b3ed8 Style and typo fixes 2022-10-04 16:15:55 -07:00
timmy 77a53a6834 Update dependencies
Includes changes from pyupgrade
2022-08-10 20:55:46 -07:00
timmy 40314367c9 Improve formatting and consistency 2022-07-18 12:17:13 -07:00
timmy 6e7660c3d9 Tests
Add tests for IssueIdentifier
Change tags to a set from a string
Add copy and replace convenience functions on GenericMetadata
Update deprecated resampling code for Pillow
Change comicvine test data to be the same as the test comic
Cleanup tests
2022-07-18 12:06:49 -07:00
timmy 947dc81c74 use thefuzz
use thefuzz

use thefuzz
2022-07-13 23:11:17 -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 95643fdace Fix community rating
The user rating control is replaced with critical rating which is now
represented as a float.
utils.xlate has been updated to have an is_float parameter
Metadata is reloaded on save so that changes can be seen
e.g. for CBL tags the critical rating field only stores integers
2022-06-23 13:18:42 -07:00
timmy 5c6e7d6f3e Allow multiple types to be specified using -t fixes #24 2022-06-10 16:20:58 -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 db37ec7204 Add a literal search option 2022-06-07 12:16:23 -07:00
timmy 470b5c0a17 Fix adding files to GUI via running ComicTagger with more filenames
Add flake8-print to ensure all logging uses the logging package
2022-06-06 20:04:51 -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 b5e6e41043 Add a log window to see the current log 2022-06-06 20:04:34 -07:00
timmy 62d927a104 Fix #308
Add null check when loading community_rating
Use iterators instead of while loops
2022-06-05 15:23:20 -07:00
timmy fd4c453854 Apply pre-commit configuration 2022-06-02 18:32:16 -07:00
timmy c19ed49e05 Move to argparse for argument parsing 2022-06-02 18:28:54 -07:00
timmy 8b73a87360 Merge branch 'cleanup' into develop 2022-05-24 11:44:54 -07:00