epubveri for calibre 0.4.0
The last two things Doitsu asked for in post 21, and everything thiago.eec
and he said the next day about 0.3.0 (posts 22 and 23).
-
The CSV exports everything again. thiago.eec: "The CVS exports only the
selected line. Is this intentional? JSON exports the full report." (#22) It
was not intentional in the sense he means — 0.3.0 asked the table whether
anything happened to be selected instead of being told what was wanted. The
menu now has Save all rows as CSV… and, when there is a selection, Save
selected rows as CSV…; only the one that says "selected" means it. Doitsu
asked for the same thing (#23). -
An export is offered under the book's own name. Every one used to be
proposed asepubveri-results.csv, so exporting a selection after the whole
table landed on the first file, and a folder of them said nothing about which
book was which. Now:Suç ve Ceza (Dostoyevski)-epubveri-all-57.csv Suç ve Ceza (Dostoyevski)-epubveri-selected-3.csv Suç ve Ceza (Dostoyevski)-epubveri-selected-line-85.csv Suç ve Ceza (Dostoyevski)-epubveri-report-63.jsonOne selected row is named by its line rather than by the count, which
the owner found by testing the first version of this: exporting the finding
on line 85 and then a different one both offeredselected-1, because "how
many" says nothing about a selection of one — and that was the collision
this naming exists to stop. What separates two selections is which rows,
and for the commonest case, clicking a finding and exporting it, the line is
exactly that. Two or more rows go back to the count: there is no short way
to name a set.Which book, which part of it, how much. The stem is the file calibre is
editing — the same one its title bar shows — and calibre's own sanitiser
keeps a title with a slash or a colon from proposing a path. The scope stays
a word beside the count, because a number does not say what it counts, and a
selection of every row would otherwise be offered under the name of the whole
table. The count is the owner's idea and earns its place the moment a book
changes between two exports.The same book, same scope, unchanged, twice still offers the same name — and
the save dialog asks before replacing, which is the right place for that
question. -
Every CSV field is quoted. Doitsu again, who called it "more 'robust'".
csvquotes for the comma on its own; the case that needs this is the
semicolon, because a spreadsheet whose list separator is;— a German
or Turkish locale — splits an unquoted message containing one straight down
the middle. A quoted field survives either separator. -
There is a Col column. Doitsu: "Since the Calibre API allows to position
the cursor by line and column, it'd be helpful, if you added a Column
column." (#23) It was left out of 0.3.0 on purpose — the number is used
rather than read, since a double-click puts the cursor on that character —
and the note recording that decision said the answer if anyone asked would
be that this is a small change and not a principle. Somebody asked. It sorts
as a number, like Line. -
The panel's background and the severity colours are two settings now,
under Appearance in the same page. thiago.eec, of the dark-theme set: "I'd
rather have the same colors in a dark theme. The new bacground colors are
better than no color at all, but not as good as the original colors." (#22)That is a preference, not a defect, and the owner's call was that it should
not be settled by argument at all:panel_themeisauto(follow calibre),
lightordark, androw_colorsistheme(follow the panel) orpale
(the light set in both, as Doitsu's plugins and Sigil use, with the text
forced dark so it stays readable). Both default to what 0.3.0 shipped,
so anyone who does not care sees no change; the combinations people asked
for — a dark panel with pale rows, or a light panel inside a dark calibre —
are two clicks. -
A clean book no longer opens the panel. His words: "if no problems were
found, simply display a message box instead of an empty widget." A panel
that opens to say nothing takes screen space at the moment you are finished
with it, so the verdict goes in a box and the dock stays shut.Minor rather than patch because of that: it is a change in what the plugin
does, not a fix. A panel that was already open is still refilled — the
previous book's findings sitting under a clean verdict would be worse than
either — but it is neither opened nor raised. A book whose every finding is
hidden by your display settings counts as nothing to list, and the box then
carries the line saying how many were hidden and where the switch is. -
The status bar says what is happening. He asked for a word while the
book is being checked, while an update is being looked for or fetched, and
how that turned out — so there are messages for all four, plus the verdict
when the run ends. calibre's ownshow_status_messageis used where it
exists and the bar directly where it does not, since
minimum_calibre_versionclaims releases this was not checked in.The messages are painted with
processEvents, which is not decoration: a
validation runs on the UI thread, so a line set before the work would
otherwise appear only once the thing it describes had finished.