Casvt / Kapowarr

Kapowarr is a software to build and manage a comic book library, fitting in the *arr suite of software.
https://casvt.github.io/Kapowarr/
GNU General Public License v3.0
420 stars 15 forks source link

Ability to verify downloaded/known issues and volumes #154

Open PhAzE-Variance opened 5 months ago

PhAzE-Variance commented 5 months ago

Is your feature request related to a problem? Please describe. One thing that would be nice is if Kapowarr could verify that each zip/rar/cbz/cbr was usable.

Describe the solution you'd like Perhaps there could be a verify button on each volume (to check all issues in the volume) and a button on each issue that would verify that the rar/zip/cbr/cbz was able to open, and had either pages in it or a folder of pages in it.

Also a new navigation page would need to be added to list all known verification errors and what the errors were. This way, if a user gets an invalid file from somewhere, they can be surfaced here as either not being able to open or it opens but has no pages inside. For folders, it could just verify that pages exist.

This could then be extended at a later point to mark issues that are missing metadata tags/files, and any other possible common errors with files.

Additional context N/A

PhAzE-Variance commented 5 months ago

Some ideas on verifications:

Casvt commented 5 months ago

Seems like it would tie in well with a general 'Check Files' page. The layout would be similar to the 'Library Import' page; let me explain:

  1. The 'Check Files' page is a sub page of the library section, just where you can find the 'Library Import' page.
  2. On the starting page, you select what you want Kapowarr to check for. 2.1. Check for duplicate files. 2.1.1. Based on file hash or on multiple files covering the same issue. 2.1.2. This was already on my to-do list for the far future and would nicely merge with this issue. 2.2. Check for file integrity. 2.2.1. The various aspects that can be checked and it's settings can be set right there. So that you can easily change it per run.
  3. Click the 'Check' button to start.
  4. The resulting page lists all matches, grouped together based on criteria.
  5. Maybe we can do more at this point, but all I can come up with is: 5.1. A delete button to delete the file. 5.2. A button to blocklist the link that was last downloaded for the issue. 5.3. A search button to start a new search for the issue.

This would require a few other things to happen first, before we can start on this:

  1. Deleting files from Kapowarr.
  2. Blocklist that also takes note of for which volume (and issue) the download was.

This sounds like a great addition to Kapowarr, but it's going to be for after the stable release.

PhAzE-Variance commented 5 months ago

Yep, to start you could generate all the check errors and just have a redownload button. The file gets replaced with the new version anyways, so there wouldn't be a big need to delete (at this stage). The delete can be added after if needed.

Then the blocklist portion could also be added after, by inserting a function call before the download starts, once that capability has been built out to track the URLs.