Kareadita / Kavita

Kavita is a fast, feature rich, cross platform reading server. Built with the goal of being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family.
http://www.kavitareader.com
GNU General Public License v3.0
6.35k stars 329 forks source link

Special keywords can break one-shot manga #710

Closed majora2007 closed 2 years ago

majora2007 commented 3 years ago

By removing keywords, some one-shot manga can get broken.

For example:

'EXTRA lesson' turns into 'lesson'

"Today's Very Special Livestream" to "Today's Very Livestream"

majora2007 commented 3 years ago

Upon investigating this further, not sure what can be done. Treating specials as specials is pretty core and cleaning out specials is needed for valid cases.

It would be pretty advisable for the user to manually override the series name in Kavita's UI.

colino17 commented 2 years ago

I believe I have replicated a similar issue that occurs with the series "The League of Extraordinary Gentlemen" due to the inclusion of "Extra" in the title.

File Structure The League of Extraordinary Gentlemen (folder) -- "SP01 Complete Collection.cbz" -- "SP02 Nemo Trilogy.cbz"

Issue Instead of being recognized as a single series containing two special issues each issue is recognized as it's own series (ex: the first one is recognized as a series named (SP01 Complete Collection").

Workaround My current workaround is to replace one of the characters in the word extra with a special character (ex: The League of Extràordinary Gentlemen). Once this character is changed it becomes recognized as a single series (The League of Extràordinary Gentlemen) with two special issues.

majora2007 commented 2 years ago

I was able to reproduce your issue @colino17 with "The League of Extraordinary Gentlemen" being treated as a Special. I'll be fixing it here: https://github.com/Kareadita/Kavita/issues/924

if you want to comment on any other issues you've found.

For this underlying issue, the solution would be to embed ComicInfo.xml to bypass the special treatment.

jinixx commented 2 years ago

I have some suggestions on naming convention for special:

  1. Use square bracket to surround special keywords, eg. [special]
  2. Put it at the end of the file and surround with '.' like how we do for movie subtitle language label (.en.srt), eg. .special.cbz
  3. Put all specials inside a special folder, eg. title/special/the-title-of-this-special.cbz -> title should still be "the title of this special"
majora2007 commented 2 years ago

I think the best way to fix this is with embedded metadata rather than changes in the parser. For actual specials we already have a marker that will force special treatment and force ordering.