Commit Graph

1154 Commits

Author SHA1 Message Date
Timmy Welch
54d733ef74 Support separate cover and store dates in ComicAPI 2023-08-04 22:39:30 -07: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
1b6307f9c2 Merge branch 'mizaki-tidy_ii' into develop 2023-07-30 16:24:13 -07:00
Timmy Welch
548ad4a816 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
2023-07-29 00:07:25 -07:00
Timmy Welch
27f71833b3 Generate settngs namespace before formatting 2023-07-28 23:29:39 -07:00
Timmy Welch
6c07fab985 Fix tests taking forever caused by f90f373d20 2023-07-28 23:25:12 -07:00
Timmy Welch
4151c0e113 Cleanup sqlite
Remove the import rename
use sqlite3.Row allows retrieving value by name
2023-07-28 23:22:35 -07:00
Mizaki
3119d68ea2 Remove used issue id from get_issue_cover_match_score and fix test 2023-07-18 01:14:32 +01:00
Timmy Welch
f43f51aa2f Fix #396
Use a QWebEngineView if QtWebEngine is available.
If QtWebEngine is not available replace figure tags with div's to allow
 the QTextEdit to render the rest of the html properly
2023-07-01 23:29:38 -07:00
Timmy Welch
19986b64d0 Upgrade pre-commit hooks 2023-07-01 23:12:41 -07:00
Timmy Welch
00200334fb Add filter to SeriesSelectionWindow and IssueSelectionWindow fixes #476 2023-07-01 18:57:33 -07:00
Timmy Welch
cde980b470 Add LICENSE file 2023-07-01 18:13:38 -07:00
Timmy Welch
f90f373d20 Merge branch 'mizaki-rate_limit_cv' into develop 2023-07-01 18:04:24 -07:00
Timmy Welch
c246b96845 Merge branch 'mizaki-vol_to_issue' into develop 2023-07-01 18:02:57 -07:00
Timmy Welch
053afaa75e Merge branch 'mizaki-phash' into develop 2023-07-01 18:01:26 -07:00
Timmy Welch
3848aaeda3 Merge branch 'mizaki-issue_count_sort' into develop 2023-07-01 17:56:55 -07:00
Mizaki
16b13a6fe0 Format year and count of issues to 4 digits and do a None check 2023-06-28 01:08:04 +01:00
Mizaki
3f180612d3 Return int instead of hex and revert hamming_distance etc. 2023-06-27 22:44:08 +01:00
Mizaki
37cc66cbae Use requests.status_codes.codes.TOO_MANY_REQUESTS 2023-06-27 17:48:38 +01:00
Mizaki
81b15a5877 Fixes sorting by year and issue count. Removed superfluous if for publisher. Fixes #475 2023-06-27 00:21:28 +01:00
Mizaki
14a4055040 Add Perceptual Hash computation to imagehasher mirroring https://github.com/JohannesBuchner/imagehash but in pure python 2023-06-26 01:54:26 +01:00
Timmy Welch
2e01672e68 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.
2023-06-23 17:48:18 -07:00
Timmy Welch
4a7aae4045 Add tests for fix_url 2023-06-23 17:10:40 -07:00
Mizaki
2187ddece8 Move volume from ComicSeries to ComicIssue 2023-06-23 22:38:15 +01:00
Mizaki
fba5518d06 Create two module limiters and assign class limiter var depending. Add to welcome message limits of default CV API key. 2023-06-23 21:25:02 +01:00
Timmy Welch
31cf687e2f Reduce startup time 2023-06-22 20:11:40 -07:00
Timmy Welch
526069dabf Use _guess_type from settngs for more robust type checking 2023-06-22 18:28:43 -07:00
Timmy Welch
635cb037f1 Merge branch 'mizaki-fix_add_fields' into develop 2023-06-22 17:51:26 -07:00
Mizaki
861584df3a Move rate limit check from defunc API status code 107 to HTTP code 429. Set a limit of 10 request every 10 seconds except for the default API key which is 1,2 (to be finisalised). Remove wait on rate limit option. 2023-06-22 23:50:32 +01:00
Timmy Welch
a53fda9fec Update linux packages in GitHub Actions 2023-06-21 19:47:41 -07:00
Mizaki
af5a0e50e0 Remove wait on CV rate limit in autotag 2023-06-21 22:32:06 +01:00
Mizaki
7a91acb60c Add pyrate-limiter and apply CV suggested rate limit 2023-06-20 22:28:29 +01:00
Timmy Welch
3a287504ae 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
2023-06-15 20:26:38 -07:00
Timmy Welch
82a22d25ea Merge branch 'mizaki-auto_ident_message' into develop 2023-06-11 21:44:05 -07:00
Timmy Welch
783e10a9a1 Generate a namespace object for typing settngs 2023-06-09 16:20:00 -07:00
Mizaki
e8f13b1f9e fix quoting 2023-06-09 02:08:38 +01:00
Mizaki
4b415b376f Fix tests 2023-06-08 01:26:03 +01:00
Mizaki
122bdf7eb1 Change auto-identfy message to point users to the auto-tag assume 1 option 2023-06-08 01:18:46 +01:00
Mizaki
2afb604ab3 Fix issue_count and add maturity rating 2023-06-08 00:52:24 +01:00
Timmy Welch
a912c7392b Merge branch 'mizaki-additional_comic_fields' into develop 2023-06-03 10:37:44 -07:00
Mizaki
3b92993ef6 Remove country name code 2023-06-03 00:11:40 +01:00
Mizaki
c3892082f5 Change data to metadata 2023-06-02 00:37:58 +01:00
Mizaki
92e2cb42e8 Replace instances of Comic Vine to use the talker's name 2023-06-01 22:05:14 +01:00
Timmy Welch
b8065e0f10 Fix #470 re-add notes when using --clear-metadata 2023-05-30 21:36:33 -07:00
Mizaki
a395e5541f Remove invalid comments 2023-05-25 15:00:53 +01:00
Mizaki
d191750231 Remove attempted validation of language and country plus minor changes 2023-05-25 01:32:52 +01:00
Mizaki
e72347656b Add format (1-shot, limited series, etc.) 2023-05-23 00:27:58 +01:00
Mizaki
8e2411a086 Add country functions to utils and try to convert a country name to ISO country name 2023-05-23 00:02:56 +01:00
Mizaki
97e64fa918 Add maturity_rating, language and country to ComicIssue and pass to metadata. 2023-05-18 02:02:21 +01:00
Timmy Welch
661d758315
Merge branch 'mizaki-talker_parse_key' into develop 2023-05-16 17:33:24 -07:00