1000 Commits
Author SHA1 Message Date
timmy ac17e9e180 Use a QWebEngineView if QtWebEngine is available Fixes #396 2026-08-15 13:42:50 -07:00
Mizaki 14f6ca1697 PyrateLimter version 2 only for now. 2026-08-15 13:42:50 -07:00
timmy 8f129f7f45 Rename check_api_key to check_status
Parameter is changed to a settings dict so that a Talker can retrieve any info it needs
Change issue_id type annotation to str

Fix call to check_api
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 f461caf7c8 Cleanup sqlite
Remove the import rename
use sqlite3.Row allows retrieving value by name
2026-08-15 13:39:46 -07:00
timmy 0341617ffa Merge branch 'mizaki-vol_to_issue' into develop 2026-08-15 13:39:46 -07:00
timmy 1293673622 Fix tests taking forever caused by f90f373d20 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 c9ff524b51 Generate settngs namespace before formatting 2026-08-15 13:39:46 -07:00
timmy abaddb91d0 Add filter to SeriesSelectionWindow and IssueSelectionWindow fixes #476 2026-08-15 13:39:46 -07:00
timmy f0756f162f Merge branch 'mizaki-issue_count_sort' into develop 2026-08-15 13:39:46 -07:00
timmy 043ab874f3 Replace figure tags with div's
Allows the QTextEdit to render the rest of the html properly
2026-08-15 13:39:46 -07:00
timmy 696b0919de Only set padding for the formatting dict 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 3344407b33 Merge branch 'mizaki-additional_comic_fields' into develop
Merge branch 'mizaki-fix_add_fields' into develop
2026-08-15 13:39:46 -07:00
timmy 381bb871d8 Remove the --script commandline option 2026-08-15 13:39:46 -07:00
timmy ebb4eef41e Upgrade pre-commit 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 0a2d40f4db Bump MacOS version for GitHub Actions 2026-08-15 13:39:46 -07:00
timmy 23a2d0b8f5 Generate a namespace object for typing settngs v2 2026-08-15 13:39:46 -07:00
timmy a6416ccae5 Use tox for building
Mark mypy as optional

Update appimage step

Fix platform case
Remove icu check from appimage step as ComicTagger is not installed
Add appimagetool to allowed commands
Fix appimage paths

Fix package.yaml

Remove extraneous if

Fix pypi upload

Update requirements and Linux build dependencies

Update linux packages in GitHub Actions
2026-08-15 13:39:46 -07:00
timmy cef1ad4ccd Switch to rarfile for rar/cbr support
Improve rar error messages

Merge branch 'rar-cwd' into develop
2026-08-15 13:39:46 -07:00
timmy 0200b0f33a Revert get_recursive_filelist Fixes #449 2026-08-15 13:39:46 -07:00
timmy c54373d53e Fix EOF 2026-08-15 13:39:46 -07:00
timmy cf0b8d48ab Fix #485
As mentioned in the comment in comictaggerlib/main.py:186
The default value should be None not the empty string.
We also check if the given value is the default or the empty string and
 the setting is unset so the default value is not saved in the settings
 file.
The default_api_url is shown in the GUI Settings Window it is not
 currently show in the cli help.
2026-08-15 13:39:46 -07:00
timmy a3b3b20800 Merge branch 'mizaki-hide_api_token' into develop 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
timmy 417d23d5aa Attribution for metadata provider on command line 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 6da348c959 Fix #470 re-add notes when using --clear-metadata 2026-08-15 13:39:46 -07:00
timmy fb176a272c Fix talker settings validation settings window 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 0ab55da52e Update plugin settings
Make "runtime" a persistent group, allows normalizing without losing validation
Simplify archiver setting generation
Generate options for setting a url and key for all talkers
Return validated talker settings
Require that the talker id must match the entry point name
Add api_url and api_key as default attributes on talkers
Add default handling of api_url and api_key to register_settings
Update settngs to 0.6.2 to be able to add settings to a group and
  use the display_name attribute
Error if no talkers are loaded
Update talker entry point to comictagger.talker

Merge branch 'mizaki-talker_parse_key' into develop

Fix fix_url

Add tests for fix_url

Fix talker settings validation
2026-08-15 13:39:46 -07:00
timmy 41142df0cb Make PyICU optional
Update README.md

Reduce startup time natsort
2026-08-15 13:39:46 -07:00
timmy b482df6183 Reduce startup time - v1 2026-08-15 13:39:46 -07:00
timmy b46838f939 Only update the image in CoverImageWidget if the url matches the current url
This fixes an issue causing the first issue cover to show when using the auto-identify feature
Fixes #455
2026-08-15 13:39:46 -07:00
timmy b0c5ba374a Fix Makefile dependencies
Remove dist/appimage before copy to prevent issues with 2nd run
Add dist/appimagetool target so that the appimage tool is downloaded once
2026-08-15 13:39:46 -07:00
timmy d0ff3bcefa Merge branch 'bmfrosty-feature/add-appimage-support' into develop
Update AUTHORS
2026-08-15 13:39:46 -07:00
timmy 0f31b8642d Fix linux build 2026-08-15 13:39:46 -07:00
timmy 5ca47e5a95 Merge branch 'mizaki-cache_role_fix' into develop 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 5dbd2dc167 Merge branch 'mizaki-showcontrols' into develop 2026-08-15 13:39:46 -07:00
timmy 2a969de493 Merge branch 'mizaki-talker_entry_points' into develop 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 838ca16116 Convert bytes to str when printing raw tags. Fixes #510 2026-08-15 13:39:46 -07:00
timmy cdb0cd16bb Update pre-commit 2026-08-15 13:39:46 -07:00