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

Ability to verify downloaded/known issues and volumes #154

Open
PhAzE-Variance opened this issue Apr 8, 2024 · 3 comments
Open

Ability to verify downloaded/known issues and volumes #154

PhAzE-Variance opened this issue Apr 8, 2024 · 3 comments
Labels
enhancement New feature or request

Comments

@PhAzE-Variance
Copy link

PhAzE-Variance commented Apr 8, 2024

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 PhAzE-Variance added the enhancement New feature or request label Apr 8, 2024
@PhAzE-Variance
Copy link
Author

PhAzE-Variance commented Apr 8, 2024

Some ideas on verifications:

  • Test File Integrity:
    • can the file be opened
    • does file have CRC error
    • does file have length error
    • surface any errors from the test to the UI
  • Test File RW Access:
    • check file permissions
      • if folders are used instead, check folder has write permissions the same way
    • possibly attempt a small write and delete of a temp file inside the archive
    • write problems would lead to issues writing eventual tagging information to file
    • surface any errors from the test to the UI
  • Pages Exist:
    • open file or folder, check for known page types (JPG, PNG, etc)
    • files may exist in root of archive or in a folder
    • add option in settings to extend known file types for people who use something not commonly used
    • add option in settings for folder depth (default to 1 folder deep), with upper limit of 5 to have a constraint
  • Page Count:
    • open file or folder, check that page count is greater than some configurable value (say 3 by default)
    • add option in settings to set minimum page count value down to 1 or up to whatever they want
  • Add a new page in Kapowar that surfaces all known errors, and has the ability to run a full verification check across the board
  • Add a section in settings to hold whatever custom settings might be used for this process
  • Add an icon next to each issue with a verification check or error icon (that shows the error when hovered over)
    • Potentially make the icon clickable and brings you to a file info page where it shows the file type, name, path, tests it passed or failed, etc, and the associated errors in detail if necessary

@Casvt
Copy link
Owner

Casvt commented Apr 8, 2024

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
Copy link
Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Todo
Development

No branches or pull requests

2 participants