Commit Graph

105 Commits

Author SHA1 Message Date
Timmy Welch
9eae71fb62 Disable checkboxes when the complicated parser is not used 2024-03-09 13:07:49 -08:00
Timmy Welch
5155762711 Add comicfn2dict as an alternative filename parser 2024-03-03 21:47:31 -08:00
Timmy Welch
9eb50da744 Fix setting rar info in the settings window Fixes #596
Look in all drive letters for rar executable
2024-02-23 15:45:18 -08:00
Mizaki
b9bf3be4b2 Add short metadata style names 2024-02-12 20:57:32 +00:00
Timmy Welch
999d3eb497 Merge branch 'pre-commit-ci-update-config' into develop 2024-02-06 17:08:43 -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
fbe56f4db9 Remove unnecessary dest arguments in settings 2024-01-22 17:00:59 -08:00
Timmy Welch
085543321a cbxClearFormBeforePopulating not working 2024-01-22 16:50:15 -08:00
Timmy Welch
1ca585a65c Fix #584 2023-12-31 14:33:27 -08:00
Timmy Welch
3b2e763d7d Merge branch 'json-output' into develop 2023-12-17 18:28:53 -08:00
Timmy Welch
5b1c92e7b8 Fix a crash when fetching images during auto-tag in the gui 2023-12-17 16:25:21 -08:00
Timmy Welch
45643cc594 Add integration tests 2023-12-17 16:24:32 -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
cead69f8e3 Merge branch 'mizaki/settings_encoder' into develop 2023-12-01 19:43:18 -08:00
Mizaki
70541cc9ee Encode pathlib.Path for the settings file. Validate types from the JSON settings file after loaded. JSON.decoder not used due to its limitation with context. 2023-11-28 23:21:04 +00:00
Timmy Welch
1ff6f1768b Use importlib.resources instead of __file__ 2023-11-25 12:32:50 -08:00
Timmy Welch
9dc6f8914f Upgrade settings to 0.8.0 2023-11-19 23:14:40 -08:00
Timmy Welch
4a29040c74 Add format to the filename parser result 2023-10-27 23:13:12 -07:00
Timmy Welch
29ddc3779a Ensure FilenameInfo is always filled out fixes #556 2023-10-23 21:08:55 -07:00
Timmy Welch
f6be7919d7 Implement support for protofolius's permission scheme 2023-09-06 04:50:05 -04:00
Timmy Welch
40bd3d5bb8 Fix generation and saving of talker settings fixes #515 #514 2023-09-05 14:43:17 -04:00
Timmy Welch
61d2a8b833 Fix issue padding validation fixes #513 2023-09-05 14:42:03 -04:00
Timmy Welch
05e6eaf88e 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 much hard-coded strings as possible
Add a --list-plugins commandline option
2023-09-05 03:55:12 -04:00
Timmy Welch
2c3a2566cc 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.
2023-08-02 09:00:04 -07:00
Timmy Welch
783e10a9a1 Generate a namespace object for typing settngs 2023-06-09 16:20:00 -07:00
Timmy Welch
5b2a06870a
Fix talker settings validation 2023-02-27 22:21:56 -08:00
Mizaki
33ea8da5bc Merge branch 'develop' into talker_settings_generator
# Conflicts:
#	comictaggerlib/settingswindow.py
#	comictalker/talkers/comicvine.py
2023-02-21 00:50:06 +00:00
Timmy Welch
fb83863654
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
2023-02-20 16:02:15 -08:00
Mizaki
fefb3ce6cd Remove general tab from talker tab and use base tab from settings window. Additional clean up. 2023-02-19 23:33:22 +00:00
Mizaki
a24bd1c719 Generate talker general tab programatically. Move search options to search tab. 2023-02-18 17:16:56 +00:00
Mizaki
02fd8beda8 Use None as parent for api and url message boxes
Rename test_api_key and test_api_url to api_key_btn_connect and api_url_btn_connect
Make separate function to set form values, called in settings_to_form
Change isinstance to is
Call findChildren only once
2023-02-18 01:15:46 +00:00
Timmy Welch
2491999a33
Update copyright statements to ComicTagger Authors 2023-02-16 17:23:13 -08:00
Mizaki
6a6a3320cb Move talker settings menu generator to a separate file 2023-02-14 01:32:56 +00:00
Mizaki
83a8d5d5e1 Generate settings tabs for each talker 2023-02-11 01:18:56 +00:00
Timmy Welch
4eb9e008ce
Update pre-commit 2023-02-10 00:25:20 -08:00
Timmy Welch
e5b15abf91
clean up talker 2023-02-10 00:23:00 -08:00
Timmy Welch
43cb68b38b
Fix 'Default Preferences' button in the settings window 2023-02-04 11:34:49 -08:00
Timmy Welch
ad68726e1d
Use consistent naming for settings
config: always values
setting: always the definition/description not the value
2023-02-04 11:33:21 -08:00
Mizaki
d12325b7f8 Simplify parse_settings. Prefix talker_ to group name. Add back setting CV key via commandline. Other small changes as requested. 2023-02-02 00:53:13 +00:00
Mizaki
94aabcdd40 Merge branch 'develop' into talker_settings
# Conflicts:
#	comictaggerlib/ctoptions/__init__.py
#	comictaggerlib/main.py
#	comictalker/talkers/comicvine.py
2023-02-01 23:38:13 +00:00
Timmy Welch
2c5d419ee9
Remove legacy rar settings 2023-01-31 00:32:19 -08:00
Mizaki
0f10e6e848 Create simple dict of talkers with objects. Moved thresh setting back to talkers (general) as it is called outside of talker. 2023-01-26 00:52:02 +00:00
Mizaki
0d69ba3c49 Rename talkers_general to talkers. Moved plugin option register to own file. Due to chicken and egg, first get talker classes then create objects. 2023-01-25 19:10:58 +00:00
Mizaki
2d8c47edca Use new settings system for plugin 2023-01-02 01:04:15 +00:00
Timmy Welch
20e7de5b5f
Fix reference to the user cache directory 2022-12-31 02:26:44 -08:00
Timmy Welch
440479da8c
Update to settngs 0.3.0
Use the namespace instead of a dictionary
Cleanup setting names
2022-12-15 20:10:35 -08:00
Timmy Welch
103379e548
Split settings out into a separate package 2022-12-14 23:16:54 -08:00
Timmy Welch
eca421e0f2
Split out settings functions 2022-12-13 08:50:38 -08:00
Timmy Welch
9aff3ae38e
Generalize settings
Add comments and docstrings
Create parent directories when saving
Add merging to normalize_options
Change get_option to return if the value is the default value
2022-12-06 00:22:49 -08:00
Timmy Welch
ed1df400d8
Add replacement settings 2022-12-06 00:20:21 -08:00