Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Comic Rework (Part 1) #2772

Merged
merged 15 commits into from
Mar 9, 2024
Merged

Comic Rework (Part 1) #2772

merged 15 commits into from
Mar 9, 2024

Conversation

majora2007
Copy link
Member

@majora2007 majora2007 commented Mar 9, 2024

This is the first pass of the Comic Rework and although I've already done 100 hours of dev work in Foundational Changes, this PR contains a huge number of foundation changes as well (and a ton of unit tests to boot).

This is the near full implementation of #2714, excluding handling Annuals that are within a Series as I am still in discussion on whether this should be encouraged or not (given CBLs expect them as their own series).

For those that are helping test these changes please note the following:

  • This requires the library type to be ComicVine. Existing Comic library parsing will remain for the time being and has no changes to it.
  • Annuals can now be linked via Series Relationships.
  • This contains changes to the PDF parser and Image parser
  • Do not run this on your main server. This should only be run on a backup server.
  • This new library type is STRICT. It is aimed to be used by people that follow ComicVine/Mylar's naming convention/directory structure and have rich metadata.
  • Only docker users can test this. Please use the canary tag.

Where testing is needed:

  • First check the Comic Rework issue (Comic Rework #2714) for all checked items and see if you can check
  • When you are in doubt with a bad experience, an edge case, etc, discuss in the Foundation Testing thread under nightly-testing channel.

image
image
image

Added

  • Added: Added a new library type: ComicVine which is aimed at users of Mylar or have well tagged libraries following ComicVine. This library works different and can support multiple folders with the same series parallel to library root.
  • Added: New Series Relationship of Annual.
  • Added: Imprints are now read from ComicInfo, will display on the UI and can be filtered.

Changed

  • Changed: Image Library is now more aligned to reported usage (Fixes Folder structure with raw images mostly doesn't work #2769, Fixes Incorrect volume / chapter numbering when using raw images #2762)
  • Changed: Changed chapter title format to Chapter {number} - {title} (assuming title exists), else Chapter {number}. For Books, nothing has changed.
  • Changed: Series Detail will collapse automatically on desktop if there are too many tags.
  • Changed: Comic/ComicVine libraries will never show Storyline or Volumes (unless there are no issues/specials or multiple volumes exist)
  • Changed: Minor changes to how PDFs parse to make them a tad more smart. Nothing major, will do the overhaul later.

Fixed

  • Fixed: Fixed some bad styling on Chapter metadata (drawer)
  • Fixed: Fixed a missing case where parser wasn't setting Special Volume correctly (no impact)

Dev

  • Refactored the parsers into separate classes and added unit tests for all of them (minus BookParser due to epub dependency)

…omicVine style). Started a big refactor for how the parsers work to split them into dedicated parsers and keep the code much easier to understand and maintain.

Next up, make DefaultParser abstract and add/update unit tests.
…ogic is now streamlined and easily testable.
…Parsers code (DefaultParser).

Cleaned up the unit tests but they need a full refresh to align with the new code.
…d clean it) if no other way to find information.

Setup basic tests for the ComicVineParserTests.cs
…t (true root) into the individual Parsers.

Refactored the Image library type to align more towards how a user is using it (given no feedback from users since I coded it). Added unit tests to Image Parser.
…detail api. Changed so that the new format is Chapter {number} - {title} (assumming title exists), else Chapter {number}. For Books, nothing has changed.
…ome UI issues with rendering titles for Image library and ComicVine.
…th Filtering.

Fixed some bad styling on Chapter metadata (drawer)
…df parser. Added some basic tweaks to the pdf parser to be a bit better (but just small patch work until pdf refactor).
…rser didn't parse correctly.

Misc cleanup around the UI when spot checking a larger sample size.
Copy link

sonarqubecloud bot commented Mar 9, 2024

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

@majora2007 majora2007 merged commit fc21073 into canary Mar 9, 2024
3 checks passed
@majora2007 majora2007 deleted the feature/comic-rework branch March 9, 2024 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

1 participant