393 Commits
Author SHA1 Message Date
timmy 9f5275a29e Fix a crash when fetching images during auto-tag in the gui
CI / lint (ubuntu-latest, 3.9) (push) Waiting to run
CI / build-and-test (macos-11, 3.9) (push) Waiting to run
CI / build-and-test (ubuntu-latest, 3.9) (push) Waiting to run
CI / build-and-test (windows-latest, 3.9) (push) Waiting to run
2026-08-16 13:06:44 -07:00
timmy e8a7770c54 Merge branch 'DrMcCoy/fix_crash_shortcut_pagetype' into develop 2026-08-16 13:06:44 -07:00
timmy 8514f3c9cc Enable stricter mypy configuration 2026-08-16 13:06:44 -07:00
timmy b27b171486 Handle multiple options sharing a dest 2026-08-16 13:06:44 -07:00
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 c2b8462e19 Use isinstance for type check
Merge branch 'uigenerator' into develop
2026-08-15 13:42:50 -07:00
timmy 217b8cb2d4 Merge branch 'mizaki-talker_file_picker' into develop 2026-08-15 13:42:50 -07:00
timmy 405af25521 Fix pyinstaller build
Fix exception when PyQt is not installed
2026-08-15 13:42:50 -07:00
timmy e2877ce557 Convert types back to their declared types in talkeruigenerator 2026-08-15 13:42:50 -07:00
timmy 80e39268dc Fix flake8 issues 2026-08-15 13:42:50 -07:00
timmy 08d6ee2346 Add a filename parser preview in settings 2026-08-15 13:42:50 -07:00
timmy dbdfb5ac9a Merge branch 'mizaki-window_sorting' into develop 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 c7f2fea638 Merge branch 'mizaki-gentalker_password' into develop 2026-08-15 13:42:50 -07:00
Mizaki 59caa72fa6 Remove ignoring default for setting generation combobox 2026-08-15 13:42:50 -07:00
timmy 6c341d60f2 Merge branch 'mizaki-talker_gen_combo' into develop 2026-08-15 13:42:50 -07:00
timmy a2a67f55ae Merge branch 'mizaki-talker_setting_logo_blurb' 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 30378ce1a4 Fix a crash when setting the page type with no comic selected 2026-08-15 13:42:50 -07:00
timmy 1010756597 Merge branch 'mizaki-on_change_windows' into develop 2026-08-15 13:42:50 -07:00
timmy 991ae17ea2 Fix date display in the issue selection window 2026-08-15 13:42:50 -07:00
Mizaki 9c735ebaf0 Fix crash with series and issue window if the year is None. Closes #523 2026-08-15 13:42:50 -07:00
timmy 0727c4f11e Fix issue padding validation fixes #513 2026-08-15 13:42:50 -07:00
timmy 2ce816b60c Stop deleting self.progialog in the series selection window 2026-08-15 13:42:50 -07:00
timmy 7dd3c9d13b Change --only-set-cv-key to --only-save-config 2026-08-15 13:42:50 -07:00
timmy 7693b2137b Fix --darkmode 2026-08-15 13:42:50 -07:00
timmy df9d1f5c23 Fix generation and saving of talker settings fixes #515 #514 2026-08-15 13:42:50 -07:00
timmy dc7415d89a Use a dictionary instead of a list in the issue/series selection windows
List lookups were done by row number which became inaccurate if any sorting was done

Fixes #507

Merge branch 'mizaki-fix_auto_id' into develop
2026-08-15 13:42:50 -07:00
timmy c367695477 Merge branch 'protofolius_issue_scheme' into develop
Ensure FilenameInfo is always filled out fixes #556
2026-08-15 13:42:50 -07:00
timmy ac17e9e180 Use a QWebEngineView if QtWebEngine is available Fixes #396 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 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 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 381bb871d8 Remove the --script commandline option 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 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 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