|
|
#1 |
|
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,165
Karma: 1512904
Join Date: Sep 2017
Location: Buenos Aires, Argentina
Device: moon+ reader, kindle paperwhite
|
[GUI Plugin] Integrity Analysis
Integrity Analysis is a powerful plugin for Caliber designed to automate database diagnostics and deep file integrity checks, ensuring your library remains healthy, structured, and free of corruption.
Key Features & Technical Overview Deep Library & Database Scanning: * Direct interaction with caliber's internal database (`metadata.db`) to query book records, authors, and associated formats. * Maps relative file paths and inspects storage integrity without disrupting the main application workflow. Advanced File Integrity Checks: Physical Existence Verification: Scans the disk to ensure physical files actually exist and handle potential I/O errors gracefully. EPUB Validation: Automatically checks if EPUB files are valid archives containing essential core components (`mimetype`, `META-INF/container.xml`). PDF & Generic Format Diagnostics: Inspects headers for massive null-byte padding (`\x00`), which typically indicates disk sector failures, memory corruption, or incomplete transfers. Smart Caching & Reporting: Persistent Memory Cache: Automatically stores the results of your latest scan in memory so you can instantly review findings without re-scanning thousands of books. Detailed Report Viewer: Displays clean, resizable summaries using monospaced format for quick analysis. Export to TXT: Easily export scan summaries and diagnostic logs directly to a `.txt` file for troubleshooting or record-keeping. Seamless Interface Integration: Toolbar button featuring an intuitive dropdown menu for quick access: run analysis, view the last report, export data, or open preferences. Configuration Options Scan Depth: Toggle between fast structural checks (metadata-only) or deep physical file validation. Automated Logging: Set preferences to automatically display error logs or summary reports immediately upon scan completion. Check Filters: Customize specific integrity checks to suit your library management style. This is what it looks like if there are no problems: Code:
================================================== INTEGRITY ANALYSIS REPORT ================================================== Total books checked: 23 Issues found: 0 ------------------------------------------------------------ No security or integrity issues detected. Your library is healthy. =========================================== Code:
======================================================== INTEGRITY ANALYSIS REPORT ======================================================== Total books checked: 23 Issues found: 2 ------------------------------------------------------------ [ID: 12] Don Quixote of La Mancha -> Issue: Missing format file (EPUB/PDF) in book directory. [ID: 45] One Hundred Years of Solitude -> Issue: Corrupted or unreadable OPF metadata file. ================================================== Last edited by dunhill; 08-23-2026 at 11:46 PM. |
|
|
|
|
|
#2 |
|
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,165
Karma: 1512904
Join Date: Sep 2017
Location: Buenos Aires, Argentina
Device: moon+ reader, kindle paperwhite
|
Reserved
|
|
|
|
|
|
#3 |
|
Groupie
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 173
Karma: 718168
Join Date: Mar 2021
Device: Kindle Voyage
|
?
It's not April 1st, so what gives? |
|
|
|
|
|
#4 |
|
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,165
Karma: 1512904
Join Date: Sep 2017
Location: Buenos Aires, Argentina
Device: moon+ reader, kindle paperwhite
|
Version 1.3.0 Minor bugs fixed. Thanks @Comfy.n for the feedback
|
|
|
|
|
|
#5 |
|
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,165
Karma: 1512904
Join Date: Sep 2017
Location: Buenos Aires, Argentina
Device: moon+ reader, kindle paperwhite
|
Version 1.4.0 in the configuration options now allows you to check for missing or corrupted metadata.opf files since having these files is a personal decision.
|
|
|
|
|
|
#6 |
|
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 14,080
Karma: 83429614
Join Date: Nov 2007
Location: Toronto
Device: Libra H2O, Libra Colour
|
My big issue here is the NAME of the plugin.
Surely what you are doing is verifying the integrity of a book NOT the security. Might I suggest a far more meaningful name would be "Integrity Analysis" |
|
|
|
|
|
#7 | |
|
null operator (he/him)
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 22,803
Karma: 34252730
Join Date: Mar 2012
Location: Sydney Australia
Device: none
|
Quote:
I looked in the obvious places, Tweaks, Env Vars, and elsewhere; so, if it exists it's illuding me… perhaps I hallucinated they are mandatory if the Restore Database feature is ever to work. BR Last edited by BetterRed; 08-23-2026 at 05:50 PM. Reason: added 2nd para |
|
|
|
|
|
|
#8 | |
|
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,165
Karma: 1512904
Join Date: Sep 2017
Location: Buenos Aires, Argentina
Device: moon+ reader, kindle paperwhite
|
Quote:
When I started developing the plugin, I checked my author/titles folder and found those three files. Then a user asked me what the OPF files were, and I realized that having those files is a personal choice for the user. Therefore, I updated the plugin's configuration window to allow for selection. |
|
|
|
|
|
|
#9 | |
|
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,165
Karma: 1512904
Join Date: Sep 2017
Location: Buenos Aires, Argentina
Device: moon+ reader, kindle paperwhite
|
Quote:
But obviously, I'm open to suggestions. |
|
|
|
|
|
|
#10 |
|
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 14,080
Karma: 83429614
Join Date: Nov 2007
Location: Toronto
Device: Libra H2O, Libra Colour
|
Those opf files are created by the backup library subcommand found in the drop down menu of the ebook library icon
|
|
|
|
|
|
#11 |
|
Resident Curmudgeon
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 84,665
Karma: 153788055
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
|
There is no option not to create the metadata.opf files for each book directory.
|
|
|
|
|
|
#12 | |
|
Well trained by Cats
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 31,938
Karma: 64187770
Join Date: Aug 2009
Location: The Central Coast of California
Device: Kobo Libra2,Kobo Aura2v1, K4NT(Fixed: New Bat.), Galaxy Tab A
|
Quote:
|
|
|
|
|
|
|
#13 |
|
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,165
Karma: 1512904
Join Date: Sep 2017
Location: Buenos Aires, Argentina
Device: moon+ reader, kindle paperwhite
|
Following the suggestions, I've renamed the plugin to Integrity Analysis and replaced the images and names in the tab. I would appreciate it if a moderator could change the thread title.
|
|
|
|
|
|
#14 |
|
null operator (he/him)
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 22,803
Karma: 34252730
Join Date: Mar 2012
Location: Sydney Australia
Device: none
|
|
|
|
|
|
|
#15 | |
|
null operator (he/him)
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 22,803
Karma: 34252730
Join Date: Mar 2012
Location: Sydney Australia
Device: none
|
Quote:
BR Last edited by BetterRed; 08-24-2026 at 04:39 AM. |
|
|
|
|
![]() |
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| [GUI Plugin] Streamer - RSVP Speed Reader plugin for Calibre | npapadacis | Plugins | 6 | 04-24-2026 03:00 AM |
| [GUI Plugin] Noosfere_util, a companion plugin to noosfere DB | lrpirlet | Plugins | 2 | 08-18-2022 03:15 PM |
| [GUI Plugin] Save Virtual Libraries To Column (GUI) | chaley | Plugins | 14 | 04-04-2021 05:25 AM |
| [GUI Plugin] Plugin Updater **Deprecated** | kiwidude | Plugins | 159 | 06-19-2011 12:27 PM |