summaryrefslogtreecommitdiff
path: root/.localrepo/calibredb-20250705.225.tar
blob: 75dac625b09faeb351e3a1f046afff511332f8b1 (plain)
ofshex dumpascii
0000 63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37 30 35 2e 32 32 35 2f 00 00 00 00 00 00 00 00 00 calibredb-20250705.225/.........
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0080 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 36 33 35 00 20 35 00 00 00 0000000.00000000000.012635..5...
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37 30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62 calibredb-20250705.225/calibredb
0220 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -annotation.el..................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0280 30 30 31 33 36 34 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 32 35 31 00 20 30 00 00 00 0013647.00000000000.017251..0...
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2e 65 6c 20 2d 2d 2d 20 ;;;.calibredb-annotation.el.---.
0420 41 6e 6e 6f 74 61 74 69 6f 6e 20 66 6f 72 20 63 61 6c 69 62 72 65 64 62 20 2d 2a 2d 20 6c 65 78 Annotation.for.calibredb.-*-.lex
0440 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 ical-binding:.t;.-*-..;;.Copyrig
0460 68 74 20 28 43 29 20 32 30 32 30 20 44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b 20 41 75 74 68 6f ht.(C).2020.Damon.Chan..;;.Autho
0480 72 3a 20 44 61 6d 6f 6e 20 43 68 61 6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67 6d 61 69 6c 2e 63 6f r:.Damon.Chan.<elecming@gmail.co
04a0 6d 3e 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 m>.;;.URL:.https://github.com/ch
04c0 65 6e 79 61 6e 6d 69 6e 67 2f 63 61 6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b 20 4b 65 79 77 6f 72 enyanming/calibredb.el.;;.Keywor
04e0 64 73 3a 20 74 6f 6f 6c 73 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 4e 4f 54 20 70 ds:.tools..;;.This.file.is.NOT.p
0500 61 72 74 20 6f 66 20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 art.of.GNU.Emacs...;;.This.progr
0520 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 am.is.free.software;.you.can.red
0540 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 istribute.it.and/or.modify.;;.it
0560 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 .under.the.terms.of.the.GNU.Gene
0580 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 ral.Public.License.as.published.
05a0 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 by.;;.the.Free.Software.Foundati
05c0 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 on,.either.version.3.of.the.Lice
05e0 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 nse,.or.;;.(at.your.option).any.
0600 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 later.version...;;.This.program.
0620 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 is.distributed.in.the.hope.that.
0640 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 it.will.be.useful,.;;.but.WITHOU
0660 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 T.ANY.WARRANTY;.without.even.the
0680 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 .implied.warranty.of.;;.MERCHANT
06a0 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 ABILITY.or.FITNESS.FOR.A.PARTICU
06c0 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e LAR.PURPOSE...See.the.;;.GNU.Gen
06e0 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 eral.Public.License.for.more.det
0700 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 ails...;;.You.should.have.receiv
0720 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 ed.a.copy.of.the.GNU.General.Pub
0740 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 lic.License.;;.along.with.this.p
0760 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 rogram...If.not,.see.<https://ww
0780 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 w.gnu.org/licenses/>...;;;.Comme
07a0 6e 74 61 72 79 3a 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c ntary:..;;;.Code:..(require.'cal
07c0 69 62 72 65 64 62 2d 63 6f 72 65 29 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 ibredb-core)..(declare-function.
07e0 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 69 6e 69 74 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 calibredb-get-init."calibredb-ut
0800 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 ils.el").(declare-function.calib
0820 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 20 22 63 61 redb-find-candidate-at-point."ca
0840 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 libredb-utils.el").(declare-func
0860 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 72 65 61 64 2d 6d 65 74 61 64 61 74 61 73 20 22 63 tion.calibredb-read-metadatas."c
0880 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e alibredb-utils.el").(declare-fun
08a0 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d 6f ction.calibredb-search-refresh-o
08c0 72 2d 72 65 73 75 6d 65 20 22 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2e 65 6c 22 29 0a r-resume."calibredb-search.el").
08e0 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 63 61 .(defvar.calibredb-annotation-ca
0900 6e 64 69 64 61 74 65 20 6e 69 6c 0a 20 20 22 4c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 75 73 ndidate.nil..."Local.variable.us
0920 65 64 20 69 6e 20 2a 63 61 6c 69 62 72 65 64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2a 2e 22 29 0a ed.in.*calibredb-annotation*.").
0940 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 70 61 72 (defvar.calibredb-annotation-par
0960 61 6d 65 74 65 72 20 6e 69 6c 0a 20 20 22 4c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 75 73 65 ameter.nil..."Local.variable.use
0980 64 20 69 6e 20 2a 63 61 6c 69 62 72 65 64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2a 2e 22 29 0a 0a d.in.*calibredb-annotation*.")..
09a0 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74 69 6f (defvar.calibredb-edit-annotatio
09c0 6e 2d 68 65 61 64 65 72 2d 66 75 6e 63 74 69 6f 6e 20 23 27 63 61 6c 69 62 72 65 64 62 2d 65 64 n-header-function.#'calibredb-ed
09e0 69 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 68 65 61 64 65 72 0a 20 20 22 46 75 6e 63 74 69 6f 6e it-annotation-header..."Function
0a00 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 73 74 72 69 6e 67 20 74 6f 20 62 65 20 75 .that.returns.the.string.to.be.u
0a20 73 65 64 20 66 6f 72 20 74 68 65 20 43 61 6c 69 62 72 65 64 62 20 65 64 69 74 20 61 6e 6e 6f 74 sed.for.the.Calibredb.edit.annot
0a40 61 74 69 6f 6e 20 68 65 61 64 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 ation.header.")..(defvar.calibre
0a60 64 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 74 65 78 74 2d 66 75 6e 63 20 6e 69 6c db-edit-annotation-text-func.nil
0a80 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 74 6f 20 72 65 74 75 72 6e 20 64 65 66 61 75 6c 74 20 74 ..."Function.to.return.default.t
0aa0 65 78 74 20 74 6f 20 75 73 65 20 66 6f 72 20 61 6e 20 65 62 6f 6f 6b 20 61 6e 6e 6f 74 61 74 69 ext.to.use.for.an.ebook.annotati
0ac0 6f 6e 2e 0a 49 74 20 74 61 6b 65 73 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 20 74 on..It.takes.one.argument,.the.t
0ae0 69 74 6c 65 20 6f 66 20 74 68 65 20 65 62 6f 6f 6b 2c 20 61 73 20 61 20 73 74 72 69 6e 67 2e 0a itle.of.the.ebook,.as.a.string..
0b00 49 74 20 63 6f 75 6c 64 20 62 65 20 66 75 6e 63 74 69 6f 6e 20 60 63 61 6c 69 62 72 65 64 62 2d It.could.be.function.`calibredb-
0b20 64 65 66 61 75 6c 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 74 65 78 74 27 22 29 0a 0a 3b 3b 20 61 default-annotation-text'")..;;.a
0b40 6e 6e 6f 74 61 74 69 6f 6e 0a 0a 28 64 65 66 69 6e 65 2d 64 65 72 69 76 65 64 2d 6d 6f 64 65 20 nnotation..(define-derived-mode.
0b60 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 6d 6f 64 65 20 6f calibredb-edit-annotation-mode.o
0b80 72 67 2d 6d 6f 64 65 20 22 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e 61 74 61 74 69 rg-mode."calibredb-edit-annatati
0ba0 6f 6e 22 0a 20 20 22 4d 6f 64 65 20 66 6f 72 20 65 64 69 74 69 6e 67 20 74 68 65 20 61 6e 6e 6f on"..."Mode.for.editing.the.anno
0bc0 74 61 74 69 6f 6e 20 6f 66 20 61 20 65 62 6f 6f 6b 2e 0a 57 68 65 6e 20 79 6f 75 20 68 61 76 65 tation.of.a.ebook..When.you.have
0be0 20 66 69 6e 69 73 68 65 64 20 63 6f 6d 70 6f 73 69 6e 67 2c 20 75 73 65 20 60 43 2d 63 20 43 2d .finished.composing,.use.`C-c.C-
0c00 63 27 2e 0a 5c 5c 7b 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e c'..\\{calibredb-edit-annotation
0c20 2d 6d 6f 64 65 2d 6d 61 70 7d 22 0a 20 20 28 73 65 74 71 20 68 65 61 64 65 72 2d 6c 69 6e 65 2d -mode-map}"...(setq.header-line-
0c40 66 6f 72 6d 61 74 20 27 28 3a 65 76 61 6c 20 28 66 75 6e 63 61 6c 6c 20 63 61 6c 69 62 72 65 64 format.'(:eval.(funcall.calibred
0c60 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 68 65 61 64 65 72 2d 66 75 6e 63 74 69 6f b-edit-annotation-header-functio
0c80 6e 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e n))))..(defun.calibredb-edit-ann
0ca0 6f 74 61 74 69 6f 6e 2d 68 65 61 64 65 72 20 28 29 0a 20 20 22 54 4f 44 4f 3a 20 52 65 74 75 72 otation-header.()..."TODO:.Retur
0cc0 6e 20 74 68 65 20 73 74 72 69 6e 67 20 74 6f 20 62 65 20 75 73 65 64 20 61 73 20 74 68 65 20 43 n.the.string.to.be.used.as.the.C
0ce0 61 6c 69 62 72 65 64 62 20 65 64 69 74 20 61 6e 6e 6f 74 61 74 69 6f 6e 20 68 65 61 64 65 72 2e alibredb.edit.annotation.header.
0d00 22 0a 20 20 28 66 6f 72 6d 61 74 20 22 25 73 20 2d 3e 20 45 64 69 74 20 41 6e 6e 6f 74 61 74 69 "...(format."%s.->.Edit.Annotati
0d20 6f 6e 2e 20 25 73 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 on..%s.%s"...........(propertize
0d40 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 69 6e 69 74 20 22 74 69 74 6c 65 22 20 63 61 6c .(calibredb-get-init."title".cal
0d60 69 62 72 65 64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 63 61 6e 64 69 64 61 74 65 29 20 27 66 61 ibredb-annotation-candidate).'fa
0d80 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 68 65 ce.'calibredb-edit-annotation-he
0da0 61 64 65 72 2d 74 69 74 6c 65 2d 66 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 22 46 69 6e ader-title-face)............"Fin
0dc0 69 73 68 20 27 43 2d 63 20 43 2d 63 27 2c 22 0a 20 20 20 20 20 20 20 20 20 20 20 22 61 62 6f 72 ish.'C-c.C-c',"............"abor
0de0 74 20 27 43 2d 63 20 43 2d 6b 27 2e 22 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 t.'C-c.C-k'."))..(defun.calibred
0e00 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 6e b-edit-annotation.(&optional.can
0e20 64 69 64 61 74 65 29 0a 20 20 22 50 6f 70 20 75 70 20 61 20 62 75 66 66 65 72 20 66 6f 72 20 65 didate)..."Pop.up.a.buffer.for.e
0e40 64 69 74 69 6e 67 20 65 62 6f 6f 6b 20 43 41 4e 44 49 44 41 54 45 27 73 20 61 6e 6e 6f 74 61 74 diting.ebook.CANDIDATE's.annotat
0e60 69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 62 65 ion."...(interactive)...(let.(be
0e80 67 20 70 6f 73 29 0a 20 20 20 20 3b 3b 20 73 61 76 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 g.pos).....;;.save.the.original.
0ea0 70 6f 73 69 74 69 6f 6e 20 74 65 6d 70 6f 72 61 72 79 2e 0a 20 20 20 20 28 73 65 74 71 20 62 65 position.temporary......(setq.be
0ec0 67 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 28 73 65 74 71 20 70 6f 73 20 28 77 69 6e 64 6f 77 g.(point)).....(setq.pos.(window
0ee0 2d 73 74 61 72 74 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 63 61 6e 64 69 64 61 74 65 0a 20 -start)).....(unless.candidate..
0f00 20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 20 28 63 61 72 20 28 63 61 6c 69 62 .....(setq.candidate.(car.(calib
0f20 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 29 29 redb-find-candidate-at-point))))
0f40 0a 20 20 20 20 28 70 6f 70 2d 74 6f 2d 62 75 66 66 65 72 20 28 67 65 6e 65 72 61 74 65 2d 6e 65 .....(pop-to-buffer.(generate-ne
0f60 77 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 w-buffer-name."*calibredb-edit-a
0f80 6e 6e 61 74 61 74 69 6f 6e 2a 22 29 29 0a 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 69 6e 73 nnatation*")).....(calibredb-ins
0fa0 65 72 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 29 0a 20 20 20 20 28 63 ert-annotation.candidate).....(c
0fc0 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 6d 6f 64 65 29 0a 20 alibredb-edit-annotation-mode)..
0fe0 20 20 20 28 73 65 74 20 28 6d 61 6b 65 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 27 63 61 ...(set.(make-local-variable.'ca
1000 6c 69 62 72 65 64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 63 61 6e 64 69 64 61 74 65 29 20 63 61 libredb-annotation-candidate).ca
1020 6e 64 69 64 61 74 65 29 0a 20 20 20 20 28 73 65 74 20 28 6d 61 6b 65 2d 6c 6f 63 61 6c 2d 76 61 ndidate).....(set.(make-local-va
1040 72 69 61 62 6c 65 20 27 63 61 6c 69 62 72 65 64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 70 61 72 riable.'calibredb-annotation-par
1060 61 6d 65 74 65 72 29 20 60 28 2c 62 65 67 20 2e 20 2c 70 6f 73 29 29 29 29 0a 0a 28 64 65 66 75 ameter).`(,beg...,pos))))..(defu
1080 6e 20 63 61 6c 69 62 72 65 64 62 2d 64 65 66 61 75 6c 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 74 n.calibredb-default-annotation-t
10a0 65 78 74 20 28 74 69 74 6c 65 29 0a 20 20 22 52 65 74 75 72 6e 20 64 65 66 61 75 6c 74 20 61 6e ext.(title)..."Return.default.an
10c0 6e 6f 74 61 74 69 6f 6e 20 74 65 78 74 20 66 6f 72 20 54 49 54 4c 45 2e 0a 54 68 65 20 64 65 66 notation.text.for.TITLE..The.def
10e0 61 75 6c 74 20 61 6e 6e 6f 74 61 74 69 6f 6e 20 74 65 78 74 20 69 73 20 73 69 6d 70 6c 79 20 73 ault.annotation.text.is.simply.s
1100 6f 6d 65 20 74 65 78 74 20 65 78 70 6c 61 69 6e 69 6e 67 20 68 6f 77 20 74 6f 20 75 73 65 0a 61 ome.text.explaining.how.to.use.a
1120 6e 6e 6f 74 61 74 69 6f 6e 73 2e 22 0a 20 20 28 63 6f 6e 63 61 74 20 22 23 20 20 54 79 70 65 20 nnotations."...(concat."#..Type.
1140 74 68 65 20 61 6e 6e 6f 74 61 74 69 6f 6e 20 66 6f 72 20 69 74 65 6d 20 60 22 20 74 69 74 6c 65 the.annotation.for.item.`".title
1160 20 22 27 20 68 65 72 65 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 22 23 20 20 41 6c 6c 20 6c ."'.here.\n"..........."#..All.l
1180 69 6e 65 73 20 74 68 61 74 20 73 74 61 72 74 20 77 69 74 68 20 61 20 60 23 27 20 77 69 6c 6c 20 ines.that.start.with.a.`#'.will.
11a0 62 65 20 64 65 6c 65 74 65 64 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 22 23 20 20 54 79 70 be.deleted.\n"..........."#..Typ
11c0 65 20 60 43 2d 63 20 43 2d 63 27 20 77 68 65 6e 20 64 6f 6e 65 2e 5c 6e 23 5c 6e 22 0a 20 20 20 e.`C-c.C-c'.when.done.\n#\n"....
11e0 20 20 20 20 20 20 20 22 23 20 20 41 75 74 68 6f 72 3a 20 22 20 28 75 73 65 72 2d 66 75 6c 6c 2d ......."#..Author:.".(user-full-
1200 6e 61 6d 65 29 20 22 20 3c 22 20 28 75 73 65 72 2d 6c 6f 67 69 6e 2d 6e 61 6d 65 29 20 22 40 22 name).".<".(user-login-name)."@"
1220 0a 20 20 20 20 20 20 20 20 20 20 28 73 79 73 74 65 6d 2d 6e 61 6d 65 29 20 22 3e 5c 6e 22 0a 20 ...........(system-name).">\n"..
1240 20 20 20 20 20 20 20 20 20 22 23 20 20 44 61 74 65 3a 20 20 20 20 22 20 28 63 75 72 72 65 6e 74 ........."#..Date:....".(current
1260 2d 74 69 6d 65 2d 73 74 72 69 6e 67 29 20 22 5c 6e 22 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c -time-string)."\n"))..(defun.cal
1280 69 62 72 65 64 62 2d 69 6e 73 65 72 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 20 28 63 61 6e 64 69 64 ibredb-insert-annotation.(candid
12a0 61 74 65 29 0a 20 20 22 49 6e 73 65 72 74 20 61 6e 6e 6f 74 61 74 69 6f 6e 20 66 6f 72 20 43 41 ate)..."Insert.annotation.for.CA
12c0 4e 44 49 44 41 54 45 2e 22 0a 20 20 28 77 68 65 6e 20 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 NDIDATE."...(when.calibredb-edit
12e0 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 74 65 78 74 2d 66 75 6e 63 0a 20 20 20 20 28 69 6e 73 65 72 -annotation-text-func.....(inser
1300 74 20 28 66 75 6e 63 61 6c 6c 20 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 t.(funcall.calibredb-edit-annota
1320 74 69 6f 6e 2d 74 65 78 74 2d 66 75 6e 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tion-text-func..................
1340 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 72 65 61 64 2d 6d 65 74 61 64 61 74 61 73 20 22 74 ....(calibredb-read-metadatas."t
1360 69 74 6c 65 22 20 63 61 6e 64 69 64 61 74 65 29 29 29 29 0a 20 20 28 6c 65 74 20 28 28 61 6e 6e itle".candidate))))...(let.((ann
1380 6f 74 61 74 69 6f 6e 20 20 28 63 61 6c 69 62 72 65 64 62 2d 72 65 61 64 2d 6d 65 74 61 64 61 74 otation..(calibredb-read-metadat
13a0 61 73 20 22 63 6f 6d 6d 65 6e 74 73 22 20 63 61 6e 64 69 64 61 74 65 29 29 29 0a 20 20 20 20 28 as."comments".candidate))).....(
13c0 77 68 65 6e 20 28 61 6e 64 20 61 6e 6e 6f 74 61 74 69 6f 6e 20 20 28 6e 6f 74 20 28 73 74 72 69 when.(and.annotation..(not.(stri
13e0 6e 67 2d 65 71 75 61 6c 20 61 6e 6e 6f 74 61 74 69 6f 6e 20 22 22 29 29 29 20 28 69 6e 73 65 72 ng-equal.annotation.""))).(inser
1400 74 20 61 6e 6e 6f 74 61 74 69 6f 6e 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 t.annotation))))..(defun.calibre
1420 64 62 2d 6b 69 6c 6c 2d 6c 69 6e 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6e 65 77 6c 69 6e 65 2d db-kill-line.(&optional.newline-
1440 74 6f 6f 29 0a 20 20 22 4b 69 6c 6c 20 66 72 6f 6d 20 70 6f 69 6e 74 20 74 6f 20 65 6e 64 20 6f too)..."Kill.from.point.to.end.o
1460 66 20 6c 69 6e 65 2e 0a 49 66 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 20 4e 45 57 4c 49 4e 45 2d f.line..If.optional.arg.NEWLINE-
1480 54 4f 4f 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 64 65 6c 65 74 65 20 74 68 65 20 6e 65 77 6c 69 TOO.is.non-nil,.delete.the.newli
14a0 6e 65 20 74 6f 6f 2e 0a 44 6f 65 73 20 6e 6f 74 20 61 66 66 65 63 74 20 74 68 65 20 6b 69 6c 6c ne.too..Does.not.affect.the.kill
14c0 20 72 69 6e 67 2e 22 0a 20 20 28 6c 65 74 20 28 28 65 6f 6c 20 28 6c 69 6e 65 2d 65 6e 64 2d 70 .ring."...(let.((eol.(line-end-p
14e0 6f 73 69 74 69 6f 6e 29 29 29 0a 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 28 70 osition))).....(delete-region.(p
1500 6f 69 6e 74 29 20 65 6f 6c 29 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 6e 65 77 6c 69 6e oint).eol).....(when.(and.newlin
1520 65 2d 74 6f 6f 20 28 3d 20 28 66 6f 6c 6c 6f 77 69 6e 67 2d 63 68 61 72 29 20 3f 5c 6e 29 29 0a e-too.(=.(following-char).?\n)).
1540 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 63 68 61 72 20 31 29 29 29 29 0a 0a 28 64 65 66 75 6e ......(delete-char.1))))..(defun
1560 20 63 61 6c 69 62 72 65 64 62 2d 73 65 6e 64 2d 65 64 69 74 65 64 2d 61 6e 6e 6f 74 61 74 69 6f .calibredb-send-edited-annotatio
1580 6e 20 28 29 0a 20 20 22 55 73 65 20 62 75 66 66 65 72 20 63 6f 6e 74 65 6e 74 73 20 61 73 20 61 n.()..."Use.buffer.contents.as.a
15a0 6e 6e 6f 74 61 74 69 6f 6e 20 66 6f 72 20 61 6e 20 65 62 6f 6f 6b 2e 0a 4c 69 6e 65 73 20 62 65 nnotation.for.an.ebook..Lines.be
15c0 67 69 6e 6e 69 6e 67 20 77 69 74 68 20 60 23 27 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 0a 42 6f ginning.with.`#'.are.ignored..Bo
15e0 75 6e 64 20 74 6f 20 5c 5c 3c 43 2d 63 43 2d 63 3e 20 69 6e 20 60 63 61 6c 69 62 72 65 64 62 2d und.to.\\<C-cC-c>.in.`calibredb-
1600 65 64 69 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 6d 6f 64 65 27 2e 22 0a 20 20 28 69 6e 74 65 72 edit-annotation-mode'."...(inter
1620 61 63 74 69 76 65 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 64 65 72 69 76 65 64 2d 6d 6f 64 65 2d active)...(unless.(derived-mode-
1640 70 20 27 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 6d 6f 64 p.'calibredb-edit-annotation-mod
1660 65 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 74 20 69 6e 20 6d 6f 64 65 20 64 65 72 69 76 e).....(error."Not.in.mode.deriv
1680 65 64 20 66 72 6f 6d 20 60 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74 69 ed.from.`calibredb-edit-annotati
16a0 6f 6e 2d 6d 6f 64 65 27 22 29 29 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d on-mode'"))...(goto-char.(point-
16c0 6d 69 6e 29 29 0a 20 20 3b 3b 20 28 77 68 69 6c 65 20 28 3c 20 28 70 6f 69 6e 74 29 20 28 70 6f min))...;;.(while.(<.(point).(po
16e0 69 6e 74 2d 6d 61 78 29 29 20 28 69 66 20 28 3d 20 28 66 6f 6c 6c 6f 77 69 6e 67 2d 63 68 61 72 int-max)).(if.(=.(following-char
1700 29 20 3f 23 29 20 28 63 61 6c 69 62 72 65 64 62 2d 6b 69 6c 6c 2d 6c 69 6e 65 20 74 29 20 28 66 ).?#).(calibredb-kill-line.t).(f
1720 6f 72 77 61 72 64 2d 6c 69 6e 65 20 31 29 29 29 0a 20 20 28 6c 65 74 20 28 28 61 6e 6e 6f 74 61 orward-line.1)))...(let.((annota
1740 74 69 6f 6e 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 tion......(buffer-substring-no-p
1760 72 6f 70 65 72 74 69 65 73 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 roperties.(point-min).(point-max
1780 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 61 6e 64 69 64 61 74 65 20 20 20 20 20 20 20 20 63 61 ))).........(candidate........ca
17a0 6c 69 62 72 65 64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 63 61 6e 64 69 64 61 74 65 29 0a 20 20 libredb-annotation-candidate)...
17c0 20 20 20 20 20 20 28 62 65 67 20 20 20 20 20 20 20 20 28 63 61 72 20 63 61 6c 69 62 72 65 64 62 ......(beg........(car.calibredb
17e0 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 70 61 72 61 6d 65 74 65 72 29 29 0a 20 20 20 20 20 20 20 20 -annotation-parameter)).........
1800 28 70 6f 73 20 20 20 20 20 20 20 20 28 63 64 72 20 63 61 6c 69 62 72 65 64 62 2d 61 6e 6e 6f 74 (pos........(cdr.calibredb-annot
1820 61 74 69 6f 6e 2d 70 61 72 61 6d 65 74 65 72 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 73 74 ation-parameter))).....(when.(st
1840 72 69 6e 67 3d 20 61 6e 6e 6f 74 61 74 69 6f 6e 20 22 22 29 20 28 73 65 74 71 20 61 6e 6e 6f 74 ring=.annotation."").(setq.annot
1860 61 74 69 6f 6e 20 6e 69 6c 29 29 0a 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 61 ation.nil)).....(calibredb-comma
1880 6e 64 20 3a 63 6f 6d 6d 61 6e 64 20 22 73 65 74 5f 6d 65 74 61 64 61 74 61 22 0a 20 20 20 20 20 nd.:command."set_metadata"......
18a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6f 70 74 69 6f 6e 20 28 66 6f 72 6d 61 ..................:option.(forma
18c0 74 20 22 2d 2d 66 69 65 6c 64 20 25 73 3a 25 73 20 22 20 63 61 6c 69 62 72 65 64 62 2d 61 6e 6e t."--field.%s:%s.".calibredb-ann
18e0 6f 74 61 74 69 6f 6e 2d 66 69 65 6c 64 20 28 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 20 61 otation-field.(prin1-to-string.a
1900 6e 6e 6f 74 61 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nnotation)).....................
1920 20 20 20 3a 69 64 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64 ...:id.(calibredb-getattr.candid
1940 61 74 65 20 3a 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ate.:id)........................
1960 3a 6c 69 62 72 61 72 79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 :library.(format."--library-path
1980 20 5c 22 25 73 5c 22 22 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 29 0a 20 20 .\"%s\"".calibredb-root-dir))...
19a0 20 20 28 63 61 6c 69 62 72 65 64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 71 75 69 74 29 0a 20 20 ..(calibredb-annotation-quit)...
19c0 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d 72 ..(calibredb-search-refresh-or-r
19e0 65 73 75 6d 65 20 62 65 67 20 70 6f 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 esume.beg.pos)))..(defun.calibre
1a00 64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 71 75 69 74 20 28 29 0a 20 20 22 51 75 69 74 20 2a 63 db-annotation-quit.()..."Quit.*c
1a20 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e 61 74 61 74 69 6f 6e 2a 2e 0a 42 6f 75 6e 64 alibredb-edit-annatation*..Bound
1a40 20 74 6f 20 5c 5c 3c 43 2d 63 43 2d 6b 3e 20 69 6e 20 60 63 61 6c 69 62 72 65 64 62 2d 65 64 69 .to.\\<C-cC-k>.in.`calibredb-edi
1a60 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 6d 6f 64 65 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 t-annotation-mode'."...(interact
1a80 69 76 65 29 0a 20 20 28 77 68 65 6e 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c ive)...(when.(eq.major-mode.'cal
1aa0 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 6d 6f 64 65 29 0a 20 20 20 ibredb-edit-annotation-mode)....
1ac0 20 28 69 66 20 28 3c 20 28 6c 65 6e 67 74 68 20 28 77 69 6e 64 6f 77 2d 70 72 65 76 2d 62 75 66 .(if.(<.(length.(window-prev-buf
1ae0 66 65 72 73 29 29 20 32 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 fers)).2).........(progn........
1b00 20 20 20 28 71 75 69 74 2d 77 69 6e 64 6f 77 29 0a 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c ...(quit-window)...........(kill
1b20 2d 62 75 66 66 65 72 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e 61 74 61 74 -buffer."*calibredb-edit-annatat
1b40 69 6f 6e 2a 22 29 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 29 29 29 29 0a 0a ion*")).......(kill-buffer))))..
1b60 28 70 72 6f 76 69 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 29 0a (provide.'calibredb-annotation).
1b80 0a 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2e 65 6c 20 65 6e 64 .;;;.calibredb-annotation.el.end
1ba0 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 s.here..........................
1bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c00 63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37 30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62 calibredb-20250705.225/calibredb
1c20 2d 63 6f 6e 73 75 6c 74 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -consult.el.....................
1c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1c80 30 30 31 33 34 33 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 35 36 32 00 20 30 00 00 00 0013436.00000000000.016562..0...
1ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e00 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 73 75 6c 74 2e 65 6c 20 2d 2d 2d 20 53 75 70 ;;;.calibredb-consult.el.---.Sup
1e20 70 6f 72 74 20 63 6f 6e 73 75 6c 74 20 66 6f 72 20 63 61 6c 69 62 72 65 64 62 20 2d 2a 2d 20 6c port.consult.for.calibredb.-*-.l
1e40 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 exical-binding:.t;.-*-..;;.Copyr
1e60 69 67 68 74 20 28 43 29 20 32 30 32 30 20 44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b 20 41 75 74 ight.(C).2020.Damon.Chan..;;.Aut
1e80 68 6f 72 3a 20 44 61 6d 6f 6e 20 43 68 61 6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67 6d 61 69 6c 2e hor:.Damon.Chan.<elecming@gmail.
1ea0 63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f com>.;;.URL:.https://github.com/
1ec0 63 68 65 6e 79 61 6e 6d 69 6e 67 2f 63 61 6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b 20 4b 65 79 77 chenyanming/calibredb.el.;;.Keyw
1ee0 6f 72 64 73 3a 20 74 6f 6f 6c 73 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 4e 4f 54 ords:.tools..;;.This.file.is.NOT
1f00 20 70 61 72 74 20 6f 66 20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f .part.of.GNU.Emacs...;;.This.pro
1f20 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 gram.is.free.software;.you.can.r
1f40 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 edistribute.it.and/or.modify.;;.
1f60 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 it.under.the.terms.of.the.GNU.Ge
1f80 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 neral.Public.License.as.publishe
1fa0 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 d.by.;;.the.Free.Software.Founda
1fc0 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 tion,.either.version.3.of.the.Li
1fe0 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e cense,.or.;;.(at.your.option).an
2000 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 y.later.version...;;.This.progra
2020 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 m.is.distributed.in.the.hope.tha
2040 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 t.it.will.be.useful,.;;.but.WITH
2060 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 OUT.ANY.WARRANTY;.without.even.t
2080 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 he.implied.warranty.of.;;.MERCHA
20a0 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 NTABILITY.or.FITNESS.FOR.A.PARTI
20c0 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 CULAR.PURPOSE...See.the.;;.GNU.G
20e0 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 eneral.Public.License.for.more.d
2100 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 etails...;;.You.should.have.rece
2120 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 ived.a.copy.of.the.GNU.General.P
2140 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 ublic.License.;;.along.with.this
2160 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f .program...If.not,.see.<https://
2180 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d www.gnu.org/licenses/>...;;;.Com
21a0 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 mentary:..;;;.Code:..(require.'c
21c0 61 6c 69 62 72 65 64 62 2d 63 6f 72 65 29 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 alibredb-core).(require.'calibre
21e0 64 62 2d 73 65 61 72 63 68 29 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 75 db-search).(require.'calibredb-u
2200 74 69 6c 73 29 0a 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e tils)...(defcustom.calibredb-con
2220 73 75 6c 74 2d 72 69 70 67 72 65 70 2d 61 6c 6c 2d 61 72 67 73 0a 20 20 22 72 67 61 20 2d 2d 6e sult-ripgrep-all-args..."rga.--n
2240 75 6c 6c 20 2d 2d 6c 69 6e 65 2d 62 75 66 66 65 72 65 64 20 2d 2d 63 6f 6c 6f 72 3d 6e 65 76 65 ull.--line-buffered.--color=neve
2260 72 20 2d 2d 6d 61 78 2d 63 6f 6c 75 6d 6e 73 3d 31 30 30 30 20 2d 2d 70 61 74 68 2d 73 65 70 61 r.--max-columns=1000.--path-sepa
2280 72 61 74 6f 72 20 2f 5c 20 20 2d 2d 73 6d 61 72 74 2d 63 61 73 65 20 2d 2d 6e 6f 2d 68 65 61 64 rator./\..--smart-case.--no-head
22a0 69 6e 67 20 2d 2d 77 69 74 68 2d 66 69 6c 65 6e 61 6d 65 20 2d 2d 6c 69 6e 65 2d 6e 75 6d 62 65 ing.--with-filename.--line-numbe
22c0 72 20 2d 2d 74 79 70 65 20 70 64 66 22 0a 20 20 22 43 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 61 72 r.--type.pdf"..."Command.line.ar
22e0 67 75 6d 65 6e 74 73 20 66 6f 72 20 72 69 70 67 72 65 70 2c 20 73 65 65 20 60 63 61 6c 69 62 72 guments.for.ripgrep,.see.`calibr
2300 65 64 62 2d 63 6f 6e 73 75 6c 74 2d 72 69 70 67 72 65 70 2d 61 6c 6c 27 2e 0a 54 68 65 20 64 79 edb-consult-ripgrep-all'..The.dy
2320 6e 61 6d 69 63 61 6c 6c 79 20 63 6f 6d 70 75 74 65 64 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 namically.computed.arguments.are
2340 20 61 70 70 65 6e 64 65 64 2e 0a 43 61 6e 20 62 65 20 65 69 74 68 65 72 20 61 20 73 74 72 69 6e .appended..Can.be.either.a.strin
2360 67 2c 20 6f 72 20 61 20 6c 69 73 74 20 6f 66 20 73 74 72 69 6e 67 73 20 6f 72 20 65 78 70 72 65 g,.or.a.list.of.strings.or.expre
2380 73 73 69 6f 6e 73 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 73 74 72 69 6e 67 ssions."...:type.'(choice.string
23a0 20 28 72 65 70 65 61 74 20 28 63 68 6f 69 63 65 20 73 74 72 69 6e 67 20 65 78 70 72 65 73 73 69 .(repeat.(choice.string.expressi
23c0 6f 6e 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 73 75 6c 74 on))))..(defun.calibredb-consult
23e0 2d 72 65 61 64 20 28 61 72 67 29 0a 20 20 22 63 6f 6e 73 75 6c 74 20 72 65 61 64 20 66 6f 72 20 -read.(arg)..."consult.read.for.
2400 63 61 6c 69 62 72 65 64 62 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a calibredb."...(interactive."P").
2420 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 63 6f 6e 73 75 6c 74 2d 2d 72 65 61 64 29 0a 20 ..(if.(fboundp.'consult--read)..
2440 20 20 20 20 20 28 6c 65 74 20 28 28 63 61 6e 64 69 64 61 74 65 73 20 28 63 61 6c 69 62 72 65 64 .....(let.((candidates.(calibred
2460 62 2d 63 61 6e 64 69 64 61 74 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 63 61 6e 64 b-candidates))).........(if.cand
2480 69 64 61 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 idates.............(calibredb-fi
24a0 6e 64 2d 66 69 6c 65 20 28 63 6f 6e 73 75 6c 74 2d 2d 72 65 61 64 20 63 61 6e 64 69 64 61 74 65 nd-file.(consult--read.candidate
24c0 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 70 72 s............................:pr
24e0 6f 6d 70 74 20 22 50 69 63 6b 20 61 20 62 6f 6f 6b 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 ompt."Pick.a.book:."............
2500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 6f 6f 6b 75 70 20 23 27 63 6f 6e 73 75 6c ................:lookup.#'consul
2520 74 2d 2d 6c 6f 6f 6b 75 70 2d 63 64 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t--lookup-cdr...................
2540 20 20 20 20 20 20 20 20 20 3a 73 6f 72 74 20 6e 69 6c 29 20 61 72 67 29 0a 20 20 20 20 20 20 20 .........:sort.nil).arg)........
2560 20 20 20 28 6d 65 73 73 61 67 65 20 22 49 4e 56 41 4c 49 44 20 4c 49 42 52 41 52 59 22 29 29 29 ...(message."INVALID.LIBRARY")))
2580 29 29 0a 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 73 75 6c 74 2d 2d 72 ))...(defun.calibredb-consult--r
25a0 69 70 67 72 65 70 2d 61 6c 6c 2d 6d 61 6b 65 2d 62 75 69 6c 64 65 72 20 28 70 61 74 68 73 29 0a ipgrep-all-make-builder.(paths).
25c0 20 20 22 43 72 65 61 74 65 20 72 69 70 67 72 65 70 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 62 .."Create.ripgrep.command.line.b
25e0 75 69 6c 64 65 72 20 67 69 76 65 6e 20 50 41 54 48 53 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 63 uilder.given.PATHS."...(let*.((c
2600 6d 64 20 28 63 6f 6e 73 75 6c 74 2d 2d 62 75 69 6c 64 2d 61 72 67 73 20 63 61 6c 69 62 72 65 64 md.(consult--build-args.calibred
2620 62 2d 63 6f 6e 73 75 6c 74 2d 72 69 70 67 72 65 70 2d 61 6c 6c 2d 61 72 67 73 29 29 0a 20 20 20 b-consult-ripgrep-all-args))....
2640 20 20 20 20 20 20 28 74 79 70 65 20 28 69 66 20 28 63 6f 6e 73 75 6c 74 2d 2d 67 72 65 70 2d 6c ......(type.(if.(consult--grep-l
2660 6f 6f 6b 61 68 65 61 64 2d 70 20 28 63 61 72 20 63 6d 64 29 20 22 2d 50 22 29 20 27 70 63 72 65 ookahead-p.(car.cmd)."-P").'pcre
2680 20 27 65 78 74 65 6e 64 65 64 29 29 29 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 69 6e 70 75 74 .'extended))).....(lambda.(input
26a0 29 0a 20 20 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 2a 20 28 28 60 28 2c 61 72 67 20 2e 20 2c ).......(pcase-let*.((`(,arg...,
26c0 6f 70 74 73 29 20 28 63 6f 6e 73 75 6c 74 2d 2d 63 6f 6d 6d 61 6e 64 2d 73 70 6c 69 74 20 69 6e opts).(consult--command-split.in
26e0 70 75 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6c 61 67 73 20 put))....................(flags.
2700 28 61 70 70 65 6e 64 20 63 6d 64 20 6f 70 74 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (append.cmd.opts))..............
2720 20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d 63 61 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ......(ignore-case..............
2740 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e 6f 74 20 28 6f 72 20 28 6d 65 6d 62 65 72 20 22 2d 73 .......(and.(not.(or.(member."-s
2760 22 20 66 6c 61 67 73 29 20 28 6d 65 6d 62 65 72 20 22 2d 2d 63 61 73 65 2d 73 65 6e 73 69 74 69 ".flags).(member."--case-sensiti
2780 76 65 22 20 66 6c 61 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ve".flags)))....................
27a0 20 20 20 20 20 20 28 6f 72 20 28 6d 65 6d 62 65 72 20 22 2d 69 22 20 66 6c 61 67 73 29 20 28 6d ......(or.(member."-i".flags).(m
27c0 65 6d 62 65 72 20 22 2d 2d 69 67 6e 6f 72 65 2d 63 61 73 65 22 20 66 6c 61 67 73 29 0a 20 20 20 ember."--ignore-case".flags)....
27e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 ..........................(and.(
2800 6f 72 20 28 6d 65 6d 62 65 72 20 22 2d 53 22 20 66 6c 61 67 73 29 20 28 6d 65 6d 62 65 72 20 22 or.(member."-S".flags).(member."
2820 2d 2d 73 6d 61 72 74 2d 63 61 73 65 22 20 66 6c 61 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 --smart-case".flags))...........
2840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 63 61 ........................(let.(ca
2860 73 65 2d 66 6f 6c 64 2d 73 65 61 72 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 se-fold-search).................
2880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 43 61 73 65 20 69 6e 73 65 ....................;;.Case.inse
28a0 6e 73 69 74 69 76 65 20 69 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 75 70 70 65 72 63 61 73 nsitive.if.there.are.no.uppercas
28c0 65 20 6c 65 74 74 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.letters.......................
28e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 ..............(not.(string-match
2900 2d 70 20 22 5b 5b 3a 75 70 70 65 72 3a 5d 5d 22 20 61 72 67 29 29 29 29 29 29 29 29 0a 20 20 20 -p."[[:upper:]]".arg))))))))....
2920 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 6d 65 6d 62 65 72 20 22 2d 46 22 20 66 6c 61 67 73 29 .....(if.(or.(member."-F".flags)
2940 20 28 6d 65 6d 62 65 72 20 22 2d 2d 66 69 78 65 64 2d 73 74 72 69 6e 67 73 22 20 66 6c 61 67 73 .(member."--fixed-strings".flags
2960 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 61 70 70 65 6e 64 20 63 6d 64 )).............(cons.(append.cmd
2980 20 28 6c 69 73 74 20 22 2d 65 22 20 61 72 67 29 20 6f 70 74 73 20 70 61 74 68 73 29 0a 20 20 20 .(list."-e".arg).opts.paths)....
29a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 2d 70 61 72 74 69 61 6c 6c 79 20 ...............(apply-partially.
29c0 23 27 63 6f 6e 73 75 6c 74 2d 2d 68 69 67 68 6c 69 67 68 74 2d 72 65 67 65 78 70 73 0a 20 20 20 #'consult--highlight-regexps....
29e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2a00 28 6c 69 73 74 20 28 72 65 67 65 78 70 2d 71 75 6f 74 65 20 61 72 67 29 29 20 69 67 6e 6f 72 65 (list.(regexp-quote.arg)).ignore
2a20 2d 63 61 73 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 20 28 28 60 -case))...........(pcase-let.((`
2a40 28 2c 72 65 20 2e 20 2c 68 6c 29 20 28 66 75 6e 63 61 6c 6c 20 63 6f 6e 73 75 6c 74 2d 2d 72 65 (,re...,hl).(funcall.consult--re
2a60 67 65 78 70 2d 63 6f 6d 70 69 6c 65 72 20 61 72 67 20 74 79 70 65 20 69 67 6e 6f 72 65 2d 63 61 gexp-compiler.arg.type.ignore-ca
2a80 73 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 72 65 0a 20 20 20 20 20 se))).............(when.re......
2aa0 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 61 70 70 65 6e 64 20 63 6d 64 20 28 61 6e 64 20 .........(cons.(append.cmd.(and.
2ac0 28 65 71 20 74 79 70 65 20 27 70 63 72 65 29 20 27 28 22 2d 50 22 29 29 0a 20 20 20 20 20 20 20 (eq.type.'pcre).'("-P"))........
2ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 22 2d 65 22 20 .....................(list."-e".
2b00 28 63 6f 6e 73 75 6c 74 2d 2d 6a 6f 69 6e 2d 72 65 67 65 78 70 73 20 72 65 20 74 79 70 65 29 29 (consult--join-regexps.re.type))
2b20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 70 74 .............................opt
2b40 73 20 70 61 74 68 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 6c 29 s.paths).....................hl)
2b60 29 29 29 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 63 )))))))..;;;###autoload.(defun.c
2b80 61 6c 69 62 72 65 64 62 2d 63 6f 6e 73 75 6c 74 2d 72 69 70 67 72 65 70 2d 61 6c 6c 20 28 26 6f alibredb-consult-ripgrep-all.(&o
2ba0 70 74 69 6f 6e 61 6c 20 64 69 72 20 69 6e 69 74 69 61 6c 29 0a 20 20 22 53 65 61 72 63 68 20 77 ptional.dir.initial)..."Search.w
2bc0 69 74 68 20 60 72 67 61 60 20 66 6f 72 20 66 69 6c 65 73 20 69 6e 20 44 49 52 20 77 68 65 72 65 ith.`rga`.for.files.in.DIR.where
2be0 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 6d 61 74 63 68 65 73 20 61 20 72 65 67 65 78 70 2e 0a 20 .the.content.matches.a.regexp...
2c00 20 54 68 65 20 69 6e 69 74 69 61 6c 20 69 6e 70 75 74 20 69 73 20 67 69 76 65 6e 20 62 79 20 74 .The.initial.input.is.given.by.t
2c20 68 65 20 49 4e 49 54 49 41 4c 20 61 72 67 75 6d 65 6e 74 2e 20 53 65 65 20 60 63 6f 6e 73 75 6c he.INITIAL.argument..See.`consul
2c40 74 2d 67 72 65 70 60 0a 20 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 50 53 3a 20 t-grep`...for.more.details..PS:.
2c60 43 75 72 72 65 6e 74 6c 79 20 6f 6e 6c 79 20 73 75 70 70 6f 72 74 20 70 64 66 2c 20 62 75 74 20 Currently.only.support.pdf,.but.
2c80 69 74 20 69 73 20 73 74 69 6c 6c 20 6e 6f 74 20 70 65 72 66 65 63 74 2e 22 0a 20 20 28 69 6e 74 it.is.still.not.perfect."...(int
2ca0 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 63 6f eractive."P")...(if.(fboundp.'co
2cc0 6e 73 75 6c 74 2d 2d 67 72 65 70 29 0a 20 20 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 2a 20 28 nsult--grep).......(pcase-let*.(
2ce0 28 60 28 2c 70 72 6f 6d 70 74 20 2c 70 61 74 68 73 20 2c 64 69 72 29 20 28 63 6f 6e 73 75 6c 74 (`(,prompt.,paths.,dir).(consult
2d00 2d 2d 64 69 72 65 63 74 6f 72 79 2d 70 72 6f 6d 70 74 20 22 53 65 61 72 63 68 20 43 61 6c 69 62 --directory-prompt."Search.Calib
2d20 72 65 64 62 3a 20 22 20 28 6f 72 20 64 69 72 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 redb:.".(or.dir.calibredb-root-d
2d40 69 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 61 75 6c ir)))....................(defaul
2d60 74 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-directory.dir)................
2d80 20 20 20 20 28 62 75 69 6c 64 65 72 20 28 66 75 6e 63 61 6c 6c 20 23 27 63 61 6c 69 62 72 65 64 ....(builder.(funcall.#'calibred
2da0 62 2d 63 6f 6e 73 75 6c 74 2d 2d 72 69 70 67 72 65 70 2d 61 6c 6c 2d 6d 61 6b 65 2d 62 75 69 6c b-consult--ripgrep-all-make-buil
2dc0 64 65 72 20 70 61 74 68 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 der.paths))....................(
2de0 63 6f 6e 73 75 6c 74 2d 70 72 65 76 69 65 77 2d 6b 65 79 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 consult-preview-key.nil)).......
2e00 20 20 28 63 6f 6e 73 75 6c 74 2d 2d 72 65 61 64 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 75 ..(consult--read..........(consu
2e20 6c 74 2d 2d 61 73 79 6e 63 2d 63 6f 6d 6d 61 6e 64 20 62 75 69 6c 64 65 72 0a 20 20 20 20 20 20 lt--async-command.builder.......
2e40 20 20 20 20 20 28 63 6f 6e 73 75 6c 74 2d 2d 67 72 65 70 2d 66 6f 72 6d 61 74 20 62 75 69 6c 64 .....(consult--grep-format.build
2e60 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 3a 66 69 6c 65 2d 68 61 6e 64 6c 65 72 20 74 29 20 er)............:file-handler.t).
2e80 3b 3b 20 61 6c 6c 6f 77 20 74 72 61 6d 70 0a 20 20 20 20 20 20 20 20 20 3a 70 72 6f 6d 70 74 20 ;;.allow.tramp..........:prompt.
2ea0 70 72 6f 6d 70 74 0a 20 20 20 20 20 20 20 20 20 3a 6c 6f 6f 6b 75 70 20 28 6c 61 6d 62 64 61 20 prompt..........:lookup.(lambda.
2ec0 28 73 65 6c 65 63 74 65 64 20 63 61 6e 64 69 64 61 74 65 73 20 26 72 65 73 74 20 5f 29 0a 20 20 (selected.candidates.&rest._)...
2ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 72 65 73 75 6c 74 20 .................(let*.((result.
2f00 73 65 6c 65 63 74 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 selected).......................
2f20 20 20 20 20 28 70 61 72 74 73 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 72 65 73 75 6c 74 20 ....(parts.(split-string.result.
2f40 22 3a 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ":"))...........................
2f60 28 66 69 6c 65 2d 6e 61 6d 65 20 28 63 61 72 20 70 61 72 74 73 29 29 0a 20 20 20 20 20 20 20 20 (file-name.(car.parts)).........
2f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 67 65 20 28 77 68 65 6e 20 28 73 ..................(page.(when.(s
2fa0 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 50 61 67 65 20 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 22 20 tring-match."Page.\\([0-9]+\\)".
2fc0 28 6e 74 68 20 32 20 70 61 72 74 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (nth.2.parts))..................
2fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 .................(match-string.1
3000 20 28 6e 74 68 20 32 20 70 61 72 74 73 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(nth.2.parts)))))..............
3020 20 20 20 20 20 20 20 20 28 66 69 6e 64 2d 66 69 6c 65 20 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 ........(find-file.file-name)...
3040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 70 61 67 65 0a 20 20 ...................(when.page...
3060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 .....................(cond......
3080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6d 65 6d 71 20 6d 61 6a 6f 72 2d ...................((memq.major-
30a0 6d 6f 64 65 20 27 28 64 6f 63 2d 76 69 65 77 2d 6d 6f 64 65 20 70 64 66 2d 76 69 65 77 2d 6d 6f mode.'(doc-view-mode.pdf-view-mo
30c0 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 de))..........................(i
30e0 66 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 64 6f 63 2d 76 69 65 77 2d 6d 6f 64 65 29 f.(eq.major-mode.'doc-view-mode)
3100 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 ..............................(d
3120 6f 63 2d 76 69 65 77 2d 67 6f 74 6f 2d 70 61 67 65 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d oc-view-goto-page.(string-to-num
3140 62 65 72 20 70 61 67 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ber.page))......................
3160 20 20 20 20 20 20 28 70 64 66 2d 76 69 65 77 2d 67 6f 74 6f 2d 70 61 67 65 20 28 73 74 72 69 6e ......(pdf-view-goto-page.(strin
3180 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 70 61 67 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 g-to-number.page))))............
31a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 3b 3b 20 77 6f 72 6b 61 72 6f 75 6e 64 2c 20 61 .............(t.;;.workaround,.a
31c0 66 74 65 72 20 66 69 6e 64 2d 66 69 6c 65 2c 20 74 68 65 20 70 64 66 20 69 73 20 6e 6f 74 20 79 fter.find-file,.the.pdf.is.not.y
31e0 65 74 20 6f 70 65 6e 65 64 2c 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 69 73 20 73 74 69 6c 6c 20 74 et.opened,.major-mode.is.still.t
3200 68 65 20 6f 6c 64 20 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 he.old.one......................
3220 20 20 20 20 28 72 65 71 75 69 72 65 20 27 65 61 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(require.'eaf)..............
3240 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 2a 20 28 28 62 75 66 66 65 72 20 ............(when-let*.((buffer.
3260 28 65 61 66 2d 69 6e 74 65 72 6c 65 61 76 65 2d 2d 66 69 6e 64 2d 62 75 66 66 65 72 20 28 65 78 (eaf-interleave--find-buffer.(ex
3280 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 2d 6e 61 6d 65 29 29 29 29 0a 20 20 20 pand-file-name.file-name))))....
32a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 77 69 74 63 68 2d ........................(switch-
32c0 74 6f 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 to-buffer.buffer)...............
32e0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 61 66 2d 69 6e 74 65 72 6c 65 61 76 65 2d 2d 64 69 .............(eaf-interleave--di
3300 73 70 6c 61 79 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 splay-buffer.buffer)............
3320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 61 66 2d 69 6e 74 65 72 6c 65 61 76 65 2d ................(eaf-interleave-
3340 2d 70 64 66 2d 76 69 65 77 65 72 2d 67 6f 74 6f 2d 70 61 67 65 20 28 65 78 70 61 6e 64 2d 66 69 -pdf-viewer-goto-page.(expand-fi
3360 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 2d 6e 61 6d 65 29 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 le-name.file-name).(string-to-nu
3380 6d 62 65 72 20 70 61 67 65 29 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 3a 73 74 61 74 mber.page))))))))..........:stat
33a0 65 20 28 63 6f 6e 73 75 6c 74 2d 2d 67 72 65 70 2d 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 e.(consult--grep-state).........
33c0 20 3a 69 6e 69 74 69 61 6c 20 28 63 6f 6e 73 75 6c 74 2d 2d 61 73 79 6e 63 2d 73 70 6c 69 74 2d .:initial.(consult--async-split-
33e0 69 6e 69 74 69 61 6c 20 69 6e 69 74 69 61 6c 29 0a 20 20 20 20 20 20 20 20 20 3a 61 64 64 2d 68 initial.initial)..........:add-h
3400 69 73 74 6f 72 79 20 28 63 6f 6e 73 75 6c 74 2d 2d 61 73 79 6e 63 2d 73 70 6c 69 74 2d 74 68 69 istory.(consult--async-split-thi
3420 6e 67 61 74 70 74 20 27 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 3a 72 65 71 75 69 72 ngatpt.'symbol)..........:requir
3440 65 2d 6d 61 74 63 68 20 74 0a 20 20 20 20 20 20 20 20 20 3a 63 61 74 65 67 6f 72 79 20 27 63 6f e-match.t..........:category.'co
3460 6e 73 75 6c 74 2d 67 72 65 70 0a 20 20 20 20 20 20 20 20 20 3a 67 72 6f 75 70 20 23 27 63 6f 6e nsult-grep..........:group.#'con
3480 73 75 6c 74 2d 2d 70 72 65 66 69 78 2d 67 72 6f 75 70 0a 20 20 20 20 20 20 20 20 20 3a 68 69 73 sult--prefix-group..........:his
34a0 74 6f 72 79 20 27 28 3a 69 6e 70 75 74 20 63 6f 6e 73 75 6c 74 2d 2d 67 72 65 70 2d 68 69 73 74 tory.'(:input.consult--grep-hist
34c0 6f 72 79 29 0a 20 20 20 20 20 20 20 20 20 3a 73 6f 72 74 20 6e 69 6c 29 29 29 29 0a 0a 28 70 72 ory)..........:sort.nil))))..(pr
34e0 6f 76 69 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 73 75 6c 74 29 0a 0a 3b 3b 3b 20 63 ovide.'calibredb-consult)..;;;.c
3500 61 6c 69 62 72 65 64 62 2d 63 6f 6e 73 75 6c 74 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 alibredb-consult.el.ends.here...
3520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
35a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
35c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
35e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3600 63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37 30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62 calibredb-20250705.225/calibredb
3620 2d 63 6f 72 65 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -core.el........................
3640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
3680 30 31 30 31 34 35 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 30 32 31 00 20 30 00 00 00 0101454.00000000000.016021..0...
36a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
3720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
3740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3800 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 72 65 2e 65 6c 20 2d 2d 2d 20 43 6f 72 65 20 66 ;;;.calibredb-core.el.---.Core.f
3820 6f 72 20 63 61 6c 69 62 72 65 64 62 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 or.calibredb.-*-.lexical-binding
3840 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 32 30 20 :.t;.-*-..;;.Copyright.(C).2020.
3860 44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 44 61 6d 6f 6e 20 43 68 61 Damon.Chan..;;.Author:.Damon.Cha
3880 6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a 20 68 n.<elecming@gmail.com>.;;.URL:.h
38a0 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 65 6e 79 61 6e 6d 69 6e 67 2f 63 61 ttps://github.com/chenyanming/ca
38c0 6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 74 6f 6f 6c 73 0a 0a 3b libredb.el.;;.Keywords:.tools..;
38e0 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 4e 4f 54 20 70 61 72 74 20 6f 66 20 47 4e 55 20 45 ;.This.file.is.NOT.part.of.GNU.E
3900 6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 macs...;;.This.program.is.free.s
3920 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 oftware;.you.can.redistribute.it
3940 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 .and/or.modify.;;.it.under.the.t
3960 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c erms.of.the.GNU.General.Public.L
3980 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 icense.as.published.by.;;.the.Fr
39a0 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 ee.Software.Foundation,.either.v
39c0 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 ersion.3.of.the.License,.or.;;.(
39e0 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f at.your.option).any.later.versio
3a00 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 n...;;.This.program.is.distribut
3a20 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 ed.in.the.hope.that.it.will.be.u
3a40 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e seful,.;;.but.WITHOUT.ANY.WARRAN
3a60 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 TY;.without.even.the.implied.war
3a80 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 ranty.of.;;.MERCHANTABILITY.or.F
3aa0 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e ITNESS.FOR.A.PARTICULAR.PURPOSE.
3ac0 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 ..See.the.;;.GNU.General.Public.
3ae0 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f License.for.more.details...;;.Yo
3b00 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 u.should.have.received.a.copy.of
3b20 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a .the.GNU.General.Public.License.
3b40 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 ;;.along.with.this.program...If.
3b60 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 not,.see.<https://www.gnu.org/li
3b80 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 3b 20 censes/>...;;;.Commentary:..;;;.
3ba0 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 73 29 0a 28 72 65 71 75 69 72 65 20 27 64 61 Code:..(require.'s).(require.'da
3bc0 73 68 29 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 sh).(require.'cl-lib).(require.'
3be0 63 6c 2d 6d 61 63 73 29 0a 28 72 65 71 75 69 72 65 20 27 73 71 6c 29 0a 28 72 65 71 75 69 72 65 cl-macs).(require.'sql).(require
3c00 20 27 68 6c 2d 6c 69 6e 65 29 0a 28 72 65 71 75 69 72 65 20 27 74 72 61 6e 73 69 65 6e 74 29 0a .'hl-line).(require.'transient).
3c20 28 72 65 71 75 69 72 65 20 27 73 65 6e 64 6d 61 69 6c 29 0a 28 72 65 71 75 69 72 65 20 27 64 69 (require.'sendmail).(require.'di
3c40 72 65 64 29 0a 28 72 65 71 75 69 72 65 20 27 74 68 69 6e 67 61 74 70 74 29 0a 28 72 65 71 75 69 red).(require.'thingatpt).(requi
3c60 72 65 20 27 70 63 61 73 65 29 0a 28 72 65 71 75 69 72 65 20 27 6d 61 69 6c 63 61 70 29 0a 28 72 re.'pcase).(require.'mailcap).(r
3c80 65 71 75 69 72 65 20 27 73 65 71 29 0a 0a 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 28 equire.'seq)..(ignore-errors...(
3ca0 72 65 71 75 69 72 65 20 27 68 65 6c 6d 29 0a 20 20 28 72 65 71 75 69 72 65 20 27 69 76 79 29 0a require.'helm)...(require.'ivy).
3cc0 20 20 28 72 65 71 75 69 72 65 20 27 61 6c 6c 2d 74 68 65 2d 69 63 6f 6e 73 29 0a 20 20 28 72 65 ..(require.'all-the-icons)...(re
3ce0 71 75 69 72 65 20 27 69 63 6f 6e 73 2d 69 6e 2d 74 65 72 6d 69 6e 61 6c 29 29 0a 0a 28 65 76 61 quire.'icons-in-terminal))..(eva
3d00 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 20 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 l-when-compile.(defvar.calibredb
3d20 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 29 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 -detailed-view)).(declare-functi
3d40 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 64 65 6e 73 65 2d 63 6f 6d 6d 65 6e 74 73 20 22 on.calibredb-condense-comments."
3d60 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 calibredb-search.el").(declare-f
3d80 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 61 74 74 61 63 68 2d 69 63 6f 6e 2d 66 6f unction.calibredb-attach-icon-fo
3da0 72 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 r."calibredb-utils.el").(declare
3dc0 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 66 69 6c 65 2d 70 61 74 -function.calibredb-get-file-pat
3de0 68 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 0a 0a 28 64 65 66 67 72 h."calibredb-utils.el")...(defgr
3e00 6f 75 70 20 63 61 6c 69 62 72 65 64 62 20 6e 69 6c 0a 20 20 22 43 61 6c 69 62 72 65 64 62 20 67 oup.calibredb.nil..."Calibredb.g
3e20 72 6f 75 70 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 29 0a 0a 28 64 65 roup."...:group.'calibredb)..(de
3e40 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72 20 6e 69 6c 0a 20 20 22 fcustom.calibredb-db-dir.nil..."
3e60 4c 6f 63 61 74 69 6f 6e 20 6f 66 20 5c 22 6d 65 74 61 64 61 74 61 2e 64 62 5c 22 20 69 6e 20 79 Location.of.\"metadata.db\".in.y
3e80 6f 75 72 20 63 61 6c 69 62 72 65 20 6c 69 62 72 61 72 79 2e 22 0a 20 20 3a 74 79 70 65 20 27 66 our.calibre.library."...:type.'f
3ea0 69 6c 65 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 29 0a 0a 0a 28 64 65 66 63 ile...:group.'calibredb)...(defc
3ec0 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 72 65 66 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c ustom.calibredb-ref-default-bibl
3ee0 69 6f 67 72 61 70 68 79 20 6e 69 6c 0a 20 20 22 42 69 62 54 65 78 20 66 69 6c 65 20 66 6f 72 20 iography.nil..."BibTex.file.for.
3f00 63 75 72 72 65 6e 74 20 6c 69 62 72 61 72 79 2e 22 0a 20 20 3a 74 79 70 65 20 27 66 69 6c 65 0a current.library."...:type.'file.
3f20 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 29 0a 0a 28 64 65 66 76 61 72 20 63 61 ..:group.'calibredb)..(defvar.ca
3f40 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 2d 71 75 6f 74 65 20 6e 69 6c 0a 20 20 22 4c 6f libredb-root-dir-quote.nil..."Lo
3f60 63 61 74 69 6f 6e 20 6f 66 20 69 6e 20 79 6f 75 72 20 63 61 6c 69 62 72 65 20 6c 69 62 72 61 72 cation.of.in.your.calibre.librar
3f80 79 20 28 65 78 70 61 6e 64 65 64 20 61 6e 64 20 71 75 6f 74 65 64 29 2e 22 29 0a 0a 28 64 65 66 y.(expanded.and.quoted).")..(def
3fa0 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 20 22 7e 2f 44 6f 63 custom.calibredb-root-dir."~/Doc
3fc0 75 6d 65 6e 74 73 2f 43 61 6c 69 62 72 65 2f 22 0a 20 20 22 44 69 72 65 63 74 6f 72 79 20 63 6f uments/Calibre/"..."Directory.co
3fe0 6e 74 61 69 6e 69 6e 67 20 79 6f 75 72 20 63 61 6c 69 62 72 65 20 6c 69 62 72 61 72 79 2e 22 0a ntaining.your.calibre.library.".
4000 20 20 3a 74 79 70 65 20 27 64 69 72 65 63 74 6f 72 79 0a 20 20 3a 73 65 74 20 28 6c 61 6d 62 64 ..:type.'directory...:set.(lambd
4020 61 20 28 76 61 72 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 20 76 61 72 20 a.(var.value)..........(set.var.
4040 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d value)..........(setq.calibredb-
4060 64 62 2d 64 69 72 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 6d 65 74 61 64 61 db-dir.(expand-file-name."metada
4080 74 61 2e 64 62 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ta.db"..........................
40a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 .........................calibre
40c0 64 62 2d 72 6f 6f 74 2d 64 69 72 29 29 29 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 db-root-dir)))...:group.'calibre
40e0 64 62 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 db)..(defcustom.calibredb-virtua
4100 6c 2d 6c 69 62 72 61 72 79 2d 64 65 66 61 75 6c 74 2d 6e 61 6d 65 20 22 4c 69 62 72 61 72 79 22 l-library-default-name."Library"
4120 0a 20 20 22 54 68 65 20 64 65 66 61 75 6c 74 20 76 69 72 74 75 61 6c 20 6c 69 62 72 61 72 79 20 ..."The.default.virtual.library.
4140 6e 61 6d 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 name."...:group.'calibredb...:ty
4160 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 76 pe.'string)..(defvar.calibredb-v
4180 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6e 61 6d 65 20 60 2c 63 61 6c 69 62 72 65 64 62 2d irtual-library-name.`,calibredb-
41a0 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 64 65 66 61 75 6c 74 2d 6e 61 6d 65 29 0a 0a 28 virtual-library-default-name)..(
41c0 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 64 6f 77 6e 6c 6f 61 64 2d 64 69 72 defcustom.calibredb-download-dir
41e0 20 6e 69 6c 0a 20 20 22 53 74 72 69 6e 67 20 77 69 74 68 20 74 68 65 20 70 61 74 68 20 74 6f 20 .nil..."String.with.the.path.to.
4200 6d 61 69 6e 20 64 6f 77 6e 6c 6f 61 64 20 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 65 62 6f 6f main.download.directory.for.eboo
4220 6b 73 2e 22 0a 20 20 3a 74 79 70 65 20 27 66 69 6c 65 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c ks."...:type.'file...:group.'cal
4240 69 62 72 65 64 62 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 61 64 ibredb)..(defcustom.calibredb-ad
4260 64 2d 64 65 6c 65 74 65 2d 6f 72 69 67 69 6e 61 6c 2d 66 69 6c 65 20 6e 69 6c 0a 20 20 22 41 66 d-delete-original-file.nil..."Af
4280 74 65 72 20 61 64 64 69 6e 67 20 66 69 6c 65 2c 20 64 65 6c 65 74 65 20 6f 72 69 67 69 6e 61 6c ter.adding.file,.delete.original
42a0 20 66 69 6c 65 3f 20 28 73 74 72 69 6e 67 20 5c 22 79 65 73 5c 22 2f 5c 22 6e 6f 5c 22 29 2e 0a .file?.(string.\"yes\"/\"no\")..
42c0 79 65 73 3a 20 44 65 6c 65 74 65 20 77 69 74 68 6f 75 74 20 70 72 6f 6d 70 74 2e 0a 6e 6f 3a 20 yes:.Delete.without.prompt..no:.
42e0 4e 6f 20 64 65 6c 65 74 69 6f 6e 20 77 69 74 68 6f 75 74 20 70 72 6f 6d 70 74 2e 0a 6e 69 6c 3a No.deletion.without.prompt..nil:
4300 20 50 72 6f 6d 70 74 20 64 65 6c 65 74 65 20 6f 72 20 6e 6f 74 2e 22 0a 20 20 3a 74 79 70 65 20 .Prompt.delete.or.not."...:type.
4320 27 73 74 72 69 6e 67 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 29 0a 0a 28 64 'string...:group.'calibredb)..(d
4340 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 63 6f 76 65 72 73 20 efcustom.calibredb-fetch-covers.
4360 6e 69 6c 0a 20 20 22 46 65 74 63 68 20 63 6f 76 65 72 20 77 68 65 6e 20 66 65 74 63 68 69 6e 67 nil..."Fetch.cover.when.fetching
4380 20 6d 65 74 61 64 61 74 61 3f 20 28 73 74 72 69 6e 67 20 5c 22 79 65 73 5c 22 2f 5c 22 6e 6f 5c .metadata?.(string.\"yes\"/\"no\
43a0 22 29 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 0a 20 20 3a 67 72 6f 75 70 20 27 63 ")."...:type.'string...:group.'c
43c0 61 6c 69 62 72 65 64 62 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d alibredb)..(defcustom.calibredb-
43e0 73 68 6f 77 2d 72 65 73 75 6c 74 73 20 6e 69 6c 0a 20 20 22 53 65 74 20 4e 6f 6e 2d 6e 69 6c 20 show-results.nil..."Set.Non-nil.
4400 74 6f 20 73 68 6f 77 20 72 65 73 75 6c 74 73 20 61 66 74 65 72 20 66 65 74 63 68 69 6e 67 20 6d to.show.results.after.fetching.m
4420 65 74 61 64 61 74 61 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 67 72 etadata."...:type.'boolean...:gr
4440 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 oup.'calibredb)..(defcustom.cali
4460 62 72 65 64 62 2d 70 72 65 66 65 72 72 65 64 2d 66 6f 72 6d 61 74 20 6e 69 6c 0a 20 20 22 53 65 bredb-preferred-format.nil..."Se
4480 74 20 74 6f 20 79 6f 75 72 20 70 72 65 66 65 72 72 65 64 20 62 6f 6f 6b 20 66 6f 72 6d 61 74 2e t.to.your.preferred.book.format.
44a0 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 "...:type.'string...:group.'cali
44c0 62 72 65 64 62 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 bredb)..(defcustom.calibredb-lib
44e0 72 61 72 79 2d 61 6c 69 73 74 20 60 28 28 2c 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 rary-alist.`((,calibredb-root-di
4500 72 29 29 0a 20 20 22 41 6c 69 73 74 20 66 6f 72 20 61 6c 6c 20 79 6f 75 72 20 63 61 6c 69 62 72 r))..."Alist.for.all.your.calibr
4520 65 20 6c 69 62 72 61 72 69 65 73 2e 22 0a 20 20 3a 74 79 70 65 20 27 61 6c 69 73 74 0a 20 20 3a e.libraries."...:type.'alist...:
4540 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 group.'calibredb)..(defcustom.ca
4560 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 20 27 28 libredb-virtual-library-alist.'(
4580 29 0a 20 20 22 41 6c 69 73 74 20 66 6f 72 20 61 6c 6c 20 79 6f 75 72 20 63 61 6c 69 62 72 65 20 )..."Alist.for.all.your.calibre.
45a0 76 69 72 74 75 61 6c 20 6c 69 62 72 61 72 69 65 73 2e 0a 31 2e 20 4c 65 66 74 20 69 73 20 74 68 virtual.libraries..1..Left.is.th
45c0 65 20 76 69 72 74 75 61 6c 20 6c 69 62 72 61 72 79 20 6e 61 6d 65 20 74 68 61 74 20 73 68 6f 77 e.virtual.library.name.that.show
45e0 73 20 69 6e 20 74 68 65 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 20 68 65 61 64 s.in.the.*calibredb-search*.head
4600 65 72 2e 0a 32 2e 20 52 69 67 68 74 20 69 73 20 74 68 65 20 66 69 6c 74 65 72 20 6b 65 79 77 6f er..2..Right.is.the.filter.keywo
4620 72 64 73 20 2d 20 60 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 27 2e rds.-.`calibredb-search-filter'.
4640 22 0a 20 20 3a 74 79 70 65 20 27 61 6c 69 73 74 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 "...:type.'alist...:group.'calib
4660 72 65 64 62 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 70 72 6f 67 redb)..(defcustom.calibredb-prog
4680 72 61 6d 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 65 71 20 73 79 73 74 65 6d 2d 74 79 70 65 20 ram...(cond....((eq.system-type.
46a0 27 64 61 72 77 69 6e 29 0a 20 20 20 20 22 2f 41 70 70 6c 69 63 61 74 69 6f 6e 73 2f 63 61 6c 69 'darwin)....."/Applications/cali
46c0 62 72 65 2e 61 70 70 2f 43 6f 6e 74 65 6e 74 73 2f 4d 61 63 4f 53 2f 63 61 6c 69 62 72 65 64 62 bre.app/Contents/MacOS/calibredb
46e0 22 29 0a 20 20 20 28 74 0a 20 20 20 20 22 63 61 6c 69 62 72 65 64 62 22 29 29 0a 20 20 22 45 78 ")....(t....."calibredb"))..."Ex
4700 65 63 75 74 61 62 6c 65 20 75 73 65 64 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 63 61 6c 69 ecutable.used.to.access.the.cali
4720 62 72 65 64 62 2e 22 0a 20 20 3a 74 79 70 65 20 27 66 69 6c 65 0a 20 20 3a 67 72 6f 75 70 20 27 bredb."...:type.'file...:group.'
4740 63 61 6c 69 62 72 65 64 62 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 calibredb)..(defcustom.calibredb
4760 2d 63 6f 6e 76 65 72 74 2d 70 72 6f 67 72 61 6d 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 65 71 -convert-program...(cond....((eq
4780 20 73 79 73 74 65 6d 2d 74 79 70 65 20 27 64 61 72 77 69 6e 29 0a 20 20 20 20 22 2f 41 70 70 6c .system-type.'darwin)....."/Appl
47a0 69 63 61 74 69 6f 6e 73 2f 63 61 6c 69 62 72 65 2e 61 70 70 2f 43 6f 6e 74 65 6e 74 73 2f 4d 61 ications/calibre.app/Contents/Ma
47c0 63 4f 53 2f 65 62 6f 6f 6b 2d 63 6f 6e 76 65 72 74 22 29 0a 20 20 20 28 74 0a 20 20 20 20 22 65 cOS/ebook-convert")....(t....."e
47e0 62 6f 6f 6b 2d 63 6f 6e 76 65 72 74 22 29 29 0a 20 20 22 45 78 65 63 75 74 61 62 6c 65 20 75 73 book-convert"))..."Executable.us
4800 65 64 20 74 6f 20 63 6f 6e 76 65 72 74 20 65 62 6f 6f 6b 73 2e 22 0a 20 20 3a 74 79 70 65 20 27 ed.to.convert.ebooks."...:type.'
4820 66 69 6c 65 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 29 0a 0a 28 64 65 66 63 file...:group.'calibredb)..(defc
4840 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 64 65 76 69 63 65 2d 64 69 72 0a 20 20 28 63 6f ustom.calibredb-device-dir...(co
4860 6e 64 20 28 28 65 71 20 73 79 73 74 65 6d 2d 74 79 70 65 20 27 67 6e 75 2f 6c 69 6e 75 78 29 0a nd.((eq.system-type.'gnu/linux).
4880 20 20 20 20 20 20 20 20 20 22 2f 54 4f 44 4f 22 29 0a 20 20 20 20 20 20 20 20 28 28 65 71 20 73 ........."/TODO").........((eq.s
48a0 79 73 74 65 6d 2d 74 79 70 65 20 27 77 69 6e 64 6f 77 73 2d 6e 74 29 0a 20 20 20 20 20 20 20 20 ystem-type.'windows-nt).........
48c0 20 22 2f 54 4f 44 4f 22 29 0a 20 20 20 20 20 20 20 20 28 28 65 71 20 73 79 73 74 65 6d 2d 74 79 ."/TODO").........((eq.system-ty
48e0 70 65 20 27 64 61 72 77 69 6e 29 0a 20 20 20 20 20 20 20 20 20 22 2f 56 6f 6c 75 6d 65 73 2f 4b pe.'darwin).........."/Volumes/K
4900 69 6e 64 6c 65 2f 64 6f 63 75 6d 65 6e 74 73 2f 22 29 0a 20 20 20 20 20 20 20 20 28 74 20 22 2f indle/documents/").........(t."/
4920 54 4f 44 4f 22 29 29 0a 20 20 22 44 69 72 65 63 74 6f 72 79 20 6f 66 20 65 6c 65 63 74 72 6f 6e TODO"))..."Directory.of.electron
4940 69 63 20 64 65 76 69 63 65 2c 20 65 2e 67 2e 20 6b 69 6e 64 6c 65 2e 22 0a 20 20 3a 74 79 70 65 ic.device,.e.g..kindle."...:type
4960 20 27 64 69 72 65 63 74 6f 72 79 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 29 .'directory...:group.'calibredb)
4980 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 64 65 62 75 67 2d 70 72 6f ..(defcustom.calibredb-debug-pro
49a0 67 72 61 6d 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 65 71 20 73 79 73 74 65 6d 2d 74 79 70 65 gram...(cond....((eq.system-type
49c0 20 27 64 61 72 77 69 6e 29 0a 20 20 20 20 22 2f 41 70 70 6c 69 63 61 74 69 6f 6e 73 2f 63 61 6c .'darwin)....."/Applications/cal
49e0 69 62 72 65 2e 61 70 70 2f 43 6f 6e 74 65 6e 74 73 2f 4d 61 63 4f 53 2f 63 61 6c 69 62 72 65 2d ibre.app/Contents/MacOS/calibre-
4a00 64 65 62 75 67 22 29 0a 20 20 20 28 74 0a 20 20 20 20 22 63 61 6c 69 62 72 65 2d 64 65 62 75 67 debug")....(t....."calibre-debug
4a20 22 29 29 0a 20 20 22 45 78 65 63 75 74 61 62 6c 65 20 66 6f 72 20 63 61 6c 69 62 72 65 64 62 2d "))..."Executable.for.calibredb-
4a40 64 65 62 75 67 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 66 6f 72 20 61 75 74 68 6f 72 5f 73 debug.which.is.used.for.author_s
4a60 6f 72 74 20 61 6c 67 6f 72 69 74 68 6d 2e 22 0a 20 20 3a 74 79 70 65 20 27 66 69 6c 65 0a 20 20 ort.algorithm."...:type.'file...
4a80 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 :group.'calibredb)..(defcustom.c
4aa0 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 6d 65 74 61 64 61 74 61 2d 70 72 6f 67 72 61 6d 0a alibredb-fetch-metadata-program.
4ac0 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 65 71 20 73 79 73 74 65 6d 2d 74 79 70 65 20 27 64 61 72 ..(cond....((eq.system-type.'dar
4ae0 77 69 6e 29 0a 20 20 20 20 22 2f 41 70 70 6c 69 63 61 74 69 6f 6e 73 2f 63 61 6c 69 62 72 65 2e win)....."/Applications/calibre.
4b00 61 70 70 2f 43 6f 6e 74 65 6e 74 73 2f 4d 61 63 4f 53 2f 66 65 74 63 68 2d 65 62 6f 6f 6b 2d 6d app/Contents/MacOS/fetch-ebook-m
4b20 65 74 61 64 61 74 61 22 29 0a 20 20 20 28 74 0a 20 20 20 20 22 66 65 74 63 68 2d 65 62 6f 6f 6b etadata")....(t....."fetch-ebook
4b40 2d 6d 65 74 61 64 61 74 61 22 29 29 0a 20 20 22 45 78 65 63 75 74 61 62 6c 65 20 75 73 65 64 20 -metadata"))..."Executable.used.
4b60 74 6f 20 66 65 74 63 68 20 65 62 6f 6f 6b 20 6d 65 74 61 64 61 74 61 2e 22 0a 20 20 3a 74 79 70 to.fetch.ebook.metadata."...:typ
4b80 65 20 27 66 69 6c 65 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 29 0a 0a 28 64 e.'file...:group.'calibredb)..(d
4ba0 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 65 62 6f 6f 6b 2d 6d 65 74 61 2d 70 72 efcustom.calibredb-ebook-meta-pr
4bc0 6f 67 72 61 6d 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 65 71 20 73 79 73 74 65 6d 2d 74 79 70 ogram...(cond....((eq.system-typ
4be0 65 20 27 64 61 72 77 69 6e 29 0a 20 20 20 20 22 2f 41 70 70 6c 69 63 61 74 69 6f 6e 73 2f 63 61 e.'darwin)....."/Applications/ca
4c00 6c 69 62 72 65 2e 61 70 70 2f 43 6f 6e 74 65 6e 74 73 2f 4d 61 63 4f 53 2f 65 62 6f 6f 6b 2d 6d libre.app/Contents/MacOS/ebook-m
4c20 65 74 61 22 29 0a 20 20 20 28 74 0a 20 20 20 20 22 65 62 6f 6f 6b 2d 6d 65 74 61 22 29 29 0a 20 eta")....(t....."ebook-meta"))..
4c40 20 22 45 78 65 63 75 74 61 62 6c 65 20 75 73 65 64 20 74 6f 20 67 65 74 20 65 62 6f 6f 6b 20 6d ."Executable.used.to.get.ebook.m
4c60 65 74 61 64 61 74 61 2e 22 0a 20 20 3a 74 79 70 65 20 27 66 69 6c 65 0a 20 20 3a 67 72 6f 75 70 etadata."...:type.'file...:group
4c80 20 27 63 61 6c 69 62 72 65 64 62 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 .'calibredb)..(defcustom.calibre
4ca0 64 62 2d 66 65 74 63 68 2d 6d 65 74 61 64 61 74 61 2d 73 6f 75 72 63 65 2d 6c 69 73 74 20 27 28 db-fetch-metadata-source-list.'(
4cc0 22 47 6f 6f 67 6c 65 22 20 22 41 6d 61 7a 6f 6e 2e 63 6f 6d 22 29 0a 20 20 22 53 6f 75 72 63 65 "Google"."Amazon.com")..."Source
4ce0 20 61 6c 69 73 74 20 75 73 65 64 20 74 6f 20 66 65 74 63 68 20 65 62 6f 6f 6b 20 6d 65 74 61 64 .alist.used.to.fetch.ebook.metad
4d00 61 74 61 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 65 78 70 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 ata."...:type.'sexp...:group.'ca
4d20 6c 69 62 72 65 64 62 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 73 libredb)..(defcustom.calibredb-s
4d40 71 6c 2d 73 65 70 61 72 61 74 6f 72 20 22 5c 33 22 0a 20 20 22 53 51 4c 20 73 65 70 61 72 61 74 ql-separator."\3"..."SQL.separat
4d60 6f 72 2c 20 75 73 65 64 20 69 6e 20 70 61 72 73 69 6e 67 20 53 51 4c 20 72 65 73 75 6c 74 20 69 or,.used.in.parsing.SQL.result.i
4d80 6e 74 6f 20 6c 69 73 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 nto.list."...:group.'calibredb..
4da0 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 .:type.'string)..(defcustom.cali
4dc0 62 72 65 64 62 2d 73 71 6c 2d 6e 65 77 6c 69 6e 65 20 22 5c 32 22 0a 20 20 22 53 51 4c 20 6e 65 bredb-sql-newline."\2"..."SQL.ne
4de0 77 6c 69 6e 65 2c 20 75 73 65 64 20 69 6e 20 70 61 72 73 69 6e 67 20 53 51 4c 20 72 65 73 75 6c wline,.used.in.parsing.SQL.resul
4e00 74 20 69 6e 74 6f 20 6c 69 73 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 t.into.list."...:group.'calibred
4e20 62 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 b...:type.'string)..(defcustom.c
4e40 61 6c 69 62 72 65 64 62 2d 69 64 2d 77 69 64 74 68 20 34 0a 20 20 22 57 69 64 74 68 20 66 6f 72 alibredb-id-width.4..."Width.for
4e60 20 69 64 2e 0a 53 65 74 20 30 20 74 6f 20 68 69 64 65 2c 0a 53 65 74 20 6e 65 67 61 74 69 76 65 .id..Set.0.to.hide,.Set.negative
4e80 20 74 6f 20 6b 65 65 70 20 6f 72 69 67 69 6e 61 6c 20 6c 65 6e 67 74 68 2e 22 0a 20 20 3a 67 72 .to.keep.original.length."...:gr
4ea0 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20 27 69 6e 74 65 67 65 72 29 oup.'calibredb...:type.'integer)
4ec0 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 77 69 ..(defcustom.calibredb-format-wi
4ee0 64 74 68 20 35 0a 20 20 22 57 69 64 74 68 20 66 6f 72 20 66 69 6c 65 20 66 6f 72 6d 61 74 2e 0a dth.5..."Width.for.file.format..
4f00 53 65 74 20 30 20 74 6f 20 68 69 64 65 2c 0a 53 65 74 20 6e 65 67 61 74 69 76 65 20 74 6f 20 6b Set.0.to.hide,.Set.negative.to.k
4f20 65 65 70 20 6f 72 69 67 69 6e 61 6c 20 6c 65 6e 67 74 68 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 eep.original.length."...:group.'
4f40 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64 65 calibredb...:type.'integer)..(de
4f60 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 77 69 64 74 68 20 2d 31 0a 20 fcustom.calibredb-tag-width.-1..
4f80 20 22 57 69 64 74 68 20 66 6f 72 20 74 61 67 2e 0a 53 65 74 20 30 20 74 6f 20 68 69 64 65 2c 0a ."Width.for.tag..Set.0.to.hide,.
4fa0 53 65 74 20 6e 65 67 61 74 69 76 65 20 74 6f 20 6b 65 65 70 20 6f 72 69 67 69 6e 61 6c 20 6c 65 Set.negative.to.keep.original.le
4fc0 6e 67 74 68 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 ngth."...:group.'calibredb...:ty
4fe0 70 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 pe.'integer)..(defcustom.calibre
5000 64 62 2d 69 64 73 2d 77 69 64 74 68 20 30 0a 20 20 22 57 69 64 74 68 20 66 6f 72 20 69 64 73 2e db-ids-width.0..."Width.for.ids.
5020 0a 53 65 74 20 30 20 74 6f 20 68 69 64 65 2c 0a 53 65 74 20 6e 65 67 61 74 69 76 65 20 74 6f 20 .Set.0.to.hide,.Set.negative.to.
5040 6b 65 65 70 20 6f 72 69 67 69 6e 61 6c 20 6c 65 6e 67 74 68 2e 22 0a 20 20 3a 67 72 6f 75 70 20 keep.original.length."...:group.
5060 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64 'calibredb...:type.'integer)..(d
5080 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 74 69 74 6c 65 2d 77 69 64 74 68 20 35 efcustom.calibredb-title-width.5
50a0 30 0a 20 20 22 57 69 64 74 68 20 66 6f 72 20 74 69 74 6c 65 2e 0a 53 65 74 20 30 20 74 6f 20 68 0..."Width.for.title..Set.0.to.h
50c0 69 64 65 2c 0a 53 65 74 20 6e 65 67 61 74 69 76 65 20 74 6f 20 6b 65 65 70 20 6f 72 69 67 69 6e ide,.Set.negative.to.keep.origin
50e0 61 6c 20 6c 65 6e 67 74 68 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a al.length."...:group.'calibredb.
5100 20 20 3a 74 79 70 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 ..:type.'integer)..(defcustom.ca
5120 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 77 69 64 74 68 20 2d 31 0a 20 20 22 57 69 64 74 68 libredb-author-width.-1..."Width
5140 20 66 6f 72 20 61 75 74 68 6f 72 2e 0a 53 65 74 20 30 20 74 6f 20 68 69 64 65 2c 0a 53 65 74 20 .for.author..Set.0.to.hide,.Set.
5160 6e 65 67 61 74 69 76 65 20 74 6f 20 6b 65 65 70 20 6f 72 69 67 69 6e 61 6c 20 6c 65 6e 67 74 68 negative.to.keep.original.length
5180 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20 27 ."...:group.'calibredb...:type.'
51a0 69 6e 74 65 67 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 63 integer)..(defcustom.calibredb-c
51c0 6f 6d 6d 65 6e 74 2d 77 69 64 74 68 20 31 30 30 0a 20 20 22 57 69 64 74 68 20 66 6f 72 20 63 6f omment-width.100..."Width.for.co
51e0 6d 6d 65 6e 74 2e 0a 53 65 74 20 30 20 74 6f 20 68 69 64 65 2c 0a 53 65 74 20 6e 65 67 61 74 69 mment..Set.0.to.hide,.Set.negati
5200 76 65 20 74 6f 20 6b 65 65 70 20 6f 72 69 67 69 6e 61 6c 20 6c 65 6e 67 74 68 2e 22 0a 20 20 3a ve.to.keep.original.length."...:
5220 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20 27 69 6e 74 65 67 65 group.'calibredb...:type.'intege
5240 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 2d 77 69 r)..(defcustom.calibredb-date-wi
5260 64 74 68 20 31 31 0a 20 20 22 57 69 64 74 68 20 66 6f 72 20 6c 61 73 74 5f 6d 6f 64 69 66 69 65 dth.11..."Width.for.last_modifie
5280 64 20 64 61 74 65 2e 0a 53 65 74 20 30 20 74 6f 20 68 69 64 65 2c 0a 53 65 74 20 6e 65 67 61 74 d.date..Set.0.to.hide,.Set.negat
52a0 69 76 65 20 74 6f 20 6b 65 65 70 20 6f 72 69 67 69 6e 61 6c 20 6c 65 6e 67 74 68 2e 22 0a 20 20 ive.to.keep.original.length."...
52c0 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20 27 69 6e 74 65 67 :group.'calibredb...:type.'integ
52e0 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 73 69 7a 65 2d 73 er)..(defcustom.calibredb-size-s
5300 68 6f 77 20 6e 69 6c 0a 20 20 22 53 65 74 20 4e 6f 6e 2d 6e 69 6c 20 74 6f 20 73 68 6f 77 20 73 how.nil..."Set.Non-nil.to.show.s
5320 69 7a 65 20 69 6e 64 69 63 61 74 6f 72 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 ize.indicator."...:group.'calibr
5340 65 64 62 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 65 66 69 6e 65 2d 6f edb...:type.'boolean)..(define-o
5360 62 73 6f 6c 65 74 65 2d 76 61 72 69 61 62 6c 65 2d 61 6c 69 61 73 20 27 63 61 6c 69 62 72 65 64 bsolete-variable-alias.'calibred
5380 62 2d 66 6f 72 6d 61 74 2d 69 63 6f 6e 73 0a 20 20 27 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d b-format-icons...'calibredb-form
53a0 61 74 2d 61 6c 6c 2d 74 68 65 2d 69 63 6f 6e 73 20 22 63 61 6c 69 62 72 65 64 62 20 32 2e 33 2e at-all-the-icons."calibredb.2.3.
53c0 32 22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2")..(defcustom.calibredb-format
53e0 2d 6e 65 72 64 2d 69 63 6f 6e 73 20 6e 69 6c 0a 20 20 22 53 65 74 20 4e 6f 6e 2d 6e 69 6c 20 74 -nerd-icons.nil..."Set.Non-nil.t
5400 6f 20 73 68 6f 77 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 69 63 6f 6e 73 20 77 69 74 68 20 6e 65 o.show.file.format.icons.with.ne
5420 72 64 2d 69 63 6f 6e 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 rd-icons."...:group.'calibredb..
5440 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c .:type.'boolean)..(defcustom.cal
5460 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 61 6c 6c 2d 74 68 65 2d 69 63 6f 6e 73 20 6e 69 6c 0a ibredb-format-all-the-icons.nil.
5480 20 20 22 53 65 74 20 4e 6f 6e 2d 6e 69 6c 20 74 6f 20 73 68 6f 77 20 66 69 6c 65 20 66 6f 72 6d .."Set.Non-nil.to.show.file.form
54a0 61 74 20 69 63 6f 6e 73 20 77 69 74 68 20 61 6c 6c 2d 74 68 65 2d 69 63 6f 6e 73 2e 22 0a 20 20 at.icons.with.all-the-icons."...
54c0 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 :group.'calibredb...:type.'boole
54e0 61 6e 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 an)..(defcustom.calibredb-format
5500 2d 69 63 6f 6e 73 2d 69 6e 2d 74 65 72 6d 69 6e 61 6c 20 6e 69 6c 0a 20 20 22 53 65 74 20 4e 6f -icons-in-terminal.nil..."Set.No
5520 6e 2d 6e 69 6c 20 74 6f 20 73 68 6f 77 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 69 63 6f 6e 73 20 n-nil.to.show.file.format.icons.
5540 77 69 74 68 20 69 63 6f 6e 73 2d 69 6e 2d 74 65 72 6d 69 6e 61 6c 2e 22 0a 20 20 3a 67 72 6f 75 with.icons-in-terminal."...:grou
5560 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a p.'calibredb...:type.'boolean)..
5580 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 63 68 61 72 (defcustom.calibredb-format-char
55a0 61 63 74 65 72 2d 69 63 6f 6e 73 20 6e 69 6c 0a 20 20 22 53 65 74 20 4e 6f 6e 2d 6e 69 6c 20 74 acter-icons.nil..."Set.Non-nil.t
55c0 6f 20 73 68 6f 77 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 69 63 6f 6e 73 20 77 69 74 68 20 62 75 o.show.file.format.icons.with.bu
55e0 69 6c 74 2d 69 6e 20 63 68 61 72 61 63 74 65 72 20 69 63 6f 6e 73 2e 22 0a 20 20 3a 67 72 6f 75 ilt-in.character.icons."...:grou
5600 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a p.'calibredb...:type.'boolean)..
5620 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d 6b 65 (defcustom.calibredb-favorite-ke
5640 79 77 6f 72 64 20 22 66 61 76 6f 72 69 74 65 22 0a 20 20 22 54 68 65 20 66 61 76 6f 72 69 74 65 yword."favorite"..."The.favorite
5660 20 74 61 67 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 .tag."...:group.'calibredb...:ty
5680 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 pe.'string)..(defcustom.calibred
56a0 62 2d 66 61 76 6f 72 69 74 65 2d 69 63 6f 6e 20 22 e2 98 85 22 0a 20 20 22 54 68 65 20 66 61 76 b-favorite-icon."..."..."The.fav
56c0 6f 72 69 74 65 20 69 63 6f 6e 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 orite.icon."...:group.'calibredb
56e0 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 ...:type.'string)..(defcustom.ca
5700 6c 69 62 72 65 64 62 2d 61 72 63 68 69 76 65 2d 6b 65 79 77 6f 72 64 20 22 61 72 63 68 69 76 65 libredb-archive-keyword."archive
5720 22 0a 20 20 22 54 68 65 20 61 72 63 68 69 76 65 20 74 61 67 2e 22 0a 20 20 3a 67 72 6f 75 70 20 "..."The.archive.tag."...:group.
5740 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 'calibredb...:type.'string)..(de
5760 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 68 69 67 68 6c 69 67 68 74 2d 6b 65 79 77 fcustom.calibredb-highlight-keyw
5780 6f 72 64 20 22 68 69 67 68 6c 69 67 68 74 22 0a 20 20 22 54 68 65 20 68 69 67 68 6c 69 67 68 74 ord."highlight"..."The.highlight
57a0 20 74 61 67 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 .tag."...:group.'calibredb...:ty
57c0 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 pe.'string)..(defcustom.calibred
57e0 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 66 69 65 6c 64 20 22 63 6f 6d 6d 65 6e 74 73 22 0a 20 20 b-annotation-field."comments"...
5800 22 54 68 65 20 66 69 65 6c 64 20 74 6f 20 62 65 20 73 61 76 65 64 20 74 68 65 20 61 6e 6e 6f 74 "The.field.to.be.saved.the.annot
5820 61 74 69 6f 6e 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 ation."...:group.'calibredb...:t
5840 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 ype.'string)..(defcustom.calibre
5860 64 62 2d 63 6f 6e 64 65 6e 73 65 2d 63 6f 6d 6d 65 6e 74 73 20 74 0a 20 20 22 43 6f 6e 64 65 6e db-condense-comments.t..."Conden
5880 73 65 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 74 6f 20 6f 6e 65 20 6c 69 6e 65 2e 22 0a 20 20 3a 67 se.comments.into.one.line."...:g
58a0 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e roup.'calibredb...:type.'boolean
58c0 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2d 72 65 )..(defcustom.calibredb-entry-re
58e0 6e 64 65 72 2d 63 6f 6d 6d 65 6e 74 73 20 22 73 68 72 22 0a 20 20 22 52 65 6e 64 65 72 20 63 6f nder-comments."shr"..."Render.co
5900 6d 6d 65 6e 74 73 20 69 6e 20 2a 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2a 20 62 75 66 66 mments.in.*calibredb-entry*.buff
5920 65 72 2e 0a 31 2e 20 66 61 63 65 3a 20 52 65 6e 64 65 72 20 77 69 74 68 20 66 61 63 65 20 60 63 er..1..face:.Render.with.face.`c
5940 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 27 2e 0a 32 2e 20 73 68 72 3a 20 alibredb-comment-face'..2..shr:.
5960 52 65 6e 64 65 72 20 77 69 74 68 20 73 68 72 20 28 53 69 6d 70 6c 65 20 48 54 4d 4c 20 52 65 6e Render.with.shr.(Simple.HTML.Ren
5980 64 65 72 29 2e 0a 33 2e 20 61 6e 6e 6f 74 61 74 69 6f 6e 3a 20 52 65 6e 64 65 72 20 77 69 74 68 der)..3..annotation:.Render.with
59a0 20 60 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 6d 6f 64 65 .`calibredb-edit-annotation-mode
59c0 27 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20 '."...:group.'calibredb...:type.
59e0 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 61 'string)..(defcustom.calibredb-a
5a00 64 64 2d 64 75 70 6c 69 63 61 74 65 20 74 0a 20 20 22 41 64 64 20 66 69 6c 65 20 74 6f 20 63 61 dd-duplicate.t..."Add.file.to.ca
5a20 6c 69 62 72 65 64 62 20 65 76 65 6e 20 69 74 20 69 73 20 64 75 70 6c 69 63 61 74 65 64 2c 20 77 libredb.even.it.is.duplicated,.w
5a40 68 65 6e 20 75 73 69 6e 67 20 60 63 61 6c 69 62 72 65 64 62 2d 61 64 64 27 2e 20 53 65 74 20 6e hen.using.`calibredb-add'..Set.n
5a60 69 6c 20 74 6f 20 44 69 73 61 62 6c 65 20 69 74 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c il.to.Disable.it."...:type.'bool
5a80 65 61 6e 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 29 0a 0a 28 64 65 66 63 75 ean...:group.'calibredb)..(defcu
5aa0 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 20 27 69 64 0a 20 20 22 53 6f stom.calibredb-sort-by.'id..."So
5ac0 72 74 20 74 68 65 20 72 65 73 75 6c 74 73 20 62 79 20 6d 65 74 61 64 61 74 61 2e 22 0a 20 20 3a rt.the.results.by.metadata."...:
5ae0 74 79 70 65 20 27 28 63 68 6f 69 63 65 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 69 type.'(choice...........(const.i
5b00 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 74 69 74 6c 65 29 0a 20 20 20 20 20 d)...........(const.title)......
5b20 20 20 20 20 20 28 63 6f 6e 73 74 20 66 6f 72 6d 61 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 .....(const.format)...........(c
5b40 6f 6e 73 74 20 61 75 74 68 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 64 61 onst.author)...........(const.da
5b60 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 70 75 62 64 61 74 65 29 0a 20 20 te)...........(const.pubdate)...
5b80 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 74 61 67 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 ........(const.tag)...........(c
5ba0 6f 6e 73 74 20 73 69 7a 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 6c 61 6e 67 onst.size)...........(const.lang
5bc0 75 61 67 65 29 29 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 29 0a 0a 28 64 65 uage))...:group.'calibredb)..(de
5be0 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 64 65 72 20 27 64 65 73 63 0a 20 20 fcustom.calibredb-order.'desc...
5c00 22 53 6f 72 74 20 74 68 65 20 72 65 73 75 6c 74 73 20 62 79 20 6f 72 64 65 72 2e 22 0a 20 20 3a "Sort.the.results.by.order."...:
5c20 74 79 70 65 20 27 28 63 68 6f 69 63 65 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 61 type.'(choice...........(const.a
5c40 73 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 64 65 73 63 29 29 0a 20 20 3a 67 sc)...........(const.desc))...:g
5c60 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 29 0a 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 roup.'calibredb)..(defvar.calibr
5c80 65 64 62 2d 71 75 65 72 79 2d 73 74 72 69 6e 67 2d 6f 6c 64 20 22 0a 53 45 4c 45 43 54 20 69 64 edb-query-string-old.".SELECT.id
5ca0 2c 20 61 75 74 68 6f 72 5f 73 6f 72 74 2c 20 70 61 74 68 2c 20 6e 61 6d 65 2c 20 66 6f 72 6d 61 ,.author_sort,.path,.name,.forma
5cc0 74 2c 20 70 75 62 64 61 74 65 2c 20 74 69 74 6c 65 2c 20 67 72 6f 75 70 5f 63 6f 6e 63 61 74 28 t,.pubdate,.title,.group_concat(
5ce0 44 49 53 54 49 4e 43 54 20 74 61 67 29 20 41 53 20 74 61 67 2c 20 75 6e 63 6f 6d 70 72 65 73 73 DISTINCT.tag).AS.tag,.uncompress
5d00 65 64 5f 73 69 7a 65 2c 20 74 65 78 74 2c 20 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 0a 46 52 4f ed_size,.text,.last_modified.FRO
5d20 4d 0a 20 20 28 53 45 4c 45 43 54 20 73 75 62 32 2e 69 64 2c 20 73 75 62 32 2e 61 75 74 68 6f 72 M...(SELECT.sub2.id,.sub2.author
5d40 5f 73 6f 72 74 2c 20 73 75 62 32 2e 70 61 74 68 2c 20 73 75 62 32 2e 6e 61 6d 65 2c 20 73 75 62 _sort,.sub2.path,.sub2.name,.sub
5d60 32 2e 66 6f 72 6d 61 74 2c 20 73 75 62 32 2e 70 75 62 64 61 74 65 2c 20 73 75 62 32 2e 74 69 74 2.format,.sub2.pubdate,.sub2.tit
5d80 6c 65 2c 20 73 75 62 32 2e 74 61 67 2c 20 73 75 62 32 2e 75 6e 63 6f 6d 70 72 65 73 73 65 64 5f le,.sub2.tag,.sub2.uncompressed_
5da0 73 69 7a 65 2c 20 63 6f 6d 6d 65 6e 74 73 2e 74 65 78 74 2c 20 73 75 62 32 2e 6c 61 73 74 5f 6d size,.comments.text,.sub2.last_m
5dc0 6f 64 69 66 69 65 64 0a 20 20 46 52 4f 4d 0a 20 20 20 20 28 53 45 4c 45 43 54 20 63 68 69 6c 64 odified...FROM.....(SELECT.child
5de0 2e 69 64 2c 20 63 68 69 6c 64 2e 61 75 74 68 6f 72 5f 73 6f 72 74 2c 20 63 68 69 6c 64 2e 70 61 .id,.child.author_sort,.child.pa
5e00 74 68 2c 20 63 68 69 6c 64 2e 6e 61 6d 65 2c 20 63 68 69 6c 64 2e 66 6f 72 6d 61 74 2c 20 63 68 th,.child.name,.child.format,.ch
5e20 69 6c 64 2e 70 75 62 64 61 74 65 2c 20 63 68 69 6c 64 2e 74 69 74 6c 65 2c 20 63 68 69 6c 64 2e ild.pubdate,.child.title,.child.
5e40 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 2c 20 74 61 67 73 2e 6e 61 6d 65 20 41 53 20 74 61 67 2c last_modified,.tags.name.AS.tag,
5e60 20 63 68 69 6c 64 2e 75 6e 63 6f 6d 70 72 65 73 73 65 64 5f 73 69 7a 65 0a 20 20 20 20 46 52 4f .child.uncompressed_size.....FRO
5e80 4d 0a 20 20 20 20 20 20 28 53 45 4c 45 43 54 20 73 75 62 2e 69 64 2c 20 73 75 62 2e 61 75 74 68 M.......(SELECT.sub.id,.sub.auth
5ea0 6f 72 5f 73 6f 72 74 2c 20 73 75 62 2e 70 61 74 68 2c 20 73 75 62 2e 6e 61 6d 65 2c 20 73 75 62 or_sort,.sub.path,.sub.name,.sub
5ec0 2e 66 6f 72 6d 61 74 2c 20 73 75 62 2e 70 75 62 64 61 74 65 2c 20 73 75 62 2e 74 69 74 6c 65 2c .format,.sub.pubdate,.sub.title,
5ee0 20 73 75 62 2e 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 2c 20 73 75 62 2e 75 6e 63 6f 6d 70 72 65 .sub.last_modified,.sub.uncompre
5f00 73 73 65 64 5f 73 69 7a 65 2c 20 62 6f 6f 6b 73 5f 74 61 67 73 5f 6c 69 6e 6b 2e 74 61 67 0a 20 ssed_size,.books_tags_link.tag..
5f20 20 20 20 20 20 46 52 4f 4d 0a 20 20 20 20 20 20 20 20 28 53 45 4c 45 43 54 20 62 2e 69 64 2c 20 .....FROM.........(SELECT.b.id,.
5f40 62 2e 61 75 74 68 6f 72 5f 73 6f 72 74 2c 20 62 2e 70 61 74 68 2c 20 64 2e 6e 61 6d 65 2c 20 64 b.author_sort,.b.path,.d.name,.d
5f60 2e 66 6f 72 6d 61 74 2c 20 62 2e 70 75 62 64 61 74 65 2c 20 62 2e 74 69 74 6c 65 2c 20 62 2e 6c .format,.b.pubdate,.b.title,.b.l
5f80 61 73 74 5f 6d 6f 64 69 66 69 65 64 2c 20 64 2e 75 6e 63 6f 6d 70 72 65 73 73 65 64 5f 73 69 7a ast_modified,.d.uncompressed_siz
5fa0 65 0a 20 20 20 20 20 20 20 20 46 52 4f 4d 20 64 61 74 61 20 41 53 20 64 0a 20 20 20 20 20 20 20 e.........FROM.data.AS.d........
5fc0 20 4c 45 46 54 20 4f 55 54 45 52 20 4a 4f 49 4e 20 62 6f 6f 6b 73 20 41 53 20 62 0a 20 20 20 20 .LEFT.OUTER.JOIN.books.AS.b.....
5fe0 20 20 20 20 4f 4e 20 64 2e 62 6f 6f 6b 20 3d 20 62 2e 69 64 29 20 41 53 20 73 75 62 0a 20 20 20 ....ON.d.book.=.b.id).AS.sub....
6000 20 20 20 20 20 4c 45 46 54 20 4f 55 54 45 52 20 4a 4f 49 4e 20 62 6f 6f 6b 73 5f 74 61 67 73 5f .....LEFT.OUTER.JOIN.books_tags_
6020 6c 69 6e 6b 0a 20 20 20 20 20 20 20 20 4f 4e 20 73 75 62 2e 69 64 20 3d 20 62 6f 6f 6b 73 5f 74 link.........ON.sub.id.=.books_t
6040 61 67 73 5f 6c 69 6e 6b 2e 62 6f 6f 6b 29 20 41 53 20 63 68 69 6c 64 0a 20 20 20 20 20 20 4c 45 ags_link.book).AS.child.......LE
6060 46 54 20 4f 55 54 45 52 20 4a 4f 49 4e 20 74 61 67 73 0a 20 20 20 20 20 20 4f 4e 20 63 68 69 6c FT.OUTER.JOIN.tags.......ON.chil
6080 64 2e 74 61 67 20 3d 20 74 61 67 73 2e 69 64 29 20 61 73 20 73 75 62 32 0a 20 20 20 20 4c 45 46 d.tag.=.tags.id).as.sub2.....LEF
60a0 54 20 4f 55 54 45 52 20 4a 4f 49 4e 20 63 6f 6d 6d 65 6e 74 73 0a 20 20 20 20 4f 4e 20 73 75 62 T.OUTER.JOIN.comments.....ON.sub
60c0 32 2e 69 64 20 3d 20 63 6f 6d 6d 65 6e 74 73 2e 62 6f 6f 6b 29 0a 47 52 4f 55 50 20 42 59 20 69 2.id.=.comments.book).GROUP.BY.i
60e0 64 2c 20 66 6f 72 6d 61 74 22 0a 20 20 22 54 4f 44 4f 20 63 61 6c 69 62 72 65 20 64 61 74 61 62 d,.format"..."TODO.calibre.datab
6100 61 73 65 20 71 75 65 72 79 20 73 74 61 74 65 6d 65 6e 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 ase.query.statement.")..(defvar.
6120 63 61 6c 69 62 72 65 64 62 2d 71 75 65 72 79 2d 73 74 72 69 6e 67 20 22 0a 57 49 54 48 20 64 20 calibredb-query-string.".WITH.d.
6140 41 53 20 28 0a 20 20 20 20 53 45 4c 45 43 54 20 62 6f 6f 6b 73 2e 69 64 2c 20 62 6f 6f 6b 73 2e AS.(.....SELECT.books.id,.books.
6160 69 64 20 61 73 20 62 6f 6f 6b 2c 20 66 6f 72 6d 61 74 2c 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 id.as.book,.format,.uncompressed
6180 5f 73 69 7a 65 2c 20 6e 61 6d 65 0a 20 20 20 20 46 52 4f 4d 20 62 6f 6f 6b 73 0a 20 20 20 20 4c _size,.name.....FROM.books.....L
61a0 45 46 54 20 4a 4f 49 4e 20 64 61 74 61 0a 20 20 20 20 4f 4e 20 62 6f 6f 6b 73 2e 69 64 20 3d 20 EFT.JOIN.data.....ON.books.id.=.
61c0 64 61 74 61 2e 62 6f 6f 6b 0a 20 20 20 20 57 48 45 52 45 20 64 61 74 61 2e 62 6f 6f 6b 20 49 53 data.book.....WHERE.data.book.IS
61e0 20 4e 55 4c 4c 0a 20 20 20 20 55 4e 49 4f 4e 0a 20 20 20 20 53 45 4c 45 43 54 20 2a 0a 20 20 20 .NULL.....UNION.....SELECT.*....
6200 20 46 52 4f 4d 20 64 61 74 61 0a 29 2c 20 74 20 41 53 20 28 0a 20 20 20 20 53 45 4c 45 43 54 20 .FROM.data.),.t.AS.(.....SELECT.
6220 62 6f 6f 6b 73 5f 74 61 67 73 5f 6c 69 6e 6b 2e 62 6f 6f 6b 2c 20 67 72 6f 75 70 5f 63 6f 6e 63 books_tags_link.book,.group_conc
6240 61 74 28 44 49 53 54 49 4e 43 54 20 74 61 67 73 2e 6e 61 6d 65 29 20 41 53 20 74 61 67 0a 20 20 at(DISTINCT.tags.name).AS.tag...
6260 20 20 46 52 4f 4d 20 62 6f 6f 6b 73 5f 74 61 67 73 5f 6c 69 6e 6b 0a 20 20 20 20 4c 45 46 54 20 ..FROM.books_tags_link.....LEFT.
6280 4a 4f 49 4e 20 74 61 67 73 0a 20 20 20 20 4f 4e 20 62 6f 6f 6b 73 5f 74 61 67 73 5f 6c 69 6e 6b JOIN.tags.....ON.books_tags_link
62a0 2e 74 61 67 20 3d 20 74 61 67 73 2e 69 64 0a 20 20 20 20 47 52 4f 55 50 20 42 59 20 62 6f 6f 6b .tag.=.tags.id.....GROUP.BY.book
62c0 73 5f 74 61 67 73 5f 6c 69 6e 6b 2e 62 6f 6f 6b 0a 29 2c 20 70 20 41 53 20 28 0a 20 20 20 20 53 s_tags_link.book.),.p.AS.(.....S
62e0 45 4c 45 43 54 20 62 6f 6f 6b 73 5f 70 75 62 6c 69 73 68 65 72 73 5f 6c 69 6e 6b 2e 62 6f 6f 6b ELECT.books_publishers_link.book
6300 2c 20 70 75 62 6c 69 73 68 65 72 73 2e 6e 61 6d 65 0a 20 20 20 20 46 52 4f 4d 20 62 6f 6f 6b 73 ,.publishers.name.....FROM.books
6320 5f 70 75 62 6c 69 73 68 65 72 73 5f 6c 69 6e 6b 0a 20 20 20 20 4c 45 46 54 20 4a 4f 49 4e 20 70 _publishers_link.....LEFT.JOIN.p
6340 75 62 6c 69 73 68 65 72 73 0a 20 20 20 20 4f 4e 20 62 6f 6f 6b 73 5f 70 75 62 6c 69 73 68 65 72 ublishers.....ON.books_publisher
6360 73 5f 6c 69 6e 6b 2e 70 75 62 6c 69 73 68 65 72 20 3d 20 70 75 62 6c 69 73 68 65 72 73 2e 69 64 s_link.publisher.=.publishers.id
6380 0a 29 2c 20 73 20 41 53 20 28 0a 20 20 20 20 53 45 4c 45 43 54 20 62 6f 6f 6b 73 5f 73 65 72 69 .),.s.AS.(.....SELECT.books_seri
63a0 65 73 5f 6c 69 6e 6b 2e 62 6f 6f 6b 2c 20 73 65 72 69 65 73 2e 6e 61 6d 65 0a 20 20 20 20 46 52 es_link.book,.series.name.....FR
63c0 4f 4d 20 62 6f 6f 6b 73 5f 73 65 72 69 65 73 5f 6c 69 6e 6b 0a 20 20 20 20 4c 45 46 54 20 4a 4f OM.books_series_link.....LEFT.JO
63e0 49 4e 20 73 65 72 69 65 73 0a 20 20 20 20 4f 4e 20 62 6f 6f 6b 73 5f 73 65 72 69 65 73 5f 6c 69 IN.series.....ON.books_series_li
6400 6e 6b 2e 73 65 72 69 65 73 20 3d 20 73 65 72 69 65 73 2e 69 64 0a 29 2c 20 6c 20 41 53 20 28 0a nk.series.=.series.id.),.l.AS.(.
6420 20 20 20 20 53 45 4c 45 43 54 20 62 6f 6f 6b 73 5f 6c 61 6e 67 75 61 67 65 73 5f 6c 69 6e 6b 2e ....SELECT.books_languages_link.
6440 62 6f 6f 6b 2c 20 6c 61 6e 67 75 61 67 65 73 2e 6c 61 6e 67 5f 63 6f 64 65 0a 20 20 20 20 46 52 book,.languages.lang_code.....FR
6460 4f 4d 20 62 6f 6f 6b 73 5f 6c 61 6e 67 75 61 67 65 73 5f 6c 69 6e 6b 0a 20 20 20 20 4c 45 46 54 OM.books_languages_link.....LEFT
6480 20 4a 4f 49 4e 20 6c 61 6e 67 75 61 67 65 73 0a 20 20 20 20 4f 4e 20 62 6f 6f 6b 73 5f 6c 61 6e .JOIN.languages.....ON.books_lan
64a0 67 75 61 67 65 73 5f 6c 69 6e 6b 2e 6c 61 6e 67 5f 63 6f 64 65 20 3d 20 6c 61 6e 67 75 61 67 65 guages_link.lang_code.=.language
64c0 73 2e 69 64 0a 29 2c 20 62 20 41 53 20 28 0a 20 20 20 20 53 45 4c 45 43 54 20 2a 0a 20 20 20 20 s.id.),.b.AS.(.....SELECT.*.....
64e0 46 52 4f 4d 20 62 6f 6f 6b 73 0a 29 0a 53 45 4c 45 43 54 20 64 2e 62 6f 6f 6b 20 41 53 20 69 64 FROM.books.).SELECT.d.book.AS.id
6500 2c 20 62 2e 61 75 74 68 6f 72 5f 73 6f 72 74 2c 20 62 2e 70 61 74 68 2c 20 64 2e 6e 61 6d 65 2c ,.b.author_sort,.b.path,.d.name,
6520 20 67 72 6f 75 70 5f 63 6f 6e 63 61 74 28 44 49 53 54 49 4e 43 54 20 64 2e 66 6f 72 6d 61 74 29 .group_concat(DISTINCT.d.format)
6540 20 61 73 20 66 6f 72 6d 61 74 2c 20 62 2e 70 75 62 64 61 74 65 2c 20 62 2e 74 69 74 6c 65 2c 20 .as.format,.b.pubdate,.b.title,.
6560 74 2e 74 61 67 2c 20 64 2e 75 6e 63 6f 6d 70 72 65 73 73 65 64 5f 73 69 7a 65 2c 20 63 2e 74 65 t.tag,.d.uncompressed_size,.c.te
6580 78 74 2c 20 67 72 6f 75 70 5f 63 6f 6e 63 61 74 28 69 2e 74 79 70 65 20 7c 7c 20 27 3a 27 20 7c xt,.group_concat(i.type.||.':'.|
65a0 7c 20 69 2e 76 61 6c 29 20 41 53 20 69 64 73 2c 20 70 2e 6e 61 6d 65 20 41 53 20 70 75 62 6c 69 |.i.val).AS.ids,.p.name.AS.publi
65c0 73 68 65 72 2c 20 73 2e 6e 61 6d 65 20 41 53 20 73 65 72 69 65 73 2c 20 6c 2e 6c 61 6e 67 5f 63 sher,.s.name.AS.series,.l.lang_c
65e0 6f 64 65 2c 20 62 2e 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 0a 46 52 4f 4d 20 64 0a 4c 45 46 54 ode,.b.last_modified.FROM.d.LEFT
6600 20 4a 4f 49 4e 20 70 0a 4f 4e 20 64 2e 62 6f 6f 6b 20 3d 20 70 2e 62 6f 6f 6b 0a 4c 45 46 54 20 .JOIN.p.ON.d.book.=.p.book.LEFT.
6620 4a 4f 49 4e 20 73 0a 4f 4e 20 64 2e 62 6f 6f 6b 20 3d 20 73 2e 62 6f 6f 6b 0a 4c 45 46 54 20 4a JOIN.s.ON.d.book.=.s.book.LEFT.J
6640 4f 49 4e 20 74 0a 4f 4e 20 64 2e 62 6f 6f 6b 20 3d 20 74 2e 62 6f 6f 6b 0a 4c 45 46 54 20 4a 4f OIN.t.ON.d.book.=.t.book.LEFT.JO
6660 49 4e 20 6c 0a 4f 4e 20 64 2e 62 6f 6f 6b 20 3d 20 6c 2e 62 6f 6f 6b 0a 4c 45 46 54 20 4a 4f 49 IN.l.ON.d.book.=.l.book.LEFT.JOI
6680 4e 20 63 6f 6d 6d 65 6e 74 73 20 41 53 20 63 0a 4f 4e 20 64 2e 62 6f 6f 6b 20 3d 20 63 2e 62 6f N.comments.AS.c.ON.d.book.=.c.bo
66a0 6f 6b 0a 4c 45 46 54 20 4a 4f 49 4e 20 62 0a 4f 4e 20 64 2e 62 6f 6f 6b 20 3d 20 62 2e 69 64 0a ok.LEFT.JOIN.b.ON.d.book.=.b.id.
66c0 4c 45 46 54 20 4a 4f 49 4e 20 69 64 65 6e 74 69 66 69 65 72 73 20 41 53 20 69 0a 4f 4e 20 64 2e LEFT.JOIN.identifiers.AS.i.ON.d.
66e0 62 6f 6f 6b 20 3d 20 69 2e 62 6f 6f 6b 0a 47 52 4f 55 50 20 42 59 20 64 2e 62 6f 6f 6b 22 0a 20 book.=.i.book.GROUP.BY.d.book"..
6700 20 22 54 4f 44 4f 20 63 61 6c 69 62 72 65 20 64 61 74 61 62 61 73 65 20 71 75 65 72 79 20 73 74 ."TODO.calibre.database.query.st
6720 61 74 65 6d 65 6e 74 2e 22 29 0a 0a 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 73 atement.")...(defvar.calibredb-s
6740 71 6c 2d 63 6f 75 6e 74 2d 73 74 72 69 6e 67 20 22 53 45 4c 45 43 54 20 43 4f 55 4e 54 28 69 64 ql-count-string."SELECT.COUNT(id
6760 29 20 46 52 4f 4d 20 28 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 28 25 73 29 20 25 73 29 22 0a ).FROM.(SELECT.*.FROM.(%s).%s)".
6780 20 20 22 63 61 6c 69 62 72 65 20 64 61 74 61 62 61 73 65 20 71 75 65 72 79 20 73 74 61 74 65 6d .."calibre.database.query.statem
67a0 65 6e 74 3a 20 63 6f 75 6e 74 20 74 6f 74 61 6c 20 69 74 65 6d 73 2e 22 29 0a 0a 0a 28 64 65 66 ent:.count.total.items.")...(def
67c0 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 73 71 6c 2d 6f 72 64 65 72 2d 62 79 2d 73 74 72 69 6e var.calibredb-sql-order-by-strin
67e0 67 20 22 0a 4f 52 44 45 52 20 42 59 0a 20 20 28 43 41 53 45 0a 20 20 20 57 48 45 4e 20 74 2e 74 g.".ORDER.BY...(CASE....WHEN.t.t
6800 61 67 20 4c 49 4b 45 20 27 25 66 61 76 6f 72 69 74 65 25 27 20 54 48 45 4e 20 31 0a 20 20 20 57 ag.LIKE.'%favorite%'.THEN.1....W
6820 48 45 4e 20 74 2e 74 61 67 20 4c 49 4b 45 20 27 25 68 69 67 68 6c 69 67 68 74 25 27 20 54 48 45 HEN.t.tag.LIKE.'%highlight%'.THE
6840 4e 20 32 0a 20 20 20 57 48 45 4e 20 74 2e 74 61 67 20 4c 49 4b 45 20 27 25 61 72 63 68 69 76 65 N.2....WHEN.t.tag.LIKE.'%archive
6860 25 27 20 54 48 45 4e 20 34 0a 20 20 20 45 4c 53 45 20 33 0a 20 20 20 45 4e 44 29 2c 22 0a 20 20 %'.THEN.4....ELSE.3....END),"...
6880 22 63 61 6c 69 62 72 65 20 64 61 74 61 62 61 73 65 20 71 75 65 72 79 20 73 74 61 74 65 6d 65 6e "calibre.database.query.statemen
68a0 74 3a 20 6f 72 64 65 72 20 62 79 20 66 61 76 6f 72 69 74 65 2c 20 68 69 67 68 6c 69 67 68 74 2c t:.order.by.favorite,.highlight,
68c0 20 61 72 63 68 69 76 65 2e 22 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 71 75 .archive.")..(defun.calibredb-qu
68e0 65 72 79 2d 73 65 61 72 63 68 2d 73 74 72 69 6e 67 20 28 66 69 6c 74 65 72 29 0a 20 20 22 44 45 ery-search-string.(filter)..."DE
6900 50 52 45 43 41 54 45 44 20 52 65 74 75 72 6e 20 74 68 65 20 77 68 65 72 65 20 70 61 72 74 20 6f PRECATED.Return.the.where.part.o
6920 66 20 53 51 4c 20 62 61 73 65 64 20 6f 6e 20 46 49 4c 54 45 52 2e 22 0a 20 20 28 66 6f 72 6d 61 f.SQL.based.on.FILTER."...(forma
6940 74 0a 20 20 20 22 0a 57 48 45 52 45 20 69 64 20 4c 49 4b 45 20 27 25 25 25 73 25 25 27 0a 4f 52 t....".WHERE.id.LIKE.'%%%s%%'.OR
6960 20 74 65 78 74 20 4c 49 4b 45 20 27 25 25 25 73 25 25 27 0a 4f 52 20 74 61 67 20 4c 49 4b 45 20 .text.LIKE.'%%%s%%'.OR.tag.LIKE.
6980 27 25 25 25 73 25 25 27 0a 4f 52 20 74 69 74 6c 65 20 4c 49 4b 45 20 27 25 25 25 73 25 25 27 0a '%%%s%%'.OR.title.LIKE.'%%%s%%'.
69a0 4f 52 20 66 6f 72 6d 61 74 20 4c 49 4b 45 20 27 25 25 25 73 25 25 27 0a 4f 52 20 61 75 74 68 6f OR.format.LIKE.'%%%s%%'.OR.autho
69c0 72 5f 73 6f 72 74 20 4c 49 4b 45 20 27 25 25 25 73 25 25 27 0a 22 20 66 69 6c 74 65 72 20 66 69 r_sort.LIKE.'%%%s%%'.".filter.fi
69e0 6c 74 65 72 20 66 69 6c 74 65 72 20 66 69 6c 74 65 72 20 66 69 6c 74 65 72 20 66 69 6c 74 65 72 lter.filter.filter.filter.filter
6a00 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 2d 71 75 ))..(defun.calibredb-root-dir-qu
6a20 6f 74 65 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 65 78 70 61 6e 64 65 64 20 61 6e 64 20 71 75 ote.()..."Return.expanded.and.qu
6a40 6f 74 65 64 20 63 61 6c 69 62 72 65 64 62 20 72 6f 6f 74 20 64 69 72 2e 22 0a 20 20 28 73 65 74 oted.calibredb.root.dir."...(set
6a60 71 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 2d 71 75 6f 74 65 20 28 73 68 65 6c q.calibredb-root-dir-quote.(shel
6a80 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 l-quote-argument.(expand-file-na
6aa0 6d 65 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 29 29 29 0a 0a 28 63 6c 2d 64 me.calibredb-root-dir))))..(cl-d
6ac0 65 66 73 74 72 75 63 74 20 63 61 6c 69 62 72 65 64 62 2d 73 74 72 75 63 74 0a 20 20 63 6f 6d 6d efstruct.calibredb-struct...comm
6ae0 61 6e 64 20 6f 70 74 69 6f 6e 20 69 6e 70 75 74 20 69 64 20 6c 69 62 72 61 72 79 20 61 63 74 69 and.option.input.id.library.acti
6b00 6f 6e 29 0a 0a 28 63 6c 2d 64 65 66 73 74 72 75 63 74 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e on)..(cl-defstruct.calibredb-con
6b20 76 65 72 74 2d 73 74 72 75 63 74 0a 20 20 69 6e 70 75 74 20 6f 75 74 70 75 74 20 6f 70 74 69 6f vert-struct...input.output.optio
6b40 6e 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 61 63 74 69 6f 6e 20 n)..(defun.calibredb-get-action.
6b60 28 73 74 61 74 65 29 0a 20 20 22 47 65 74 20 74 68 65 20 61 63 74 69 6f 6e 20 66 75 6e 63 74 69 (state)..."Get.the.action.functi
6b80 6f 6e 20 66 72 6f 6d 20 53 54 41 54 45 2e 22 0a 20 20 28 6c 65 74 20 28 28 61 63 74 69 6f 6e 20 on.from.STATE."...(let.((action.
6ba0 28 63 61 6c 69 62 72 65 64 62 2d 73 74 72 75 63 74 2d 61 63 74 69 6f 6e 20 73 74 61 74 65 29 29 (calibredb-struct-action.state))
6bc0 29 0a 20 20 20 20 28 77 68 65 6e 20 61 63 74 69 6f 6e 0a 20 20 20 20 20 20 28 69 66 20 28 66 75 ).....(when.action.......(if.(fu
6be0 6e 63 74 69 6f 6e 70 20 61 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e nctionp.action)...........action
6c00 0a 20 20 20 20 20 20 20 20 28 63 61 64 72 20 28 6e 74 68 20 28 63 61 72 20 61 63 74 69 6f 6e 29 .........(cadr.(nth.(car.action)
6c20 20 61 63 74 69 6f 6e 29 29 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 63 61 6c 69 62 72 65 .action))))))..(cl-defun.calibre
6c40 64 62 2d 63 6f 6d 6d 61 6e 64 20 28 26 6b 65 79 20 63 6f 6d 6d 61 6e 64 20 6f 70 74 69 6f 6e 20 db-command.(&key.command.option.
6c60 69 6e 70 75 74 20 69 64 20 6c 69 62 72 61 72 79 20 61 63 74 69 6f 6e 29 0a 20 20 28 6c 65 74 2a input.id.library.action)...(let*
6c80 20 28 28 63 6f 6d 6d 61 6e 64 2d 73 74 72 69 6e 67 20 28 6d 61 6b 65 2d 63 61 6c 69 62 72 65 64 .((command-string.(make-calibred
6ca0 62 2d 73 74 72 75 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 b-struct........................
6cc0 20 20 20 3a 63 6f 6d 6d 61 6e 64 20 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...:command.command.............
6ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6f 70 74 69 6f 6e 20 6f 70 74 69 6f 6e 0a 20 20 20 ..............:option.option....
6d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 6e 70 75 74 20 69 6e .......................:input.in
6d20 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 put...........................:i
6d40 64 20 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a d.id...........................:
6d60 6c 69 62 72 61 72 79 20 6c 69 62 72 61 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 library.library.................
6d80 20 20 20 20 20 20 20 20 20 20 3a 61 63 74 69 6f 6e 20 61 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 ..........:action.action))......
6da0 20 20 20 20 28 6c 69 6e 65 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 79 0a ....(line.(mapconcat.#'identity.
6dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 2c 63 61 6c ..........................`(,cal
6de0 69 62 72 65 64 62 2d 70 72 6f 67 72 61 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ibredb-program..................
6e00 20 20 20 20 20 20 20 20 20 20 20 2c 28 63 61 6c 69 62 72 65 64 62 2d 73 74 72 75 63 74 2d 63 6f ...........,(calibredb-struct-co
6e20 6d 6d 61 6e 64 20 63 6f 6d 6d 61 6e 64 2d 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 mmand.command-string)...........
6e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 63 61 6c 69 62 72 65 64 62 2d 73 74 ..................,(calibredb-st
6e60 72 75 63 74 2d 6f 70 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64 2d 73 74 72 69 6e 67 29 0a 20 20 20 20 ruct-option.command-string).....
6e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 63 61 6c 69 62 72 ........................,(calibr
6ea0 65 64 62 2d 73 74 72 75 63 74 2d 69 6e 70 75 74 20 63 6f 6d 6d 61 6e 64 2d 73 74 72 69 6e 67 29 edb-struct-input.command-string)
6ec0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 63 .............................,(c
6ee0 61 6c 69 62 72 65 64 62 2d 73 74 72 75 63 74 2d 69 64 20 63 6f 6d 6d 61 6e 64 2d 73 74 72 69 6e alibredb-struct-id.command-strin
6f00 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c g).............................,
6f20 28 63 61 6c 69 62 72 65 64 62 2d 73 74 72 75 63 74 2d 6c 69 62 72 61 72 79 20 63 6f 6d 6d 61 6e (calibredb-struct-library.comman
6f40 64 2d 73 74 72 69 6e 67 29 29 20 22 20 22 29 29 29 0a 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 d-string))."."))).....(setq-loca
6f60 6c 20 69 6e 68 69 62 69 74 2d 6d 65 73 73 61 67 65 20 74 29 0a 20 20 20 20 28 6d 65 73 73 61 67 l.inhibit-message.t).....(messag
6f80 65 20 22 25 73 22 20 6c 69 6e 65 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 73 22 20 28 e."%s".line).....(message."%s".(
6fa0 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 74 6f 2d 73 74 72 69 6e 67 20 6c 69 6e 65 29 29 29 29 shell-command-to-string.line))))
6fc0 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 70 72 6f 63 65 73 73 20 28 26 ..(cl-defun.calibredb-process.(&
6fe0 6b 65 79 20 63 6f 6d 6d 61 6e 64 20 6f 70 74 69 6f 6e 20 69 6e 70 75 74 20 69 64 20 6c 69 62 72 key.command.option.input.id.libr
7000 61 72 79 20 61 63 74 69 6f 6e 29 0a 20 20 28 6c 65 74 2a 20 28 28 63 6f 6d 6d 61 6e 64 2d 73 74 ary.action)...(let*.((command-st
7020 72 69 6e 67 20 28 6d 61 6b 65 2d 63 61 6c 69 62 72 65 64 62 2d 73 74 72 75 63 74 0a 20 20 20 20 ring.(make-calibredb-struct.....
7040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 6d 61 6e 64 20 63 ......................:command.c
7060 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ommand..........................
7080 20 3a 6f 70 74 69 6f 6e 20 6f 70 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .:option.option.................
70a0 20 20 20 20 20 20 20 20 20 20 3a 69 6e 70 75 74 20 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20 ..........:input.input..........
70c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 64 20 69 64 0a 20 20 20 20 20 20 20 20 .................:id.id.........
70e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 62 72 61 72 79 20 6c 69 62 72 61 ..................:library.libra
7100 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 61 63 ry...........................:ac
7120 74 69 6f 6e 20 61 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 28 6d 61 tion.action))..........(line.(ma
7140 70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 pconcat.#'identity..............
7160 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 2c 63 61 6c 69 62 72 65 64 62 2d 70 72 6f 67 72 61 .............`(,calibredb-progra
7180 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 m.............................,(
71a0 63 61 6c 69 62 72 65 64 62 2d 73 74 72 75 63 74 2d 63 6f 6d 6d 61 6e 64 20 63 6f 6d 6d 61 6e 64 calibredb-struct-command.command
71c0 2d 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -string)........................
71e0 20 20 20 20 20 2c 28 63 61 6c 69 62 72 65 64 62 2d 73 74 72 75 63 74 2d 6f 70 74 69 6f 6e 20 63 .....,(calibredb-struct-option.c
7200 6f 6d 6d 61 6e 64 2d 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ommand-string)..................
7220 20 20 20 20 20 20 20 20 20 20 20 2c 28 63 61 6c 69 62 72 65 64 62 2d 73 74 72 75 63 74 2d 69 6e ...........,(calibredb-struct-in
7240 70 75 74 20 63 6f 6d 6d 61 6e 64 2d 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 put.command-string).............
7260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 63 61 6c 69 62 72 65 64 62 2d 73 74 72 75 ................,(calibredb-stru
7280 63 74 2d 69 64 20 63 6f 6d 6d 61 6e 64 2d 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 ct-id.command-string)...........
72a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 63 61 6c 69 62 72 65 64 62 2d 73 74 ..................,(calibredb-st
72c0 72 75 63 74 2d 6c 69 62 72 61 72 79 20 63 6f 6d 6d 61 6e 64 2d 73 74 72 69 6e 67 29 29 20 22 20 ruct-library.command-string)).".
72e0 22 29 29 29 0a 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 69 6e 68 69 62 69 74 2d 6d 65 73 "))).....(setq-local.inhibit-mes
7300 73 61 67 65 20 74 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 73 22 20 6c 69 6e 65 29 0a sage.t).....(message."%s".line).
7320 20 20 20 20 28 73 74 61 72 74 2d 70 72 6f 63 65 73 73 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 ....(start-process-shell-command
7340 20 22 63 61 6c 69 62 72 65 64 62 22 20 22 2a 63 61 6c 69 62 72 65 64 62 2a 22 20 6c 69 6e 65 29 ."calibredb"."*calibredb*".line)
7360 29 29 0a 0a 3b 3b 20 54 4f 44 4f 0a 28 63 6c 2d 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d ))..;;.TODO.(cl-defun.calibredb-
7380 63 6f 6e 76 65 72 74 2d 70 72 6f 63 65 73 73 20 28 26 6b 65 79 20 69 6e 70 75 74 20 6f 75 74 70 convert-process.(&key.input.outp
73a0 75 74 20 6f 70 74 69 6f 6e 29 0a 20 20 28 6c 65 74 2a 20 28 28 63 6f 6d 6d 61 6e 64 2d 73 74 72 ut.option)...(let*.((command-str
73c0 69 6e 67 20 28 6d 61 6b 65 2d 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 73 74 72 75 ing.(make-calibredb-convert-stru
73e0 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 6e ct...........................:in
7400 70 75 74 20 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 put.input.......................
7420 20 20 20 20 3a 6f 75 74 70 75 74 20 6f 75 74 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....:output.output..............
7440 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6f 70 74 69 6f 6e 20 6f 70 74 69 6f 6e 29 29 0a 20 20 .............:option.option))...
7460 20 20 20 20 20 20 20 28 6c 69 6e 65 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 .......(line.(mapconcat.#'identi
7480 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 2c ty...........................`(,
74a0 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 70 72 6f 67 72 61 6d 0a 20 20 20 20 20 20 calibredb-convert-program.......
74c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 63 61 6c 69 62 72 65 64 ......................,(calibred
74e0 62 2d 63 6f 6e 76 65 72 74 2d 73 74 72 75 63 74 2d 69 6e 70 75 74 20 63 6f 6d 6d 61 6e 64 2d 73 b-convert-struct-input.command-s
7500 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tring)..........................
7520 20 20 20 2c 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 73 74 72 75 63 74 2d 6f 75 ...,(calibredb-convert-struct-ou
7540 74 70 75 74 20 63 6f 6d 6d 61 6e 64 2d 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 tput.command-string)............
7560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e .................,(calibredb-con
7580 76 65 72 74 2d 73 74 72 75 63 74 2d 6f 70 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64 2d 73 74 72 69 6e vert-struct-option.command-strin
75a0 67 29 29 20 22 20 22 29 29 29 0a 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 69 6e 68 69 62 g))."."))).....(setq-local.inhib
75c0 69 74 2d 6d 65 73 73 61 67 65 20 74 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 73 22 20 it-message.t).....(message."%s".
75e0 6c 69 6e 65 29 0a 20 20 20 20 28 73 74 61 72 74 2d 70 72 6f 63 65 73 73 2d 73 68 65 6c 6c 2d 63 line).....(start-process-shell-c
7600 6f 6d 6d 61 6e 64 20 22 65 62 6f 6f 6b 2d 63 6f 6e 76 65 72 74 22 20 22 2a 65 62 6f 6f 6b 2d 63 ommand."ebook-convert"."*ebook-c
7620 6f 6e 76 65 72 74 2a 22 20 6c 69 6e 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 onvert*".line)))..(defun.calibre
7640 64 62 2d 63 68 6f 6d 70 20 28 73 29 0a 20 20 22 41 72 67 75 6d 65 6e 74 20 53 20 69 73 20 73 74 db-chomp.(s)..."Argument.S.is.st
7660 72 69 6e 67 2e 22 0a 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 ring."...(replace-regexp-in-stri
7680 6e 67 20 22 5b 5c 73 5c 6e 5d 2b 24 22 20 22 22 20 73 29 29 0a 0a 28 64 65 66 76 61 72 20 63 61 ng."[\s\n]+$"."".s))..(defvar.ca
76a0 6c 69 62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 6e 69 6c 0a 20 20 22 54 68 65 libredb-db-connection.nil..."The
76c0 20 45 6d 61 63 53 51 4c 20 64 61 74 61 62 61 73 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 22 29 0a .EmacSQL.database.connection.").
76e0 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 .(defun.calibredb-db-connection.
7700 28 29 0a 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 ()...(setq.calibredb-db-connecti
7720 6f 6e 20 28 66 75 6e 63 61 6c 6c 20 27 73 71 6c 69 74 65 2d 6f 70 65 6e 20 63 61 6c 69 62 72 65 on.(funcall.'sqlite-open.calibre
7740 64 62 2d 64 62 2d 64 69 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 71 db-db-dir)))..(defun.calibredb-q
7760 75 65 72 79 20 28 73 71 6c 2d 71 75 65 72 79 29 0a 20 20 22 51 75 65 72 79 20 63 61 6c 69 62 72 uery.(sql-query)..."Query.calibr
7780 65 20 64 61 74 61 62 61 73 65 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 e.database.and.return.the.result
77a0 2e 0a 41 72 67 75 6d 65 6e 74 20 53 51 4c 2d 51 55 45 52 59 20 69 73 20 74 68 65 20 73 71 6c 69 ..Argument.SQL-QUERY.is.the.sqli
77c0 74 65 20 73 71 6c 20 71 75 65 72 79 20 73 74 72 69 6e 67 2e 0a 0a 54 68 65 20 66 75 6e 63 74 69 te.sql.query.string...The.functi
77e0 6f 6e 20 77 6f 72 6b 73 20 62 79 20 73 65 6e 64 69 6e 67 20 53 51 4c 2d 51 55 45 52 59 20 74 6f on.works.by.sending.SQL-QUERY.to
7800 20 60 73 71 6c 2d 73 71 6c 69 74 65 2d 70 72 6f 67 72 61 6d 27 20 69 66 20 65 6d 61 63 73 20 3c .`sql-sqlite-program'.if.emacs.<
7820 20 32 39 20 66 6f 72 20 74 68 65 0a 64 61 74 61 62 61 73 65 20 66 69 6c 65 20 64 65 66 69 6e 65 .29.for.the.database.file.define
7840 64 20 62 79 20 60 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72 27 2c 20 64 75 6d 70 20 74 68 d.by.`calibredb-db-dir',.dump.th
7860 65 20 6f 75 74 70 75 74 20 74 6f 20 61 20 68 69 64 64 65 6e 0a 62 75 66 66 65 72 20 63 61 6c 6c e.output.to.a.hidden.buffer.call
7880 65 64 20 2a 63 61 6c 69 62 72 65 64 62 2d 71 75 65 72 79 2d 6f 75 74 70 75 74 2a 2c 20 74 68 65 ed.*calibredb-query-output*,.the
78a0 6e 20 69 66 20 74 68 65 20 73 71 6c 69 74 65 20 70 72 6f 67 72 61 6d 0a 74 65 72 6d 69 6e 61 74 n.if.the.sqlite.program.terminat
78c0 65 73 20 73 75 63 63 65 73 73 66 75 6c 6c 79 2c 20 69 74 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 es.successfully,.it.will.return.
78e0 74 68 65 20 73 74 72 69 6e 67 20 6f 66 20 74 68 65 20 6f 75 74 70 75 74 0a 62 75 66 66 65 72 2e the.string.of.the.output.buffer.
7900 20 49 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 66 61 69 6c 73 2c 20 69 74 20 77 69 6c 6c 20 73 .If.the.program.fails,.it.will.s
7920 77 69 74 63 68 20 74 6f 20 74 68 65 20 6f 75 74 70 75 74 20 62 75 66 66 65 72 20 61 6e 64 0a 74 witch.to.the.output.buffer.and.t
7940 65 6c 6c 20 75 73 65 72 20 73 6f 6d 65 74 68 69 6e 67 e2 80 99 73 20 77 72 6f 6e 67 2e 22 0a 20 ell.user.something...s.wrong."..
7960 20 28 69 66 20 28 61 6e 64 20 28 66 75 6e 63 74 69 6f 6e 70 20 27 73 71 6c 69 74 65 2d 61 76 61 .(if.(and.(functionp.'sqlite-ava
7980 69 6c 61 62 6c 65 2d 70 29 20 28 73 71 6c 69 74 65 2d 61 76 61 69 6c 61 62 6c 65 2d 70 29 29 0a ilable-p).(sqlite-available-p)).
79a0 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 73 71 ......(progn.........(unless.(sq
79c0 6c 69 74 65 70 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 litep.calibredb-db-connection)..
79e0 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f .........(calibredb-db-connectio
7a00 6e 29 29 0a 20 20 20 20 20 20 20 20 28 73 71 6c 69 74 65 2d 65 78 65 63 75 74 65 20 63 61 6c 69 n)).........(sqlite-execute.cali
7a20 62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 71 6c 2d 71 75 65 72 79 29 20 29 bredb-db-connection.sql-query).)
7a40 0a 20 20 20 28 6c 65 74 20 28 28 6f 75 74 2d 62 75 66 20 22 20 2a 63 61 6c 69 62 72 65 64 62 2d ....(let.((out-buf.".*calibredb-
7a60 71 75 65 72 79 2d 6f 75 74 70 75 74 2a 22 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 67 65 74 2d query-output*")).....(when.(get-
7a80 62 75 66 66 65 72 20 6f 75 74 2d 62 75 66 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 buffer.out-buf).......(kill-buff
7aa0 65 72 20 6f 75 74 2d 62 75 66 29 29 0a 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 66 69 6c 65 2d er.out-buf)).....(if.(not.(file-
7ac0 65 78 69 73 74 73 2d 70 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72 29 29 0a 20 20 20 20 exists-p.calibredb-db-dir)).....
7ae0 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 63 61 6c 69 62 72 65 64 62 2d 71 75 65 72 79 3a 20 63 ....(message."calibredb-query:.c
7b00 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72 20 69 73 20 6e 69 6c 21 20 63 61 6c 69 62 72 65 64 alibredb-db-dir.is.nil!.calibred
7b20 62 2d 71 75 65 72 79 20 77 6f 6e 27 74 20 77 6f 72 6b 20 77 69 74 68 6f 75 74 20 69 74 2e 22 29 b-query.won't.work.without.it.")
7b40 0a 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 63 61 6c 6c 2d 70 72 6f 63 65 73 73 2d .......(if.(zerop.(call-process-
7b60 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 shell-command...................
7b80 28 66 6f 72 6d 61 74 20 22 25 73 20 2d 73 65 70 61 72 61 74 6f 72 20 25 73 20 2d 6e 65 77 6c 69 (format."%s.-separator.%s.-newli
7ba0 6e 65 20 25 73 20 2d 6c 69 73 74 20 2d 6e 75 6c 6c 76 61 6c 75 65 20 27 27 20 2d 6e 6f 68 65 61 ne.%s.-list.-nullvalue.''.-nohea
7bc0 64 65 72 20 25 73 20 5c 22 25 73 5c 22 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 der.%s.\"%s\""..................
7be0 20 20 20 20 20 20 20 20 20 73 71 6c 2d 73 71 6c 69 74 65 2d 70 72 6f 67 72 61 6d 0a 20 20 20 20 .........sql-sqlite-program.....
7c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d ......................calibredb-
7c20 73 71 6c 2d 73 65 70 61 72 61 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sql-separator...................
7c40 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 71 6c 2d 6e 65 77 6c 69 6e 65 0a 20 20 ........calibredb-sql-newline...
7c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 68 65 6c 6c 2d 71 ........................(shell-q
7c80 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 uote-argument.(expand-file-name.
7ca0 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 calibredb-db-dir))..............
7cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 73 71 6c 2d 71 75 65 72 79 29 0a 20 20 20 20 20 20 20 20 .............sql-query).........
7ce0 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 28 6c 69 73 74 20 6f 75 74 2d 62 75 66 20 74 29 29 29 ..........nil.(list.out-buf.t)))
7d00 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 74 65 ...........;;.If.this.command.te
7d20 72 6d 69 6e 61 74 65 73 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 28 72 65 74 75 72 6e 20 30 29 rminates.successfully.(return.0)
7d40 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 52 65 74 75 72 6e 20 74 68 65 20 6f 75 74 70 75 74 27 ...........;;.Return.the.output'
7d60 73 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 s.string...........(with-current
7d80 2d 62 75 66 66 65 72 20 6f 75 74 2d 62 75 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 -buffer.out-buf.............(buf
7da0 66 65 72 2d 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 74 68 69 73 20 fer-string)).........;;.If.this.
7dc0 63 6f 6d 6d 61 6e 64 20 66 61 69 6c 73 20 72 65 74 75 72 6e 20 27 65 72 72 6f 72 0a 20 20 20 20 command.fails.return.'error.....
7de0 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 6f 75 74 2d 62 75 66 29 0a 20 ....(switch-to-buffer.out-buf)..
7e00 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 .......(goto-char.(point-min))..
7e20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 72 72 6f 72 3a 20 60 63 61 6c 69 62 72 65 64 62 .......(error."Error:.`calibredb
7e40 2d 71 75 65 72 79 27 20 63 61 6e 27 74 20 71 75 65 72 79 20 5c 22 25 73 5c 22 2e 20 73 77 69 74 -query'.can't.query.\"%s\"..swit
7e60 63 68 69 6e 67 20 74 6f 20 69 74 73 20 65 72 72 6f 72 20 62 75 66 66 65 72 22 20 28 65 78 70 61 ching.to.its.error.buffer".(expa
7e80 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72 29 29 29 nd-file-name.calibredb-db-dir)))
7ea0 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 71 75 65 72 79 2d 74 6f 2d ))))..(defun.calibredb-query-to-
7ec0 61 6c 69 73 74 20 28 71 75 65 72 79 2d 72 65 73 75 6c 74 29 0a 20 20 22 42 75 69 6c 64 73 20 61 alist.(query-result)..."Builds.a
7ee0 6c 69 73 74 20 6f 75 74 20 6f 66 20 61 20 66 75 6c 6c 20 60 63 61 6c 69 62 72 65 64 62 2d 71 75 list.out.of.a.full.`calibredb-qu
7f00 65 72 79 27 20 71 75 65 72 79 20 72 65 63 6f 72 64 20 72 65 73 75 6c 74 2e 0a 41 72 67 75 6d 65 ery'.query.record.result..Argume
7f20 6e 74 20 51 55 45 52 59 2d 52 45 53 55 4c 54 20 69 73 20 74 68 65 20 71 75 65 72 79 20 72 65 73 nt.QUERY-RESULT.is.the.query.res
7f40 75 6c 74 20 67 65 6e 65 72 61 74 65 20 62 79 20 73 71 6c 69 74 65 2e 22 0a 20 20 28 69 66 2d 6c ult.generate.by.sqlite."...(if-l
7f60 65 74 20 28 28 73 70 6c 2d 71 75 65 72 79 2d 72 65 73 75 6c 74 20 28 69 66 20 28 6c 69 73 74 70 et.((spl-query-result.(if.(listp
7f80 20 71 75 65 72 79 2d 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .query-result)..................
7fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 71 75 65 72 79 2d 72 65 73 75 6c 74 0a 20 20 20 ................query-result....
7fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 70 6c ............................(spl
7fe0 69 74 2d 73 74 72 69 6e 67 20 28 63 61 6c 69 62 72 65 64 62 2d 63 68 6f 6d 70 20 71 75 65 72 79 it-string.(calibredb-chomp.query
8000 2d 72 65 73 75 6c 74 29 20 63 61 6c 69 62 72 65 64 62 2d 73 71 6c 2d 73 65 70 61 72 61 74 6f 72 -result).calibredb-sql-separator
8020 29 29 29 29 0a 20 20 20 20 20 20 60 28 28 3a 69 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )))).......`((:id...............
8040 20 20 20 20 20 20 2c 28 6c 65 74 20 28 28 69 64 20 28 6e 74 68 20 30 20 73 70 6c 2d 71 75 65 72 ......,(let.((id.(nth.0.spl-quer
8060 79 2d 72 65 73 75 6c 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 y-result))).....................
8080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 69 64 29 ................(if.(stringp.id)
80a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
80c0 20 20 20 20 20 20 20 20 20 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........id.....................
80e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 ..................(number-to-str
8100 69 6e 67 20 69 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 3a 61 75 74 68 6f 72 2d 73 6f 72 74 ing.id)))).........(:author-sort
8120 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 6e 74 68 20 31 20 73 70 6c 2d 71 75 65 72 79 2d 72 65 ............,(nth.1.spl-query-re
8140 73 75 6c 74 29 29 0a 20 20 20 20 20 20 20 20 28 3a 62 6f 6f 6b 2d 64 69 72 20 20 20 20 20 20 20 sult)).........(:book-dir.......
8160 20 20 20 20 20 20 20 20 2c 28 6e 74 68 20 32 20 73 70 6c 2d 71 75 65 72 79 2d 72 65 73 75 6c 74 ........,(nth.2.spl-query-result
8180 29 29 0a 20 20 20 20 20 20 20 20 28 3a 62 6f 6f 6b 2d 6e 61 6d 65 20 20 20 20 20 20 20 20 20 20 )).........(:book-name..........
81a0 20 20 20 20 2c 28 6e 74 68 20 33 20 73 70 6c 2d 71 75 65 72 79 2d 72 65 73 75 6c 74 29 29 0a 20 ....,(nth.3.spl-query-result))..
81c0 20 20 20 20 20 20 20 28 3a 62 6f 6f 6b 2d 66 6f 72 6d 61 74 20 20 2c 28 64 6f 77 6e 63 61 73 65 .......(:book-format..,(downcase
81e0 20 28 6f 72 20 28 6e 74 68 20 34 20 73 70 6c 2d 71 75 65 72 79 2d 72 65 73 75 6c 74 29 20 22 22 .(or.(nth.4.spl-query-result).""
8200 29 29 29 0a 20 20 20 20 20 20 20 20 28 3a 62 6f 6f 6b 2d 70 75 62 64 61 74 65 20 20 20 20 20 20 ))).........(:book-pubdate......
8220 20 20 20 20 20 2c 28 6e 74 68 20 35 20 73 70 6c 2d 71 75 65 72 79 2d 72 65 73 75 6c 74 29 29 0a .....,(nth.5.spl-query-result)).
8240 20 20 20 20 20 20 20 20 28 3a 62 6f 6f 6b 2d 74 69 74 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 ........(:book-title............
8260 20 2c 28 6e 74 68 20 36 20 73 70 6c 2d 71 75 65 72 79 2d 72 65 73 75 6c 74 29 29 0a 20 20 20 20 .,(nth.6.spl-query-result)).....
8280 20 20 20 20 28 3a 66 69 6c 65 2d 70 61 74 68 20 20 20 20 2c 28 63 6f 6e 63 61 74 20 28 66 69 6c ....(:file-path....,(concat.(fil
82a0 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20 63 61 6c 69 62 72 65 64 62 2d 72 6f e-name-as-directory.calibredb-ro
82c0 6f 74 2d 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ot-dir).........................
82e0 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20 ........(file-name-as-directory.
8300 28 6e 74 68 20 32 20 73 70 6c 2d 71 75 65 72 79 2d 72 65 73 75 6c 74 29 29 0a 20 20 20 20 20 20 (nth.2.spl-query-result)).......
8320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 33 ..........................(nth.3
8340 20 73 70 6c 2d 71 75 65 72 79 2d 72 65 73 75 6c 74 29 20 22 2e 22 20 28 64 6f 77 6e 63 61 73 65 .spl-query-result).".".(downcase
8360 20 28 6f 72 20 28 6e 74 68 20 34 20 73 70 6c 2d 71 75 65 72 79 2d 72 65 73 75 6c 74 29 20 22 22 .(or.(nth.4.spl-query-result).""
8380 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 3a 74 61 67 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )))).........(:tag..............
83a0 20 20 20 20 20 20 2c 28 6f 72 20 28 6e 74 68 20 37 20 73 70 6c 2d 71 75 65 72 79 2d 72 65 73 75 ......,(or.(nth.7.spl-query-resu
83c0 6c 74 29 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 28 3a 73 69 7a 65 20 20 20 20 20 20 20 20 20 lt)."")).........(:size.........
83e0 20 20 20 20 20 20 20 20 20 20 2c 28 66 6f 72 6d 61 74 20 22 25 2e 32 66 22 20 28 2f 20 28 6c 65 ..........,(format."%.2f".(/.(le
8400 74 20 28 28 73 69 7a 65 20 28 6f 72 20 28 6e 74 68 20 38 20 73 70 6c 2d 71 75 65 72 79 2d 72 65 t.((size.(or.(nth.8.spl-query-re
8420 73 75 6c 74 29 20 22 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sult).""))).....................
8440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8460 20 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 73 69 7a 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 ..(if.(stringp.size)............
8480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
84a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 ...............(string-to-number
84c0 20 73 69 7a 65 29 20 73 69 7a 65 29 29 20 31 30 34 38 35 37 36 2e 30 29 29 29 0a 20 20 20 20 20 .size).size)).1048576.0)))......
84e0 20 20 20 28 3a 63 6f 6d 6d 65 6e 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 6f 72 ...(:comment................,(or
8500 20 28 6e 74 68 20 39 20 73 70 6c 2d 71 75 65 72 79 2d 72 65 73 75 6c 74 29 20 22 22 29 29 0a 20 .(nth.9.spl-query-result).""))..
8520 20 20 20 20 20 20 20 28 3a 69 64 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......(:ids....................
8540 2c 28 6f 72 20 28 6e 74 68 20 31 30 20 73 70 6c 2d 71 75 65 72 79 2d 72 65 73 75 6c 74 29 20 22 ,(or.(nth.10.spl-query-result)."
8560 22 29 29 0a 20 20 20 20 20 20 20 20 28 3a 70 75 62 6c 69 73 68 65 72 20 20 20 20 20 20 20 20 20 ")).........(:publisher.........
8580 20 20 20 20 20 2c 28 6f 72 20 28 6e 74 68 20 31 31 20 73 70 6c 2d 71 75 65 72 79 2d 72 65 73 75 .....,(or.(nth.11.spl-query-resu
85a0 6c 74 29 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 28 3a 73 65 72 69 65 73 20 20 20 20 20 20 20 lt)."")).........(:series.......
85c0 20 20 20 20 20 20 20 20 20 20 2c 28 6f 72 20 28 6e 74 68 20 31 32 20 73 70 6c 2d 71 75 65 72 79 ..........,(or.(nth.12.spl-query
85e0 2d 72 65 73 75 6c 74 29 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 28 3a 6c 61 6e 67 5f 63 6f 64 -result)."")).........(:lang_cod
8600 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 6f 72 20 28 6e 74 68 20 31 33 20 73 70 6c 2d e..............,(or.(nth.13.spl-
8620 71 75 65 72 79 2d 72 65 73 75 6c 74 29 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 28 3a 6c 61 73 query-result)."")).........(:las
8640 74 5f 6d 6f 64 69 66 69 65 64 20 20 20 20 20 20 20 20 20 20 2c 28 6f 72 20 28 6e 74 68 20 31 34 t_modified..........,(or.(nth.14
8660 20 73 70 6c 2d 71 75 65 72 79 2d 72 65 73 75 6c 74 29 20 22 22 29 29 29 29 29 0a 0a 28 64 65 66 .spl-query-result)."")))))..(def
8680 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6d 79 2d 61 6c 69 73 74 20 6b un.calibredb-getattr.(my-alist.k
86a0 65 79 29 0a 20 20 22 47 65 74 20 74 68 65 20 61 74 74 72 69 62 75 74 65 2e 0a 41 72 67 75 6d 65 ey)..."Get.the.attribute..Argume
86c0 6e 74 20 4d 59 2d 41 4c 49 53 54 20 69 73 20 74 68 65 20 61 6c 69 73 74 2e 0a 41 72 67 75 6d 65 nt.MY-ALIST.is.the.alist..Argume
86e0 6e 74 20 4b 45 59 20 69 73 20 74 68 65 20 6b 65 79 2e 22 0a 20 20 28 63 61 64 72 20 28 61 73 73 nt.KEY.is.the.key."...(cadr.(ass
8700 71 20 6b 65 79 20 28 63 61 72 20 6d 79 2d 61 6c 69 73 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 q.key.(car.my-alist))))..(defun.
8720 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 63 6f 6c 75 6d 6e 20 28 73 74 72 69 6e 67 20 calibredb-format-column.(string.
8740 77 69 64 74 68 20 26 6f 70 74 69 6f 6e 61 6c 20 61 6c 69 67 6e 29 0a 20 20 22 52 65 74 75 72 6e width.&optional.align)..."Return
8760 20 53 54 52 49 4e 47 20 74 72 75 6e 63 61 74 65 64 20 6f 72 20 70 61 64 64 65 64 20 74 6f 20 57 .STRING.truncated.or.padded.to.W
8780 49 44 54 48 20 66 6f 6c 6c 6f 77 69 6e 67 20 41 4c 49 47 4e 6d 65 6e 74 2e 0a 41 4c 49 47 4e 20 IDTH.following.ALIGNment..ALIGN.
87a0 73 68 6f 75 6c 64 20 62 65 20 61 20 6b 65 79 77 6f 72 64 20 3a 6c 65 66 74 20 6f 72 20 3a 72 69 should.be.a.keyword.:left.or.:ri
87c0 67 68 74 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 3c 20 77 69 64 74 68 20 30 29 20 73 74 72 69 6e ght."...(cond.((<.width.0).strin
87e0 67 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20 77 69 64 74 68 20 30 29 20 22 22 29 0a 20 20 20 20 g).........((=.width.0)."").....
8800 20 20 20 20 28 74 20 28 66 6f 72 6d 61 74 20 28 66 6f 72 6d 61 74 20 22 25 25 25 73 25 64 2e 25 ....(t.(format.(format."%%%s%d.%
8820 64 73 22 20 28 69 66 20 28 65 71 20 61 6c 69 67 6e 20 3a 6c 65 66 74 29 20 22 2d 22 20 22 22 29 ds".(if.(eq.align.:left)."-"."")
8840 20 77 69 64 74 68 20 77 69 64 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .width.width)...................
8860 20 73 74 72 69 6e 67 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74 69 .string))))..(defun.calibredb-ti
8880 74 6c 65 2d 66 61 63 65 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 74 69 74 6c 65 20 tle-face.()..."Return.the.title.
88a0 66 61 63 65 20 62 61 73 65 20 6f 6e 20 74 68 65 20 76 69 65 77 2e 22 0a 20 20 28 69 66 20 63 61 face.base.on.the.view."...(if.ca
88c0 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 0a 20 20 20 20 20 20 27 63 61 6c libredb-detailed-view.......'cal
88e0 69 62 72 65 64 62 2d 74 69 74 6c 65 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 2d 66 61 63 65 0a ibredb-title-detailed-view-face.
8900 20 20 20 20 20 20 27 63 61 6c 69 62 72 65 64 62 2d 74 69 74 6c 65 2d 66 61 63 65 29 29 0a 0a 28 ......'calibredb-title-face))..(
8920 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74 69 74 6c 65 2d 77 69 64 74 68 20 28 29 0a 20 defun.calibredb-title-width.()..
8940 20 22 52 65 74 75 72 6e 20 74 68 65 20 74 69 74 6c 65 20 77 69 64 74 68 20 62 61 73 65 20 6f 6e ."Return.the.title.width.base.on
8960 20 74 68 65 20 76 69 65 77 2e 22 0a 20 20 28 69 66 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 .the.view."...(if.calibredb-deta
8980 69 6c 65 64 2d 76 69 65 77 0a 20 20 20 20 20 20 2d 31 0a 20 20 20 20 63 61 6c 69 62 72 65 64 62 iled-view.......-1.....calibredb
89a0 2d 74 69 74 6c 65 2d 77 69 64 74 68 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 -title-width))..(defun.calibredb
89c0 2d 66 6f 72 6d 61 74 2d 77 69 64 74 68 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 -format-width.()..."Return.the.f
89e0 6f 72 6d 61 74 20 77 69 64 74 68 20 62 61 73 65 20 6f 6e 20 74 68 65 20 76 69 65 77 2e 22 0a 20 ormat.width.base.on.the.view."..
8a00 20 28 69 66 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 0a 20 20 20 .(if.calibredb-detailed-view....
8a20 20 20 20 2d 31 0a 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 77 69 64 74 68 ...-1.....calibredb-format-width
8a40 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 77 69 64 74 68 20 28 ))..(defun.calibredb-tag-width.(
8a60 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 74 61 67 20 77 69 64 74 68 20 62 61 73 65 20 6f )..."Return.the.tag.width.base.o
8a80 6e 20 74 68 65 20 76 69 65 77 2e 22 0a 20 20 28 69 66 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 n.the.view."...(if.calibredb-det
8aa0 61 69 6c 65 64 2d 76 69 65 77 0a 20 20 20 20 20 20 2d 31 0a 20 20 20 20 63 61 6c 69 62 72 65 64 ailed-view.......-1.....calibred
8ac0 62 2d 74 61 67 2d 77 69 64 74 68 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d b-tag-width))..(defun.calibredb-
8ae0 69 64 73 2d 77 69 64 74 68 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 69 64 73 20 77 ids-width.()..."Return.the.ids.w
8b00 69 64 74 68 20 62 61 73 65 20 6f 6e 20 74 68 65 20 76 69 65 77 2e 22 0a 20 20 28 69 66 20 63 61 idth.base.on.the.view."...(if.ca
8b20 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 0a 20 20 20 20 20 20 2d 31 0a 20 libredb-detailed-view.......-1..
8b40 20 20 20 63 61 6c 69 62 72 65 64 62 2d 69 64 73 2d 77 69 64 74 68 29 29 0a 0a 28 64 65 66 75 6e ...calibredb-ids-width))..(defun
8b60 20 63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 77 69 64 74 68 20 28 29 0a 20 20 22 52 65 .calibredb-author-width.()..."Re
8b80 74 75 72 6e 20 74 68 65 20 61 75 74 68 6f 72 20 77 69 64 74 68 20 62 61 73 65 20 6f 6e 20 74 68 turn.the.author.width.base.on.th
8ba0 65 20 76 69 65 77 2e 22 0a 20 20 28 69 66 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 e.view."...(if.calibredb-detaile
8bc0 64 2d 76 69 65 77 0a 20 20 20 20 20 20 2d 31 0a 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 61 75 d-view.......-1.....calibredb-au
8be0 74 68 6f 72 2d 77 69 64 74 68 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 thor-width))..(defun.calibredb-c
8c00 6f 6d 6d 65 6e 74 2d 77 69 64 74 68 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 6f omment-width.()..."Return.the.co
8c20 6d 6d 65 6e 74 20 77 69 64 74 68 20 62 61 73 65 20 6f 6e 20 74 68 65 20 76 69 65 77 2e 22 0a 20 mment.width.base.on.the.view."..
8c40 20 28 69 66 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 0a 20 20 20 .(if.calibredb-detailed-view....
8c60 20 20 20 2d 31 0a 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 65 6e 74 2d 77 69 64 74 ...-1.....calibredb-comment-widt
8c80 68 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 2d 77 69 64 74 68 h))..(defun.calibredb-date-width
8ca0 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 20 .()..."Return.the.last_modified.
8cc0 64 61 74 65 20 77 69 64 74 68 20 62 61 73 65 20 6f 6e 20 74 68 65 20 76 69 65 77 2e 22 0a 20 20 date.width.base.on.the.view."...
8ce0 28 69 66 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 0a 20 20 20 20 (if.calibredb-detailed-view.....
8d00 20 20 2d 31 0a 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 2d 77 69 64 74 68 29 29 0a ..-1.....calibredb-date-width)).
8d20 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 67 65 74 62 6f 6f 6b 6c 69 73 74 20 28 63 .(defun.calibredb-getbooklist.(c
8d40 61 6c 69 62 72 65 2d 69 74 65 6d 2d 6c 69 73 74 29 0a 20 20 22 47 65 74 20 62 6f 6f 6b 20 6c 69 alibre-item-list)..."Get.book.li
8d60 73 74 2e 0a 41 72 67 75 6d 65 6e 74 20 43 41 4c 49 42 52 45 2d 49 54 45 4d 2d 4c 49 53 54 20 69 st..Argument.CALIBRE-ITEM-LIST.i
8d80 73 20 74 68 65 20 63 61 6c 69 62 72 65 64 20 69 74 65 6d 20 6c 69 73 74 2e 22 0a 20 20 28 6c 65 s.the.calibred.item.list."...(le
8da0 74 20 28 64 69 73 70 6c 61 79 2d 61 6c 69 73 74 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 69 t.(display-alist).....(dolist.(i
8dc0 74 65 6d 20 63 61 6c 69 62 72 65 2d 69 74 65 6d 2d 6c 69 73 74 20 64 69 73 70 6c 61 79 2d 61 6c tem.calibre-item-list.display-al
8de0 69 73 74 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 64 69 73 70 6c 61 79 2d 61 6c 69 73 74 0a 20 ist).......(setq.display-alist..
8e00 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 6c 69 73 74 20 28 63 61 6c 69 62 72 65 64 ...........(cons.(list.(calibred
8e20 62 2d 66 6f 72 6d 61 74 2d 69 74 65 6d 20 69 74 65 6d 29 20 69 74 65 6d 29 20 64 69 73 70 6c 61 b-format-item.item).item).displa
8e40 79 2d 61 6c 69 73 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 y-alist)))))..(defun.calibredb-c
8e60 61 6e 64 69 64 61 74 65 73 20 28 26 72 65 73 74 20 70 72 6f 70 65 72 74 69 65 73 29 0a 20 20 22 andidates.(&rest.properties)..."
8e80 47 65 6e 65 72 61 74 65 20 65 62 6f 6f 6b 73 20 63 61 6e 64 69 64 61 74 65 73 20 61 6c 69 73 74 Generate.ebooks.candidates.alist
8ea0 2e 0a 41 72 67 75 6d 65 6e 74 20 50 52 4f 50 45 52 54 49 45 53 20 69 73 20 66 6f 72 20 73 65 6c ..Argument.PROPERTIES.is.for.sel
8ec0 65 63 74 69 6e 67 20 64 69 66 66 65 72 65 6e 74 20 73 71 6c 20 73 74 61 74 65 6d 65 6e 74 2e 22 ecting.different.sql.statement."
8ee0 0a 20 20 28 6c 65 74 2a 20 28 28 63 6f 75 6e 74 20 28 70 6c 69 73 74 2d 67 65 74 20 70 72 6f 70 ...(let*.((count.(plist-get.prop
8f00 65 72 74 69 65 73 20 3a 63 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 69 73 74 69 6e erties.:count))..........(distin
8f20 63 74 20 28 70 6c 69 73 74 2d 67 65 74 20 70 72 6f 70 65 72 74 69 65 73 20 3a 64 69 73 74 69 6e ct.(plist-get.properties.:distin
8f40 63 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 72 65 20 28 70 6c 69 73 74 2d 67 65 74 20 ct))..........(where.(plist-get.
8f60 70 72 6f 70 65 72 74 69 65 73 20 3a 77 68 65 72 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 71 properties.:where))..........(sq
8f80 6c 20 28 66 6f 72 6d 61 74 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l.(format.(cond.................
8fa0 20 20 20 20 20 20 20 28 63 6f 75 6e 74 20 63 61 6c 69 62 72 65 64 62 2d 73 71 6c 2d 63 6f 75 6e .......(count.calibredb-sql-coun
8fc0 74 2d 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-string).......................
8fe0 20 28 64 69 73 74 69 6e 63 74 20 28 63 6f 6e 63 61 74 20 22 53 45 4c 45 43 54 20 44 49 53 54 49 .(distinct.(concat."SELECT.DISTI
9000 4e 43 54 20 22 20 64 69 73 74 69 6e 63 74 20 22 20 46 52 4f 4d 20 28 53 45 4c 45 43 54 20 2a 20 NCT.".distinct.".FROM.(SELECT.*.
9020 46 52 4f 4d 20 28 25 73 29 20 25 73 29 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 FROM.(%s).%s)"))................
9040 20 20 20 20 20 20 20 20 28 74 20 22 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 28 25 73 29 20 25 ........(t."SELECT.*.FROM.(%s).%
9060 73 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 s")).......................(conc
9080 61 74 20 63 61 6c 69 62 72 65 64 62 2d 71 75 65 72 79 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 at.calibredb-query-string.......
90a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 ........................calibred
90c0 62 2d 73 71 6c 2d 6f 72 64 65 72 2d 62 79 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 b-sql-order-by-string...........
90e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 63 61 6c 69 62 ....................(pcase.calib
9100 72 65 64 62 2d 73 6f 72 74 2d 62 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 redb-sort-by....................
9120 20 20 20 20 20 20 20 20 20 20 20 20 20 28 27 69 64 20 22 20 69 64 22 29 0a 20 20 20 20 20 20 20 .............('id.".id")........
9140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 27 74 69 74 6c 65 .........................('title
9160 20 22 20 74 69 74 6c 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .".title")......................
9180 20 20 20 20 20 20 20 20 20 20 20 28 27 61 75 74 68 6f 72 20 22 20 61 75 74 68 6f 72 5f 73 6f 72 ...........('author.".author_sor
91a0 74 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t").............................
91c0 20 20 20 20 28 27 66 6f 72 6d 61 74 20 22 20 66 6f 72 6d 61 74 22 29 0a 20 20 20 20 20 20 20 20 ....('format.".format").........
91e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 27 64 61 74 65 20 22 ........................('date."
9200 20 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .last_modified")................
9220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 27 70 75 62 64 61 74 65 20 22 20 70 75 62 .................('pubdate.".pub
9240 64 61 74 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 date")..........................
9260 20 20 20 20 20 20 20 28 27 74 61 67 20 22 20 74 61 67 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 .......('tag.".tag")............
9280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 27 73 69 7a 65 20 22 20 75 6e .....................('size.".un
92a0 63 6f 6d 70 72 65 73 73 65 64 5f 73 69 7a 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 compressed_size")...............
92c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 27 6c 61 6e 67 75 61 67 65 20 22 20 6c ..................('language.".l
92e0 61 6e 67 5f 63 6f 64 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ang_code")......................
9300 20 20 20 20 20 20 20 20 20 20 20 28 5f 20 22 20 69 64 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 ...........(_.".id"))...........
9320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 20 63 61 ....................(when.(eq.ca
9340 6c 69 62 72 65 64 62 2d 6f 72 64 65 72 20 27 64 65 73 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 libredb-order.'desc)............
9360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 44 45 53 43 22 29 29 0a 20 .....................".DESC"))..
9380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 77 68 65 72 65 20 28 .....................(if.where.(
93a0 63 6f 6e 63 61 74 20 22 20 57 48 45 52 45 20 22 20 77 68 65 72 65 29 20 22 22 29 29 29 29 0a 20 concat.".WHERE.".where).""))))..
93c0 20 20 20 28 77 68 65 6e 2d 6c 65 74 2a 20 28 28 71 75 65 72 79 2d 72 65 73 75 6c 74 20 28 63 61 ...(when-let*.((query-result.(ca
93e0 6c 69 62 72 65 64 62 2d 71 75 65 72 79 20 73 71 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 libredb-query.sql)).............
9400 20 20 20 20 28 76 61 6c 69 64 2d 71 75 65 72 79 2d 72 65 73 75 6c 74 2d 70 20 28 6f 72 20 28 6c ....(valid-query-result-p.(or.(l
9420 69 73 74 70 20 71 75 65 72 79 2d 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 istp.query-result)..............
9440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 .............................(if
9460 20 28 73 74 72 69 6e 67 70 20 71 75 65 72 79 2d 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 .(stringp.query-result).........
9480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
94a0 20 20 20 20 20 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 3d 20 71 75 65 72 79 2d 72 65 73 75 6c 74 ......(not.(string=.query-result
94c0 20 22 22 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 2d 6c .""))))).................(line-l
94e0 69 73 74 20 28 69 66 20 28 6c 69 73 74 70 20 71 75 65 72 79 2d 72 65 73 75 6c 74 29 0a 20 20 20 ist.(if.(listp.query-result)....
9500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 71 75 65 72 ............................quer
9520 79 2d 72 65 73 75 6c 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 y-result........................
9540 20 20 20 20 20 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 28 63 61 6c 69 62 72 65 64 62 2d 63 ......(split-string.(calibredb-c
9560 68 6f 6d 70 20 71 75 65 72 79 2d 72 65 73 75 6c 74 29 20 63 61 6c 69 62 72 65 64 62 2d 73 71 6c homp.query-result).calibredb-sql
9580 2d 6e 65 77 6c 69 6e 65 29 20 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 28 6d 65 73 73 61 67 65 20 -newline).))).......;;.(message.
95a0 22 25 73 22 20 73 71 6c 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 20 28 63 6f 75 6e 74 20 28 69 66 "%s".sql).......(cond.(count.(if
95c0 20 28 6c 69 73 74 70 20 71 75 65 72 79 2d 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 .(listp.query-result)...........
95e0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 61 72 20 6c 69 6e 65 2d 6c 69 73 74 29 0a 20 20 .............(caar.line-list)...
9600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 ...................(string-to-nu
9620 6d 62 65 72 20 28 63 61 72 20 6c 69 6e 65 2d 6c 69 73 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 mber.(car.line-list)))).........
9640 20 20 20 20 28 64 69 73 74 69 6e 63 74 20 6c 69 6e 65 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 ....(distinct.line-list)........
9660 20 20 20 20 20 28 74 20 28 6c 65 74 20 28 72 65 73 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 .....(t.(let.(res-list).........
9680 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6c 69 6e 65 20 6c 69 6e 65 2d 6c 69 73 74 .........(dolist.(line.line-list
96a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6c 69 73 74 70 20 )....................(if.(listp.
96c0 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 line)........................(pu
96e0 73 68 20 28 63 61 6c 69 62 72 65 64 62 2d 71 75 65 72 79 2d 74 6f 2d 61 6c 69 73 74 20 6c 69 6e sh.(calibredb-query-to-alist.lin
9700 65 29 20 72 65 73 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e).res-list)....................
9720 20 20 3b 3b 20 76 61 6c 69 64 61 74 65 20 69 66 20 69 74 20 69 73 20 72 69 67 68 74 20 66 6f 72 ..;;.validate.if.it.is.right.for
9740 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 73 74 mat......................(if.(st
9760 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 28 63 6f 6e 63 61 74 20 22 5e 5b 30 2d 39 5d 5c 5c 7b 31 ring-match-p.(concat."^[0-9]\\{1
9780 2c 31 30 5c 5c 7d 22 20 63 61 6c 69 62 72 65 64 62 2d 73 71 6c 2d 73 65 70 61 72 61 74 6f 72 29 ,10\\}".calibredb-sql-separator)
97a0 20 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .line)..........................
97c0 3b 3b 20 64 65 63 6f 64 65 20 61 6e 64 20 70 75 73 68 20 74 6f 20 72 65 73 2d 6c 69 73 74 0a 20 ;;.decode.and.push.to.res-list..
97e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 ........................(push.(c
9800 61 6c 69 62 72 65 64 62 2d 71 75 65 72 79 2d 74 6f 2d 61 6c 69 73 74 20 6c 69 6e 65 29 20 72 65 alibredb-query-to-alist.line).re
9820 73 2d 6c 69 73 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c s-list))))..................(cal
9840 69 62 72 65 64 62 2d 67 65 74 62 6f 6f 6b 6c 69 73 74 20 72 65 73 2d 6c 69 73 74 29 29 29 29 29 ibredb-getbooklist.res-list)))))
9860 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 61 6e 64 69 64 61 74 65 28 69 ))..(defun.calibredb-candidate(i
9880 64 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 6f 6e 65 20 65 62 6f 6f 6b 20 63 61 6e 64 69 64 61 d)..."Generate.one.ebook.candida
98a0 74 65 20 61 6c 69 73 74 2e 0a 41 52 47 55 4d 45 4e 54 20 49 44 20 69 73 20 74 68 65 20 69 64 20 te.alist..ARGUMENT.ID.is.the.id.
98c0 6f 66 20 74 68 65 20 65 62 6f 6f 6b 20 69 6e 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 69 66 2d 6c of.the.ebook.in.string."...(if-l
98e0 65 74 2a 20 28 28 76 61 6c 69 64 2d 69 64 2d 70 20 28 73 74 72 69 6e 67 70 20 69 64 29 29 0a 20 et*.((valid-id-p.(stringp.id))..
9900 20 20 20 20 20 20 20 20 20 20 20 28 71 75 65 72 79 2d 72 65 73 75 6c 74 20 28 63 61 6c 69 62 72 ...........(query-result.(calibr
9920 65 64 62 2d 71 75 65 72 79 20 28 66 6f 72 6d 61 74 20 22 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d edb-query.(format."SELECT.*.FROM
9940 20 28 25 73 29 20 57 48 45 52 45 20 69 64 20 3d 20 25 73 22 20 63 61 6c 69 62 72 65 64 62 2d 71 .(%s).WHERE.id.=.%s".calibredb-q
9960 75 65 72 79 2d 73 74 72 69 6e 67 20 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 76 uery-string.id))).............(v
9980 61 6c 69 64 2d 71 75 65 72 79 2d 72 65 73 75 6c 74 2d 70 20 28 6f 72 20 28 6c 69 73 74 70 20 71 alid-query-result-p.(or.(listp.q
99a0 75 65 72 79 2d 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 uery-result)....................
99c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 ...................(if.(stringp.
99e0 71 75 65 72 79 2d 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 query-result)...................
9a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 73 74 ........................(not.(st
9a20 72 69 6e 67 3d 20 71 75 65 72 79 2d 72 65 73 75 6c 74 20 22 22 29 29 29 29 29 0a 20 20 20 20 20 ring=.query-result."")))))......
9a40 20 20 20 20 20 20 20 28 6c 69 6e 65 20 28 69 66 20 28 6c 69 73 74 70 20 71 75 65 72 79 2d 72 65 .......(line.(if.(listp.query-re
9a60 73 75 6c 74 29 20 28 63 61 72 20 71 75 65 72 79 2d 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 sult).(car.query-result)........
9a80 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 72 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 .............(car.(split-string.
9aa0 28 63 61 6c 69 62 72 65 64 62 2d 63 68 6f 6d 70 20 71 75 65 72 79 2d 72 65 73 75 6c 74 29 20 63 (calibredb-chomp.query-result).c
9ac0 61 6c 69 62 72 65 64 62 2d 73 71 6c 2d 6e 65 77 6c 69 6e 65 29 29 29 29 0a 20 20 20 20 20 20 20 alibredb-sql-newline))))........
9ae0 20 20 20 20 20 28 76 61 6c 69 64 2d 6c 69 6e 65 2d 70 20 28 6f 72 20 28 6c 69 73 74 70 20 6c 69 .....(valid-line-p.(or.(listp.li
9b00 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ne).............................
9b20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 28 63 6f 6e 63 61 74 20 22 5e 5b 30 2d 39 ..(string-match-p.(concat."^[0-9
9b40 5d 5c 5c 7b 31 2c 31 30 5c 5c 7d 22 20 63 61 6c 69 62 72 65 64 62 2d 73 71 6c 2d 73 65 70 61 72 ]\\{1,10\\}".calibredb-sql-separ
9b60 61 74 6f 72 29 20 6c 69 6e 65 29 29 29 29 0a 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d ator).line)))).......(calibredb-
9b80 67 65 74 62 6f 6f 6b 6c 69 73 74 20 28 6c 69 73 74 20 28 63 61 6c 69 62 72 65 64 62 2d 71 75 65 getbooklist.(list.(calibredb-que
9ba0 72 79 2d 74 6f 2d 61 6c 69 73 74 20 6c 69 6e 65 29 20 29 29 0a 20 20 20 20 27 28 22 22 29 29 29 ry-to-alist.line).)).....'("")))
9bc0 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 69 74 65 6d 20 28 ..(defun.calibredb-format-item.(
9be0 62 6f 6f 6b 2d 61 6c 69 73 74 29 0a 20 20 22 46 6f 72 6d 61 74 20 74 68 65 20 63 61 6e 64 69 64 book-alist)..."Format.the.candid
9c00 61 74 65 20 73 74 72 69 6e 67 20 73 68 6f 77 6e 20 69 6e 20 68 65 6c 6d 20 6f 72 20 69 76 79 2e ate.string.shown.in.helm.or.ivy.
9c20 0a 41 72 67 75 6d 65 6e 74 20 42 4f 4f 4b 2d 41 4c 49 53 54 20 2e 22 0a 20 20 28 6c 65 74 20 28 .Argument.BOOK-ALIST.."...(let.(
9c40 28 69 64 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 62 6f 6f (id.(calibredb-getattr.(list.boo
9c60 6b 2d 61 6c 69 73 74 29 20 3a 69 64 29 29 0a 20 20 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 63 k-alist).:id)).........(title.(c
9c80 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 62 6f 6f 6b 2d 61 6c 69 73 alibredb-getattr.(list.book-alis
9ca0 74 29 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 t).:book-title)).........(format
9cc0 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 62 6f 6f 6b 2d 61 .(calibredb-getattr.(list.book-a
9ce0 6c 69 73 74 29 20 3a 62 6f 6f 6b 2d 66 6f 72 6d 61 74 29 29 0a 20 20 20 20 20 20 20 20 28 61 75 list).:book-format)).........(au
9d00 74 68 6f 72 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 62 6f thor.(calibredb-getattr.(list.bo
9d20 6f 6b 2d 61 6c 69 73 74 29 20 3a 61 75 74 68 6f 72 2d 73 6f 72 74 29 29 0a 20 20 20 20 20 20 20 ok-alist).:author-sort))........
9d40 20 28 74 61 67 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 62 .(tag.(calibredb-getattr.(list.b
9d60 6f 6f 6b 2d 61 6c 69 73 74 29 20 3a 74 61 67 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6d 6d 65 ook-alist).:tag)).........(comme
9d80 6e 74 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 62 6f 6f 6b nt.(calibredb-getattr.(list.book
9da0 2d 61 6c 69 73 74 29 20 3a 63 6f 6d 6d 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 28 73 69 7a 65 -alist).:comment)).........(size
9dc0 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 62 6f 6f 6b 2d 61 .(calibredb-getattr.(list.book-a
9de0 6c 69 73 74 29 20 3a 73 69 7a 65 29 29 0a 20 20 20 20 20 20 20 20 28 69 64 73 20 28 63 61 6c 69 list).:size)).........(ids.(cali
9e00 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 62 6f 6f 6b 2d 61 6c 69 73 74 29 20 bredb-getattr.(list.book-alist).
9e20 3a 69 64 73 29 29 0a 20 20 20 20 20 20 20 20 28 64 61 74 65 20 28 63 61 6c 69 62 72 65 64 62 2d :ids)).........(date.(calibredb-
9e40 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 62 6f 6f 6b 2d 61 6c 69 73 74 29 20 3a 6c 61 73 74 5f getattr.(list.book-alist).:last_
9e60 6d 6f 64 69 66 69 65 64 29 29 0a 20 20 20 20 20 20 20 20 28 66 61 76 6f 72 69 74 65 2d 6d 61 70 modified)).........(favorite-map
9e80 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 0a 20 20 20 20 20 20 20 20 28 .(make-sparse-keymap)).........(
9ea0 74 61 67 2d 6d 61 70 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 0a 20 20 tag-map.(make-sparse-keymap))...
9ec0 20 20 20 20 20 20 28 66 6f 72 6d 61 74 2d 6d 61 70 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b ......(format-map.(make-sparse-k
9ee0 65 79 6d 61 70 29 29 0a 20 20 20 20 20 20 20 20 28 61 75 74 68 6f 72 2d 6d 61 70 20 28 6d 61 6b eymap)).........(author-map.(mak
9f00 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 0a 20 20 20 20 20 20 20 20 28 64 61 74 65 2d e-sparse-keymap)).........(date-
9f20 6d 61 70 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 29 0a 20 20 20 20 28 map.(make-sparse-keymap))).....(
9f40 64 65 66 69 6e 65 2d 6b 65 79 20 66 61 76 6f 72 69 74 65 2d 6d 61 70 20 5b 6d 6f 75 73 65 2d 31 define-key.favorite-map.[mouse-1
9f60 5d 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d 6d 6f 75 73 65 2d 31 29 0a 20 ].'calibredb-favorite-mouse-1)..
9f80 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 74 61 67 2d 6d 61 70 20 5b 6d 6f 75 73 65 2d 31 5d ...(define-key.tag-map.[mouse-1]
9fa0 20 27 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 6d 6f 75 73 65 2d 31 29 0a 20 20 20 20 28 64 65 .'calibredb-tag-mouse-1).....(de
9fc0 66 69 6e 65 2d 6b 65 79 20 66 6f 72 6d 61 74 2d 6d 61 70 20 5b 6d 6f 75 73 65 2d 31 5d 20 27 63 fine-key.format-map.[mouse-1].'c
9fe0 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 6d 6f 75 73 65 2d 31 29 0a 20 20 20 20 28 64 65 alibredb-format-mouse-1).....(de
a000 66 69 6e 65 2d 6b 65 79 20 61 75 74 68 6f 72 2d 6d 61 70 20 5b 6d 6f 75 73 65 2d 31 5d 20 27 63 fine-key.author-map.[mouse-1].'c
a020 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 6d 6f 75 73 65 2d 31 29 0a 20 20 20 20 28 64 65 alibredb-author-mouse-1).....(de
a040 66 69 6e 65 2d 6b 65 79 20 64 61 74 65 2d 6d 61 70 20 5b 6d 6f 75 73 65 2d 31 5d 20 27 63 61 6c fine-key.date-map.[mouse-1].'cal
a060 69 62 72 65 64 62 2d 64 61 74 65 2d 6d 6f 75 73 65 2d 31 29 0a 20 20 20 20 28 69 66 20 63 61 6c ibredb-date-mouse-1).....(if.cal
a080 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 0a 20 20 20 20 20 20 20 20 28 73 65 ibredb-detailed-view.........(se
a0a0 74 71 20 74 69 74 6c 65 20 28 63 6f 6e 63 61 74 20 74 69 74 6c 65 20 22 5c 6e 22 29 29 29 0a 20 tq.title.(concat.title."\n")))..
a0c0 20 20 20 28 66 6f 72 6d 61 74 0a 20 20 20 20 20 28 69 66 20 63 61 6c 69 62 72 65 64 62 2d 64 65 ...(format......(if.calibredb-de
a0e0 74 61 69 6c 65 64 2d 76 69 65 77 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6e 75 6d 20 tailed-view..........(let.((num.
a100 28 63 6f 6e 64 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 6e 65 72 64 2d 69 63 6f (cond.(calibredb-format-nerd-ico
a120 6e 73 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ns.3)...........................
a140 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 61 6c 6c 2d 74 68 65 2d 69 63 6f 6e 73 20 (calibredb-format-all-the-icons.
a160 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 3)...........................(ca
a180 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 69 63 6f 6e 73 2d 69 6e 2d 74 65 72 6d 69 6e 61 6c libredb-format-icons-in-terminal
a1a0 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 .3)...........................((
a1c0 3e 3d 20 63 61 6c 69 62 72 65 64 62 2d 69 64 2d 77 69 64 74 68 20 30 29 20 63 61 6c 69 62 72 65 >=.calibredb-id-width.0).calibre
a1e0 64 62 2d 69 64 2d 77 69 64 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 db-id-width)....................
a200 20 20 20 20 20 20 20 28 74 20 30 20 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e .......(t.0.))))............(con
a220 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 25 73 20 25 73 25 73 22 0a 20 20 20 20 20 20 cat............."%s.%s%s".......
a240 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 63 6f 6c 75 6d 6e 20 28 ......(calibredb-format-column.(
a260 66 6f 72 6d 61 74 20 22 25 73 46 6f 72 6d 61 74 3a 22 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 format."%sFormat:".(make-string.
a280 6e 75 6d 20 3f 20 29 29 20 28 2b 20 38 20 6e 75 6d 29 20 3a 6c 65 66 74 29 20 22 25 73 5c 6e 22 num.?.)).(+.8.num).:left)."%s\n"
a2a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 63 .............(calibredb-format-c
a2c0 6f 6c 75 6d 6e 20 28 66 6f 72 6d 61 74 20 22 25 73 44 61 74 65 3a 22 20 28 6d 61 6b 65 2d 73 74 olumn.(format."%sDate:".(make-st
a2e0 72 69 6e 67 20 6e 75 6d 20 3f 20 29 29 20 28 2b 20 38 20 6e 75 6d 29 20 3a 6c 65 66 74 29 20 22 ring.num.?.)).(+.8.num).:left)."
a300 25 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 %s\n".............(calibredb-for
a320 6d 61 74 2d 63 6f 6c 75 6d 6e 20 28 66 6f 72 6d 61 74 20 22 25 73 41 75 74 68 6f 72 3a 22 20 28 mat-column.(format."%sAuthor:".(
a340 6d 61 6b 65 2d 73 74 72 69 6e 67 20 6e 75 6d 20 3f 20 29 29 20 20 28 2b 20 38 20 6e 75 6d 29 20 make-string.num.?.))..(+.8.num).
a360 3a 6c 65 66 74 29 20 22 25 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 :left)."%s\n".............(calib
a380 72 65 64 62 2d 66 6f 72 6d 61 74 2d 63 6f 6c 75 6d 6e 20 28 66 6f 72 6d 61 74 20 22 25 73 54 61 redb-format-column.(format."%sTa
a3a0 67 3a 22 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 6e 75 6d 20 3f 20 29 29 20 28 2b 20 38 20 6e g:".(make-string.num.?.)).(+.8.n
a3c0 75 6d 29 20 3a 6c 65 66 74 29 20 22 25 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 um).:left)."%s\n".............(c
a3e0 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 63 6f 6c 75 6d 6e 20 28 66 6f 72 6d 61 74 20 22 alibredb-format-column.(format."
a400 25 73 49 64 73 3a 22 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 6e 75 6d 20 3f 20 29 29 20 28 2b %sIds:".(make-string.num.?.)).(+
a420 20 38 20 6e 75 6d 29 20 3a 6c 65 66 74 29 20 22 25 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 .8.num).:left)."%s\n"...........
a440 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 63 6f 6c 75 6d 6e 20 28 66 6f 72 6d ..(calibredb-format-column.(form
a460 61 74 20 22 25 73 43 6f 6d 6d 65 6e 74 3a 22 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 6e 75 6d at."%sComment:".(make-string.num
a480 20 3f 20 29 29 20 28 2b 20 38 20 6e 75 6d 29 20 3a 6c 65 66 74 29 20 22 25 73 5c 6e 22 0a 20 20 .?.)).(+.8.num).:left)."%s\n"...
a4a0 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 63 6f 6c 75 ..........(calibredb-format-colu
a4c0 6d 6e 20 28 66 6f 72 6d 61 74 20 22 25 73 53 69 7a 65 3a 22 20 28 6d 61 6b 65 2d 73 74 72 69 6e mn.(format."%sSize:".(make-strin
a4e0 67 20 6e 75 6d 20 3f 20 29 29 20 28 2b 20 38 20 6e 75 6d 29 20 3a 6c 65 66 74 29 20 22 25 73 22 g.num.?.)).(+.8.num).:left)."%s"
a500 29 29 0a 20 20 20 20 20 20 20 22 25 73 20 25 73 25 73 20 25 73 20 25 73 20 25 73 20 28 25 73 29 ))........"%s.%s%s.%s.%s.%s.(%s)
a520 20 25 73 20 25 73 20 25 73 22 29 0a 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 69 63 6f 6e .%s.%s.%s")......(calibredb-icon
a540 73 2d 66 6f 72 2d 66 69 6c 65 2d 65 78 74 65 6e 73 69 6f 6e 73 20 66 6f 72 6d 61 74 29 0a 20 20 s-for-file-extensions.format)...
a560 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 63 6f 6c 75 6d 6e 20 28 66 6f 72 ...(calibredb-format-column.(for
a580 6d 61 74 20 22 25 73 22 20 28 70 72 6f 70 65 72 74 69 7a 65 20 69 64 20 27 66 61 63 65 20 27 63 mat."%s".(propertize.id.'face.'c
a5a0 61 6c 69 62 72 65 64 62 2d 69 64 2d 66 61 63 65 20 27 69 64 20 69 64 29 29 20 63 61 6c 69 62 72 alibredb-id-face.'id.id)).calibr
a5c0 65 64 62 2d 69 64 2d 77 69 64 74 68 20 3a 6c 65 66 74 29 0a 20 20 20 20 20 28 63 61 6c 69 62 72 edb-id-width.:left)......(calibr
a5e0 65 64 62 2d 66 6f 72 6d 61 74 2d 63 6f 6c 75 6d 6e 20 28 66 6f 72 6d 61 74 20 22 25 73 25 73 22 edb-format-column.(format."%s%s"
a600 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
a620 20 20 20 20 20 20 20 28 69 66 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 63 61 6c 69 62 72 65 64 .......(if.(s-contains?.calibred
a640 62 2d 66 61 76 6f 72 69 74 65 2d 6b 65 79 77 6f 72 64 20 74 61 67 29 0a 20 20 20 20 20 20 20 20 b-favorite-keyword.tag).........
a660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
a680 20 20 28 66 6f 72 6d 61 74 20 22 25 73 20 22 20 28 70 72 6f 70 65 72 74 69 7a 65 20 63 61 6c 69 ..(format."%s.".(propertize.cali
a6a0 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d 69 63 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 bredb-favorite-icon.............
a6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
a6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 61 63 65 20 27 63 ........................'face.'c
a700 61 6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d 66 61 63 65 0a 20 20 20 20 20 20 20 20 20 alibredb-favorite-face..........
a720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
a740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6d 6f 75 73 ...........................'mous
a760 65 2d 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 6d 6f 75 73 65 2d 66 61 63 65 0a 20 20 20 e-face.'calibredb-mouse-face....
a780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
a7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
a7c0 20 27 68 65 6c 70 2d 65 63 68 6f 20 22 46 69 6c 74 65 72 20 74 68 65 20 66 61 76 6f 72 69 74 65 .'help-echo."Filter.the.favorite
a7e0 20 69 74 65 6d 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .items".........................
a800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
a820 20 20 20 20 20 20 20 20 20 20 20 20 27 6b 65 79 6d 61 70 20 66 61 76 6f 72 69 74 65 2d 6d 61 70 ............'keymap.favorite-map
a840 29 29 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))."")..........................
a860 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .............(cond..............
a880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 2d 63 6f ..........................((s-co
a8a0 6e 74 61 69 6e 73 3f 20 63 61 6c 69 62 72 65 64 62 2d 61 72 63 68 69 76 65 2d 6b 65 79 77 6f 72 ntains?.calibredb-archive-keywor
a8c0 64 20 74 61 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.tag)..........................
a8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 74 69 74 6c 65 ...............(propertize.title
a900 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 61 72 63 68 69 76 65 2d 66 61 63 65 29 29 .'face.'calibredb-archive-face))
a920 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
a940 20 20 20 20 20 20 20 20 28 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 63 61 6c 69 62 72 65 64 62 2d ........((s-contains?.calibredb-
a960 68 69 67 68 6c 69 67 68 74 2d 6b 65 79 77 6f 72 64 20 74 61 67 29 0a 20 20 20 20 20 20 20 20 20 highlight-keyword.tag)..........
a980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
a9a0 70 72 6f 70 65 72 74 69 7a 65 20 74 69 74 6c 65 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 propertize.title.'face.'calibred
a9c0 62 2d 68 69 67 68 6c 69 67 68 74 2d 66 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 b-highlight-face))..............
a9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 ..........................(t....
aa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
aa20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 74 69 74 6c 65 20 27 66 61 63 65 20 28 63 61 .....(propertize.title.'face.(ca
aa40 6c 69 62 72 65 64 62 2d 74 69 74 6c 65 2d 66 61 63 65 29 29 29 29 29 20 28 63 61 6c 69 62 72 65 libredb-title-face))))).(calibre
aa60 64 62 2d 74 69 74 6c 65 2d 77 69 64 74 68 29 20 3a 6c 65 66 74 29 0a 20 20 20 20 20 28 63 61 6c db-title-width).:left)......(cal
aa80 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 63 6f 6c 75 6d 6e 20 28 70 72 6f 70 65 72 74 69 7a 65 ibredb-format-column.(propertize
aaa0 20 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .format.........................
aac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 ..................'face.'calibre
aae0 64 62 2d 66 6f 72 6d 61 74 2d 66 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 db-format-face..................
ab00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6d 6f 75 73 65 2d .........................'mouse-
ab20 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 6d 6f 75 73 65 2d 66 61 63 65 0a 20 20 20 20 20 face.'calibredb-mouse-face......
ab40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
ab60 20 20 20 20 20 27 68 65 6c 70 2d 65 63 68 6f 20 22 46 69 6c 74 65 72 20 77 69 74 68 20 74 68 69 .....'help-echo."Filter.with.thi
ab80 73 20 66 6f 72 6d 61 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.format".......................
aba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6b 65 79 6d 61 70 20 66 6f 72 6d ....................'keymap.form
abc0 61 74 2d 6d 61 70 29 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 77 69 64 74 68 29 at-map).(calibredb-format-width)
abe0 20 3a 6c 65 66 74 29 0a 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 63 .:left)......(calibredb-format-c
ac00 6f 6c 75 6d 6e 20 28 70 72 6f 70 65 72 74 69 7a 65 20 28 73 2d 6c 65 66 74 20 31 30 20 64 61 74 olumn.(propertize.(s-left.10.dat
ac20 65 29 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 2d 66 61 63 65 20 3b 20 e).'face.'calibredb-date-face.;.
ac40 6f 6e 6c 79 20 6b 65 65 70 20 59 59 59 59 2d 4d 4d 2d 44 44 0a 20 20 20 20 20 20 20 20 20 20 20 only.keep.YYYY-MM-DD............
ac60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 ...............................'
ac80 6d 6f 75 73 65 2d 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 6d 6f 75 73 65 2d 66 61 63 65 mouse-face.'calibredb-mouse-face
aca0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
acc0 20 20 20 20 20 20 20 20 20 20 20 27 68 65 6c 70 2d 65 63 68 6f 20 22 46 69 6c 74 65 72 20 77 69 ...........'help-echo."Filter.wi
ace0 74 68 20 74 68 69 73 20 64 61 74 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 th.this.date"...................
ad00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6b 65 79 6d 61 70 20 ........................'keymap.
ad20 64 61 74 65 2d 6d 61 70 29 20 28 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 2d 77 69 64 74 68 29 date-map).(calibredb-date-width)
ad40 20 3a 6c 65 66 74 29 0a 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 63 .:left)......(calibredb-format-c
ad60 6f 6c 75 6d 6e 20 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 olumn.(mapconcat................
ad80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 61 75 74 68 6f 72 29 ................(lambda.(author)
ada0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
adc0 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 61 75 74 68 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 ..(propertize.author............
ade0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
ae00 20 20 27 61 75 74 68 6f 72 20 61 75 74 68 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..'author.author................
ae20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 ..............................'f
ae40 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 66 61 63 65 0a 20 20 20 20 20 ace.'calibredb-author-face......
ae60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
ae80 20 20 20 20 20 20 20 20 27 6d 6f 75 73 65 2d 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 6d ........'mouse-face.'calibredb-m
aea0 6f 75 73 65 2d 66 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ouse-face.......................
aec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 68 65 6c 70 2d 65 63 68 .......................'help-ech
aee0 6f 20 28 66 6f 72 6d 61 74 20 22 46 69 6c 74 65 72 20 77 69 74 68 20 74 68 69 73 20 61 75 74 68 o.(format."Filter.with.this.auth
af00 6f 72 3a 20 25 73 22 20 61 75 74 68 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 or:.%s".author).................
af20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6b 65 .............................'ke
af40 79 6d 61 70 20 61 75 74 68 6f 72 2d 6d 61 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ymap.author-map))...............
af60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 61 .................(split-string.a
af80 75 74 68 6f 72 20 22 2c 22 29 20 22 2c 22 29 20 28 63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f uthor.",").",").(calibredb-autho
afa0 72 2d 77 69 64 74 68 29 20 3a 6c 65 66 74 29 0a 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d r-width).:left)......(calibredb-
afc0 66 6f 72 6d 61 74 2d 63 6f 6c 75 6d 6e 20 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 format-column.(mapconcat........
afe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 ........................(lambda.
b000 28 74 61 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (tag)...........................
b020 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 74 61 67 0a 20 20 20 20 20 20 20 20 20 .......(propertize.tag..........
b040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
b060 20 20 20 20 27 74 61 67 20 74 61 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....'tag.tag....................
b080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 61 63 65 20 ..........................'face.
b0a0 27 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 'calibredb-tag-face.............
b0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
b0e0 20 27 6d 6f 75 73 65 2d 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 6d 6f 75 73 65 2d 66 61 .'mouse-face.'calibredb-mouse-fa
b100 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ce..............................
b120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 68 65 6c 70 2d 65 63 68 6f 20 28 66 6f 72 6d ................'help-echo.(form
b140 61 74 20 22 46 69 6c 74 65 72 20 77 69 74 68 20 74 68 69 73 20 74 61 67 3a 20 25 73 22 20 74 61 at."Filter.with.this.tag:.%s".ta
b160 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g)..............................
b180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6b 65 79 6d 61 70 20 74 61 67 2d 6d 61 70 29 ................'keymap.tag-map)
b1a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
b1c0 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 74 61 67 20 22 2c 22 29 20 22 2c 22 29 20 28 63 61 .(split-string.tag.",").",").(ca
b1e0 6c 69 62 72 65 64 62 2d 74 61 67 2d 77 69 64 74 68 29 20 3a 6c 65 66 74 29 0a 20 20 20 20 20 28 libredb-tag-width).:left)......(
b200 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 63 6f 6c 75 6d 6e 20 28 70 72 6f 70 65 72 74 calibredb-format-column.(propert
b220 69 7a 65 20 69 64 73 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 69 64 73 2d 66 61 63 ize.ids.'face.'calibredb-ids-fac
b240 65 29 20 28 63 61 6c 69 62 72 65 64 62 2d 69 64 73 2d 77 69 64 74 68 29 20 3a 6c 65 66 74 29 0a e).(calibredb-ids-width).:left).
b260 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 63 6f 6d 6d 65 6e 74 29 0a 20 20 20 20 20 .....(if.(stringp.comment)......
b280 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 ....(propertize...........(let.(
b2a0 28 63 20 28 69 66 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 64 65 6e 73 65 2d 63 6f 6d 6d 65 6e (c.(if.calibredb-condense-commen
b2c0 74 73 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 64 65 6e 73 65 2d 63 6f 6d 6d 65 6e 74 73 20 ts.(calibredb-condense-comments.
b2e0 63 6f 6d 6d 65 6e 74 29 20 63 6f 6d 6d 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 comment).comment))..............
b300 20 20 20 28 77 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 65 6e 74 2d 77 69 64 74 68 29 29 0a ...(w.calibredb-comment-width)).
b320 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 3e 20 77 20 30 29 20 28 73 2d 74 72 ............(cond.((>.w.0).(s-tr
b340 75 6e 63 61 74 65 20 77 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 uncate.w.c))...................(
b360 28 3d 20 77 20 30 29 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 (=.w.0)."")...................(t
b380 20 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 .c)))...........'face.'calibredb
b3a0 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 29 20 22 22 29 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 -comment-face)."")......(format.
b3c0 22 25 73 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 63 61 6c 69 62 72 65 64 "%s%s"..............(if.calibred
b3e0 62 2d 73 69 7a 65 2d 73 68 6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 b-size-show..................(pr
b400 6f 70 65 72 74 69 7a 65 20 73 69 7a 65 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 opertize.size.'face.'calibredb-s
b420 69 7a 65 2d 66 61 63 65 29 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 63 ize-face)."")..............(if.c
b440 61 6c 69 62 72 65 64 62 2d 73 69 7a 65 2d 73 68 6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 alibredb-size-show..............
b460 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 22 4d 62 22 20 27 66 61 63 65 20 27 63 61 6c 69 ....(propertize."Mb".'face.'cali
b480 62 72 65 64 62 2d 73 69 7a 65 2d 66 61 63 65 29 20 22 22 29 29 29 20 29 29 0a 0a 28 64 65 66 75 bredb-size-face).""))).))..(defu
b4a0 6e 20 63 61 6c 69 62 72 65 64 62 2d 69 63 6f 6e 73 2d 66 6f 72 2d 66 69 6c 65 2d 65 78 74 65 6e n.calibredb-icons-for-file-exten
b4c0 73 69 6f 6e 73 20 28 65 78 74 65 6e 73 69 6f 6e 73 2d 73 74 72 69 6e 67 29 0a 20 20 22 52 65 74 sions.(extensions-string)..."Ret
b4e0 75 72 6e 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 69 63 6f 6e 28 73 29 20 66 6f 72 20 urn.the.appropriate.icon(s).for.
b500 74 68 65 20 67 69 76 65 6e 20 45 58 54 45 4e 53 49 4f 4e 53 2d 53 54 52 49 4e 47 2e 0a 49 66 20 the.given.EXTENSIONS-STRING..If.
b520 74 68 65 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 73 20 60 63 61 6c 69 62 72 65 64 62 2d 70 the.string.contains.`calibredb-p
b540 72 65 66 65 72 72 65 64 2d 66 6f 72 6d 61 74 60 2c 20 6f 6e 6c 79 20 73 68 6f 77 20 74 68 61 74 referred-format`,.only.show.that
b560 20 66 6f 72 6d 61 74 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 73 68 6f 77 20 69 63 6f 6e 73 20 66 .format..Otherwise,.show.icons.f
b580 6f 72 20 74 68 65 20 66 69 72 73 74 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 6d 61 74 2e 22 0a or.the.first.available.format.".
b5a0 20 20 28 6c 65 74 2a 20 28 28 65 78 74 65 6e 73 69 6f 6e 73 20 28 73 70 6c 69 74 2d 73 74 72 69 ..(let*.((extensions.(split-stri
b5c0 6e 67 20 28 73 74 72 69 6e 67 2d 74 72 69 6d 20 65 78 74 65 6e 73 69 6f 6e 73 2d 73 74 72 69 6e ng.(string-trim.extensions-strin
b5e0 67 29 20 22 2c 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 72 65 66 65 72 72 65 64 2d 66 6f 72 g).","))..........(preferred-for
b600 6d 61 74 20 28 63 61 72 20 28 6d 65 6d 62 65 72 20 63 61 6c 69 62 72 65 64 62 2d 70 72 65 66 65 mat.(car.(member.calibredb-prefe
b620 72 72 65 64 2d 66 6f 72 6d 61 74 20 65 78 74 65 6e 73 69 6f 6e 73 29 29 29 0a 20 20 20 20 20 20 rred-format.extensions))).......
b640 20 20 20 28 65 78 74 65 6e 73 69 6f 6e 73 2d 74 6f 2d 73 68 6f 77 20 28 69 66 20 70 72 65 66 65 ...(extensions-to-show.(if.prefe
b660 72 72 65 64 2d 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rred-format.....................
b680 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 70 72 65 66 65 72 72 65 64 2d 66 6f 72 .............(list.preferred-for
b6a0 6d 61 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mat)............................
b6c0 20 20 20 20 28 6c 69 73 74 20 28 63 61 72 20 65 78 74 65 6e 73 69 6f 6e 73 29 29 29 29 29 0a 20 ....(list.(car.extensions)))))..
b6e0 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d ...(cond......(calibredb-format-
b700 6e 65 72 64 2d 69 63 6f 6e 73 0a 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 28 6c 61 6d nerd-icons.......(mapconcat.(lam
b720 62 64 61 20 28 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 bda.(ext)....................(if
b740 20 28 66 62 6f 75 6e 64 70 20 27 6e 65 72 64 2d 69 63 6f 6e 73 2d 69 63 6f 6e 2d 66 6f 72 2d 66 .(fboundp.'nerd-icons-icon-for-f
b760 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 72 ile)........................(ner
b780 64 2d 69 63 6f 6e 73 2d 69 63 6f 6e 2d 66 6f 72 2d 66 69 6c 65 20 28 63 6f 6e 63 61 74 20 22 66 d-icons-icon-for-file.(concat."f
b7a0 69 6c 65 2e 22 20 28 73 74 72 69 6e 67 2d 74 72 69 6d 20 65 78 74 29 29 29 0a 20 20 20 20 20 20 ile.".(string-trim.ext))).......
b7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..............."")).............
b7e0 20 20 20 20 20 65 78 74 65 6e 73 69 6f 6e 73 2d 74 6f 2d 73 68 6f 77 20 22 20 22 29 29 0a 20 20 .....extensions-to-show."."))...
b800 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 61 6c 6c 2d 74 68 65 2d 69 63 6f ...(calibredb-format-all-the-ico
b820 6e 73 0a 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 28 6c 61 6d 62 64 61 20 28 65 78 74 ns.......(mapconcat.(lambda.(ext
b840 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 )....................(if.(fbound
b860 70 20 27 61 6c 6c 2d 74 68 65 2d 69 63 6f 6e 73 2d 69 63 6f 6e 2d 66 6f 72 2d 66 69 6c 65 29 0a p.'all-the-icons-icon-for-file).
b880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6c 6c 2d 74 68 65 2d .......................(all-the-
b8a0 69 63 6f 6e 73 2d 69 63 6f 6e 2d 66 6f 72 2d 66 69 6c 65 20 28 63 6f 6e 63 61 74 20 22 66 69 6c icons-icon-for-file.(concat."fil
b8c0 65 2e 22 20 28 73 74 72 69 6e 67 2d 74 72 69 6d 20 65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20 e.".(string-trim.ext))).........
b8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............""))...............
b900 20 20 20 65 78 74 65 6e 73 69 6f 6e 73 2d 74 6f 2d 73 68 6f 77 20 22 20 22 29 29 0a 20 20 20 20 ...extensions-to-show.".")).....
b920 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 69 63 6f 6e 73 2d 69 6e 2d 74 65 72 6d .(calibredb-format-icons-in-term
b940 69 6e 61 6c 0a 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 28 6c 61 6d 62 64 61 20 28 65 inal.......(mapconcat.(lambda.(e
b960 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 66 62 6f 75 xt)....................(if.(fbou
b980 6e 64 70 20 27 69 63 6f 6e 73 2d 69 6e 2d 74 65 72 6d 69 6e 61 6c 2d 69 63 6f 6e 2d 66 6f 72 2d ndp.'icons-in-terminal-icon-for-
b9a0 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 63 file)........................(ic
b9c0 6f 6e 73 2d 69 6e 2d 74 65 72 6d 69 6e 61 6c 2d 69 63 6f 6e 2d 66 6f 72 2d 66 69 6c 65 20 65 78 ons-in-terminal-icon-for-file.ex
b9e0 74 20 3a 76 2d 61 64 6a 75 73 74 20 30 20 3a 68 65 69 67 68 74 20 31 29 0a 20 20 20 20 20 20 20 t.:v-adjust.0.:height.1)........
ba00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............""))..............
ba20 20 20 20 20 65 78 74 65 6e 73 69 6f 6e 73 2d 74 6f 2d 73 68 6f 77 20 22 20 22 29 29 0a 20 20 20 ....extensions-to-show."."))....
ba40 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 63 68 61 72 61 63 74 65 72 2d 69 63 ..(calibredb-format-character-ic
ba60 6f 6e 73 0a 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 28 6c 61 6d 62 64 61 20 28 65 78 ons.......(mapconcat.(lambda.(ex
ba80 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 t)....................(calibredb
baa0 2d 61 74 74 61 63 68 2d 69 63 6f 6e 2d 66 6f 72 20 65 78 74 29 29 0a 20 20 20 20 20 20 20 20 20 -attach-icon-for.ext))..........
bac0 20 20 20 20 20 20 20 20 65 78 74 65 6e 73 69 6f 6e 73 2d 74 6f 2d 73 68 6f 77 20 22 20 22 29 29 ........extensions-to-show."."))
bae0 0a 20 20 20 20 20 28 74 20 22 22 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 63 61 6c 69 62 ......(t.""))))..(provide.'calib
bb00 72 65 64 62 2d 63 6f 72 65 29 0a 0a 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 72 65 2e 65 redb-core)..;;;.calibredb-core.e
bb20 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 l.ends.here.....................
bb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc00 63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37 30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62 calibredb-20250705.225/calibredb
bc20 2d 64 69 72 65 64 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -dired.el.......................
bc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
bc80 30 30 30 35 37 33 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 31 36 31 00 20 30 00 00 00 0005731.00000000000.016161..0...
bca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
bd20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
bd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
be00 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 64 69 72 65 64 2e 65 6c 20 2d 2d 2d 20 44 69 72 65 64 ;;;.calibredb-dired.el.---.Dired
be20 20 73 75 70 70 6f 72 74 20 66 6f 72 20 63 61 6c 69 62 72 65 64 62 20 2d 2a 2d 20 6c 65 78 69 63 .support.for.calibredb.-*-.lexic
be40 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 al-binding:.t;.-*-..;;.Copyright
be60 20 28 43 29 20 32 30 32 30 20 44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a .(C).2020.Damon.Chan..;;.Author:
be80 20 44 61 6d 6f 6e 20 43 68 61 6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e .Damon.Chan.<elecming@gmail.com>
bea0 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 65 6e .;;.URL:.https://github.com/chen
bec0 79 61 6e 6d 69 6e 67 2f 63 61 6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 yanming/calibredb.el.;;.Keywords
bee0 3a 20 74 6f 6f 6c 73 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 4e 4f 54 20 70 61 72 :.tools..;;.This.file.is.NOT.par
bf00 74 20 6f 66 20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d t.of.GNU.Emacs...;;.This.program
bf20 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 .is.free.software;.you.can.redis
bf40 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 tribute.it.and/or.modify.;;.it.u
bf60 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 nder.the.terms.of.the.GNU.Genera
bf80 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 l.Public.License.as.published.by
bfa0 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e .;;.the.Free.Software.Foundation
bfc0 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 ,.either.version.3.of.the.Licens
bfe0 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 e,.or.;;.(at.your.option).any.la
c000 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 ter.version...;;.This.program.is
c020 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 .distributed.in.the.hope.that.it
c040 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 .will.be.useful,.;;.but.WITHOUT.
c060 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 ANY.WARRANTY;.without.even.the.i
c080 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 mplied.warranty.of.;;.MERCHANTAB
c0a0 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 ILITY.or.FITNESS.FOR.A.PARTICULA
c0c0 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 R.PURPOSE...See.the.;;.GNU.Gener
c0e0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 al.Public.License.for.more.detai
c100 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 ls...;;.You.should.have.received
c120 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 .a.copy.of.the.GNU.General.Publi
c140 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f c.License.;;.along.with.this.pro
c160 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e gram...If.not,.see.<https://www.
c180 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 gnu.org/licenses/>...;;;.Comment
c1a0 61 72 79 3a 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 ary:..;;;.Code:..(require.'calib
c1c0 72 65 64 62 2d 63 6f 72 65 29 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 redb-core)..(declare-function.ca
c1e0 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63 6c 65 61 72 2d 66 69 6c 74 65 72 20 22 63 61 6c libredb-search-clear-filter."cal
c200 69 62 72 65 64 62 2d 73 65 61 72 63 68 2e 65 6c 22 29 0a 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f ibredb-search.el")..(define-obso
c220 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 23 27 63 61 6c 69 62 72 65 64 62 2d lete-function-alias.#'calibredb-
c240 6f 70 65 6e 2d 64 69 72 65 64 0a 20 20 27 63 61 6c 69 62 72 65 64 62 2d 64 69 72 65 64 2d 6f 70 open-dired...'calibredb-dired-op
c260 65 6e 20 22 63 61 6c 69 62 72 65 64 62 20 32 2e 31 32 2e 30 22 29 0a 0a 28 64 65 66 75 6e 20 63 en."calibredb.2.12.0")..(defun.c
c280 61 6c 69 62 72 65 64 62 2d 64 69 72 65 64 2d 6f 70 65 6e 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 alibredb-dired-open.(&optional.c
c2a0 61 6e 64 69 64 61 74 65 20 61 72 67 29 0a 20 20 22 4f 70 65 6e 20 64 69 72 65 64 20 6f 66 20 74 andidate.arg)..."Open.dired.of.t
c2c0 68 65 20 73 65 6c 65 63 74 65 64 20 69 74 65 6d 2e 0a 49 66 20 74 68 65 20 75 6e 69 76 65 72 73 he.selected.item..If.the.univers
c2e0 61 6c 20 70 72 65 66 69 78 20 41 52 47 20 69 73 20 75 73 65 64 20 74 68 65 6e 20 6f 70 65 6e 20 al.prefix.ARG.is.used.then.open.
c300 74 68 65 20 66 6f 6c 64 65 72 0a 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e the.folder.containing.the.curren
c320 74 20 66 69 6c 65 20 62 79 20 74 68 65 20 64 65 66 61 75 6c 74 20 65 78 70 6c 6f 72 65 72 2e 0a t.file.by.the.default.explorer..
c340 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 43 41 4e 44 49 44 41 54 45 20 69 73 20 74 Optional.argument.CANDIDATE.is.t
c360 68 65 20 73 65 6c 65 63 74 65 64 20 69 74 65 6d 2e 0a 4f 70 65 6e 73 20 61 20 64 69 72 65 64 20 he.selected.item..Opens.a.dired.
c380 62 75 66 66 65 72 20 69 6e 20 46 49 4c 45 27 73 20 64 69 72 65 63 74 6f 72 79 2e 20 20 49 66 20 buffer.in.FILE's.directory...If.
c3a0 46 49 4c 45 20 69 73 20 61 0a 64 69 72 65 63 74 6f 72 79 2c 20 6f 70 65 6e 20 74 68 69 73 20 64 FILE.is.a.directory,.open.this.d
c3c0 69 72 65 63 74 6f 72 79 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c 69 irectory."...(interactive....(li
c3e0 73 74 20 28 63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 st.(car.(calibredb-find-candidat
c400 65 2d 61 74 2d 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 2d 70 72 e-at-point))..........current-pr
c420 65 66 69 78 2d 61 72 67 29 29 0a 20 20 28 69 66 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d efix-arg))...(if.current-prefix-
c440 61 72 67 0a 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 6f 70 65 6e 2d 77 69 74 68 2d 64 arg.......(calibredb-open-with-d
c460 65 66 61 75 6c 74 2d 74 6f 6f 6c 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 efault-tool.(file-name-directory
c480 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 66 69 6c 65 2d 70 61 74 68 20 63 61 6e 64 69 64 .(calibredb-get-file-path.candid
c4a0 61 74 65 20 74 29 20 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 66 69 6c 65 20 28 63 61 6c 69 62 ate.t).)).....(let.((file.(calib
c4c0 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64 61 74 65 20 3a 66 69 6c 65 2d 70 61 74 redb-getattr.candidate.:file-pat
c4e0 68 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 h))).......(if.(file-directory-p
c500 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 69 72 65 64 20 66 69 6c 65 29 0a 20 20 .file)...........(dired.file)...
c520 20 20 20 20 20 20 28 64 69 72 65 64 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 ......(dired.(file-name-director
c540 79 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 28 64 69 72 65 64 2d 67 6f 74 6f 2d 66 69 6c y.file)).........(dired-goto-fil
c560 65 20 66 69 6c 65 29 29 29 29 29 0a 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 64 e.file)))))...(defun.calibredb-d
c580 69 72 65 64 2d 61 64 64 20 28 29 0a 20 20 22 41 64 64 20 6d 61 72 6b 65 64 20 66 69 6c 65 73 20 ired-add.()..."Add.marked.files.
c5a0 69 6e 20 64 69 72 65 64 20 74 6f 20 63 75 72 72 65 6e 74 20 63 61 6c 69 62 72 65 20 6c 69 62 72 in.dired.to.current.calibre.libr
c5c0 61 72 79 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 69 66 20 28 64 65 72 ary."...(interactive)...(if.(der
c5e0 69 76 65 64 2d 6d 6f 64 65 2d 70 20 27 64 69 72 65 64 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 28 ived-mode-p.'dired-mode).......(
c600 63 61 6c 69 62 72 65 64 62 2d 64 69 72 65 64 2d 61 64 64 2d 70 72 6f 63 65 73 73 20 28 64 69 72 calibredb-dired-add-process.(dir
c620 65 64 2d 67 65 74 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 ed-get-marked-files))))..(defun.
c640 63 61 6c 69 62 72 65 64 62 2d 64 69 72 65 64 2d 61 64 64 2d 70 72 6f 63 65 73 73 20 28 66 69 6c calibredb-dired-add-process.(fil
c660 65 73 29 0a 20 20 22 54 68 65 20 70 72 6f 63 65 73 73 20 6f 66 20 61 64 64 69 6e 67 20 6d 61 72 es)..."The.process.of.adding.mar
c680 6b 65 64 20 46 49 4c 45 53 20 69 6e 20 64 69 72 65 64 20 74 6f 20 63 75 72 72 65 6e 74 20 63 61 ked.FILES.in.dired.to.current.ca
c6a0 6c 69 62 72 65 0a 6c 69 62 72 61 72 79 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 73 20 28 libre.library."...(let.((files.(
c6c0 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 mapconcat.................(lambd
c6e0 61 20 28 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 68 65 6c a.(file)...................(shel
c700 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 l-quote-argument.(expand-file-na
c720 6d 65 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 73 me.file))).................files
c740 20 22 20 22 29 29 0a 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d .".")).........(buffer.(current-
c760 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 28 73 65 74 2d 70 72 6f 63 65 73 73 2d 73 65 6e 74 69 buffer))).....(set-process-senti
c780 6e 65 6c 0a 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 70 72 6f 63 65 73 73 20 3a 63 6f 6d nel......(calibredb-process.:com
c7a0 6d 61 6e 64 20 22 61 64 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mand."add"......................
c7c0 20 20 20 3a 69 6e 70 75 74 20 66 69 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...:input.files.................
c7e0 20 20 20 20 20 20 20 20 3a 6c 69 62 72 61 72 79 20 28 69 66 20 63 61 6c 69 62 72 65 64 62 2d 61 ........:library.(if.calibredb-a
c800 64 64 2d 64 75 70 6c 69 63 61 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dd-duplicate....................
c820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62 ..................(format."--lib
c840 72 61 72 79 2d 70 61 74 68 20 25 73 20 2d 64 22 20 28 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 rary-path.%s.-d".(calibredb-root
c860 2d 64 69 72 2d 71 75 6f 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -dir-quote))....................
c880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62 72 61 ................(format."--libra
c8a0 72 79 2d 70 61 74 68 20 25 73 22 20 28 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 2d ry-path.%s".(calibredb-root-dir-
c8c0 71 75 6f 74 65 29 29 29 29 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 20 65 29 0a 20 20 20 quote))))......(lambda.(p.e)....
c8e0 20 20 20 20 28 77 68 65 6e 20 28 3d 20 30 20 28 70 72 6f 63 65 73 73 2d 65 78 69 74 2d 73 74 61 ....(when.(=.0.(process-exit-sta
c900 74 75 73 20 70 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 63 61 6e 64 tus.p))..........(calibredb-cand
c920 69 64 61 74 65 73 29 0a 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 idates)..........(calibredb-sear
c940 63 68 2d 63 6c 65 61 72 2d 66 69 6c 74 65 72 29 0a 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d ch-clear-filter)..........(with-
c960 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 current-buffer.buffer...........
c980 20 20 20 28 64 69 72 65 64 2d 64 6f 2d 64 65 6c 65 74 65 29 29 29 29 29 29 29 0a 0a 28 70 72 6f ...(dired-do-delete)))))))..(pro
c9a0 76 69 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 64 69 72 65 64 29 0a 0a 3b 3b 3b 20 63 61 6c 69 vide.'calibredb-dired)..;;;.cali
c9c0 62 72 65 64 62 2d 64 69 72 65 64 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 bredb-dired.el.ends.here........
c9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ca00 63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37 30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62 calibredb-20250705.225/calibredb
ca20 2d 66 61 63 65 73 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -faces.el.......................
ca40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ca60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
ca80 30 30 31 35 31 37 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 31 36 30 00 20 30 00 00 00 0015177.00000000000.016160..0...
caa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
cb20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
cb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cc00 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 2e 65 6c 20 2d 2d 2d 20 46 61 63 65 73 ;;;.calibredb-faces.el.---.Faces
cc20 20 66 6f 72 20 63 61 6c 69 62 72 65 64 62 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 .for.calibredb.-*-.lexical-bindi
cc40 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 32 ng:.t;.-*-..;;.Copyright.(C).202
cc60 30 20 44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 44 61 6d 6f 6e 20 43 0.Damon.Chan..;;.Author:.Damon.C
cc80 68 61 6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a han.<elecming@gmail.com>.;;.URL:
cca0 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 65 6e 79 61 6e 6d 69 6e 67 2f .https://github.com/chenyanming/
ccc0 63 61 6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 74 6f 6f 6c 73 0a calibredb.el.;;.Keywords:.tools.
cce0 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 4e 4f 54 20 70 61 72 74 20 6f 66 20 47 4e 55 .;;.This.file.is.NOT.part.of.GNU
cd00 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 .Emacs...;;.This.program.is.free
cd20 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 .software;.you.can.redistribute.
cd40 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 it.and/or.modify.;;.it.under.the
cd60 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 .terms.of.the.GNU.General.Public
cd80 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 .License.as.published.by.;;.the.
cda0 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 Free.Software.Foundation,.either
cdc0 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b .version.3.of.the.License,.or.;;
cde0 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 .(at.your.option).any.later.vers
ce00 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 ion...;;.This.program.is.distrib
ce20 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 uted.in.the.hope.that.it.will.be
ce40 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 .useful,.;;.but.WITHOUT.ANY.WARR
ce60 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 ANTY;.without.even.the.implied.w
ce80 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 arranty.of.;;.MERCHANTABILITY.or
cea0 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 .FITNESS.FOR.A.PARTICULAR.PURPOS
cec0 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 E...See.the.;;.GNU.General.Publi
cee0 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 c.License.for.more.details...;;.
cf00 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 You.should.have.received.a.copy.
cf20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 of.the.GNU.General.Public.Licens
cf40 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 e.;;.along.with.this.program...I
cf60 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f f.not,.see.<https://www.gnu.org/
cf80 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b licenses/>...;;;.Commentary:..;;
cfa0 3b 20 43 6f 64 65 3a 0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 ;.Code:..(defface.calibredb-sear
cfc0 63 68 2d 68 65 61 64 65 72 2d 68 69 67 68 6c 69 67 68 74 2d 66 61 63 65 0a 20 20 27 28 28 74 20 ch-header-highlight-face...'((t.
cfe0 3a 69 6e 68 65 72 69 74 20 72 65 67 69 6f 6e 20 3a 77 65 69 67 68 74 20 62 6f 6c 64 20 3a 75 6e :inherit.region.:weight.bold.:un
d000 64 65 72 6c 69 6e 65 20 74 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 74 68 65 20 68 65 61 64 derline.t))..."Face.for.the.head
d020 65 72 20 61 74 20 70 6f 69 6e 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 er.at.point."...:group.'calibred
d040 62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d 69 64 2d b-faces)..(defface.calibredb-id-
d060 66 61 63 65 0a 20 20 27 28 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 face...'((((class.color).(backgr
d080 6f 75 6e 64 20 6c 69 67 68 74 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 ound.light))......:foreground."#
d0a0 33 42 36 45 41 38 22 29 0a 20 20 20 20 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 3B6EA8").....(((class.color).(ba
d0c0 63 6b 67 72 6f 75 6e 64 20 64 61 72 6b 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 ckground.dark))......:foreground
d0e0 20 22 23 38 31 41 31 43 31 22 29 0a 20 20 20 20 28 74 20 3a 69 6e 68 65 72 69 74 20 64 65 66 61 ."#81A1C1").....(t.:inherit.defa
d100 75 6c 74 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20 66 6f 72 20 69 64 2e 22 0a 20 20 3a 67 ult))..."Face.used.for.id."...:g
d120 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 roup.'calibredb-faces)..(defface
d140 20 63 61 6c 69 62 72 65 64 62 2d 74 69 74 6c 65 2d 66 61 63 65 20 27 28 28 74 20 3a 69 6e 68 65 .calibredb-title-face.'((t.:inhe
d160 72 69 74 20 64 65 66 61 75 6c 74 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20 66 6f 72 20 74 rit.default))..."Face.used.for.t
d180 69 74 6c 65 20 6f 6e 20 63 6f 6d 70 61 63 74 20 76 69 65 77 2e 22 0a 20 20 3a 67 72 6f 75 70 20 itle.on.compact.view."...:group.
d1a0 27 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c 69 'calibredb-faces)..(defface.cali
d1c0 62 72 65 64 62 2d 74 69 74 6c 65 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 2d 66 61 63 65 0a 20 bredb-title-detailed-view-face..
d1e0 20 27 28 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e 64 20 6c .'((((class.color).(background.l
d200 69 67 68 74 29 29 0a 20 20 20 20 20 3a 62 61 63 6b 67 72 6f 75 6e 64 20 22 67 72 61 79 38 35 22 ight))......:background."gray85"
d220 29 0a 20 20 20 20 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e ).....(((class.color).(backgroun
d240 64 20 64 61 72 6b 29 29 0a 20 20 20 20 20 3a 62 61 63 6b 67 72 6f 75 6e 64 20 22 67 72 61 79 32 d.dark))......:background."gray2
d260 35 22 29 0a 20 20 20 20 28 74 20 3a 69 6e 68 65 72 69 74 20 63 61 6c 69 62 72 65 64 62 2d 74 69 5").....(t.:inherit.calibredb-ti
d280 74 6c 65 2d 66 61 63 65 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20 66 6f 72 20 74 69 74 6c tle-face))..."Face.used.for.titl
d2a0 65 20 6f 6e 20 64 65 74 61 69 6c 65 64 20 76 69 65 77 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 e.on.detailed.view."...:group.'c
d2c0 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c 69 62 72 alibredb-faces)..(defface.calibr
d2e0 65 64 62 2d 61 75 74 68 6f 72 2d 66 61 63 65 0a 20 20 27 28 28 28 28 63 6c 61 73 73 20 63 6f 6c edb-author-face...'((((class.col
d300 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e 64 20 6c 69 67 68 74 29 29 0a 20 20 20 20 20 3a 66 6f or).(background.light))......:fo
d320 72 65 67 72 6f 75 6e 64 20 22 23 33 42 36 45 41 38 22 29 0a 20 20 20 20 28 28 28 63 6c 61 73 73 reground."#3B6EA8").....(((class
d340 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e 64 20 64 61 72 6b 29 29 0a 20 20 20 20 20 .color).(background.dark))......
d360 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 64 39 63 36 64 36 22 29 0a 20 20 20 20 28 74 20 3a 69 :foreground."#d9c6d6").....(t.:i
d380 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20 66 6f nherit.default))..."Face.used.fo
d3a0 72 20 61 75 74 68 6f 72 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d 66 r.author."...:group.'calibredb-f
d3c0 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 aces)..(defface.calibredb-format
d3e0 2d 66 61 63 65 0a 20 20 27 28 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 -face...'((((class.color).(backg
d400 72 6f 75 6e 64 20 6c 69 67 68 74 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 round.light))......:foreground."
d420 23 34 46 38 39 34 43 22 29 0a 20 20 20 20 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 #4F894C").....(((class.color).(b
d440 61 63 6b 67 72 6f 75 6e 64 20 64 61 72 6b 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e ackground.dark))......:foregroun
d460 64 20 22 23 41 33 42 45 38 43 22 29 0a 20 20 20 20 28 74 20 3a 69 6e 68 65 72 69 74 20 64 65 66 d."#A3BE8C").....(t.:inherit.def
d480 61 75 6c 74 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20 66 6f 72 20 66 6f 72 6d 61 74 2e 22 ault))..."Face.used.for.format."
d4a0 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 0a 0a 28 64 65 ...:group.'calibredb-faces)..(de
d4c0 66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 0a 20 20 27 fface.calibredb-comment-face...'
d4e0 28 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e 64 20 6c 69 67 ((((class.color).(background.lig
d500 68 74 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 44 61 72 6b 43 79 61 6e 22 ht))......:foreground."DarkCyan"
d520 29 0a 20 20 20 20 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e ).....(((class.color).(backgroun
d540 64 20 64 61 72 6b 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 38 46 42 43 d.dark))......:foreground."#8FBC
d560 42 42 22 29 0a 20 20 20 20 28 74 20 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 29 29 0a 20 BB").....(t.:inherit.default))..
d580 20 22 46 61 63 65 20 75 73 65 64 20 66 6f 72 20 63 6f 6d 6d 65 6e 74 2e 22 0a 20 20 3a 67 72 6f ."Face.used.for.comment."...:gro
d5a0 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63 up.'calibredb-faces)..(defface.c
d5c0 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66 61 63 65 0a 20 20 27 28 28 28 28 63 6c 61 73 73 20 63 alibredb-tag-face...'((((class.c
d5e0 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e 64 20 6c 69 67 68 74 29 29 0a 20 20 20 20 20 3a olor).(background.light))......:
d600 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 38 62 39 34 61 35 22 29 0a 20 20 20 20 28 28 28 63 6c 61 foreground."#8b94a5").....(((cla
d620 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e 64 20 64 61 72 6b 29 29 0a 20 20 20 ss.color).(background.dark))....
d640 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 45 42 43 42 38 42 22 29 0a 20 20 20 20 28 74 20 ..:foreground."#EBCB8B").....(t.
d660 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20 :inherit.default))..."Face.used.
d680 66 6f 72 20 74 61 67 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 for.tag."...:group.'calibredb-fa
d6a0 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d 69 64 73 2d 66 61 63 ces)..(defface.calibredb-ids-fac
d6c0 65 0a 20 20 27 28 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e e...'((((class.color).(backgroun
d6e0 64 20 6c 69 67 68 74 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 38 62 39 d.light))......:foreground."#8b9
d700 34 61 35 22 29 0a 20 20 20 20 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 4a5").....(((class.color).(backg
d720 72 6f 75 6e 64 20 64 61 72 6b 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 round.dark))......:foreground."#
d740 45 42 43 42 38 42 22 29 0a 20 20 20 20 28 74 20 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 EBCB8B").....(t.:inherit.default
d760 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20 66 6f 72 20 69 64 73 2e 22 0a 20 20 3a 67 72 6f ))..."Face.used.for.ids."...:gro
d780 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63 up.'calibredb-faces)..(defface.c
d7a0 61 6c 69 62 72 65 64 62 2d 73 69 7a 65 2d 66 61 63 65 0a 20 20 27 28 28 28 28 63 6c 61 73 73 20 alibredb-size-face...'((((class.
d7c0 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e 64 20 6c 69 67 68 74 29 29 0a 20 20 20 20 20 color).(background.light))......
d7e0 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 38 62 39 34 61 35 22 29 0a 20 20 20 20 28 28 28 63 6c :foreground."#8b94a5").....(((cl
d800 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e 64 20 64 61 72 6b 29 29 0a 20 20 ass.color).(background.dark))...
d820 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 36 66 37 37 38 37 22 29 0a 20 20 20 20 28 74 ...:foreground."#6f7787").....(t
d840 20 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 .:inherit.default))..."Face.used
d860 20 66 6f 72 20 73 69 7a 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d .for.size."...:group.'calibredb-
d880 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d 70 75 62 64 61 faces)..(defface.calibredb-pubda
d8a0 74 65 2d 66 61 63 65 20 27 28 28 74 20 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 29 29 0a te-face.'((t.:inherit.default)).
d8c0 20 20 22 46 61 63 65 20 66 6f 72 20 74 68 65 20 70 75 62 6c 69 73 68 20 64 61 74 65 2e 22 0a 20 .."Face.for.the.publish.date."..
d8e0 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 .:group.'calibredb-faces)..(deff
d900 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d 70 75 62 6c 69 73 68 65 72 2d 66 61 63 65 20 27 28 28 ace.calibredb-publisher-face.'((
d920 74 20 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 t.:inherit.default))..."Face.for
d940 20 74 68 65 20 70 75 62 6c 69 73 68 65 72 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 .the.publisher."...:group.'calib
d960 72 65 64 62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d redb-faces)..(defface.calibredb-
d980 73 65 72 69 65 73 2d 66 61 63 65 20 27 28 28 74 20 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c series-face.'((t.:inherit.defaul
d9a0 74 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 74 68 65 20 73 65 72 69 65 73 2e 22 0a 20 20 3a t))..."Face.for.the.series."...:
d9c0 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 group.'calibredb-faces)..(deffac
d9e0 65 20 63 61 6c 69 62 72 65 64 62 2d 6c 61 6e 67 75 61 67 65 2d 66 61 63 65 20 27 28 28 74 20 3a e.calibredb-language-face.'((t.:
da00 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 74 68 inherit.default))..."Face.for.th
da20 65 20 6c 61 6e 67 75 61 67 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 e.language."...:group.'calibredb
da40 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 -faces)..(defface.calibredb-date
da60 2d 66 61 63 65 0a 20 20 27 28 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 -face...'((((class.color).(backg
da80 72 6f 75 6e 64 20 6c 69 67 68 74 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 round.light))......:foreground."
daa0 23 32 39 38 33 38 44 22 29 0a 20 20 20 20 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 #29838D").....(((class.color).(b
dac0 61 63 6b 67 72 6f 75 6e 64 20 64 61 72 6b 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e ackground.dark))......:foregroun
dae0 64 20 22 23 38 46 42 43 42 42 22 29 0a 20 20 20 20 28 74 20 3a 69 6e 68 65 72 69 74 20 64 65 66 d."#8FBCBB").....(t.:inherit.def
db00 61 75 6c 74 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 74 68 65 20 64 61 74 65 20 28 6c 61 73 ault))..."Face.for.the.date.(las
db20 74 5f 6d 6f 64 69 66 69 65 64 29 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 t_modified)."...:group.'calibred
db40 62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6c b-faces)..(defface.calibredb-fil
db60 65 2d 66 61 63 65 0a 20 20 27 28 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b e-face...'((((class.color).(back
db80 67 72 6f 75 6e 64 20 6c 69 67 68 74 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 ground.light))......:foreground.
dba0 22 23 32 39 38 33 38 44 22 29 0a 20 20 20 20 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 "#29838D").....(((class.color).(
dbc0 62 61 63 6b 67 72 6f 75 6e 64 20 64 61 72 6b 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 background.dark))......:foregrou
dbe0 6e 64 20 22 23 38 46 42 43 42 42 22 29 0a 20 20 20 20 28 74 20 3a 69 6e 68 65 72 69 74 20 64 65 nd."#8FBCBB").....(t.:inherit.de
dc00 66 61 75 6c 74 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 74 68 65 20 66 69 6c 65 20 70 61 74 fault))..."Face.for.the.file.pat
dc20 68 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 0a 0a h."...:group.'calibredb-faces)..
dc40 28 64 65 66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d 6d 61 72 6b 2d 66 61 63 65 20 27 28 28 (defface.calibredb-mark-face.'((
dc60 74 20 3a 69 6e 68 65 72 69 74 20 68 69 67 68 6c 69 67 68 74 29 29 0a 20 20 22 46 61 63 65 20 66 t.:inherit.highlight))..."Face.f
dc80 6f 72 20 74 68 65 20 6d 61 72 6b 20 63 61 6e 64 69 64 61 74 65 2e 22 0a 20 20 3a 67 72 6f 75 70 or.the.mark.candidate."...:group
dca0 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c .'calibredb-faces)..(defface.cal
dcc0 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d 66 61 63 65 0a 20 20 27 28 28 28 28 63 6c 61 73 ibredb-favorite-face...'((((clas
dce0 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e 64 20 6c 69 67 68 74 29 29 0a 20 20 20 s.color).(background.light))....
dd00 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 62 6c 61 63 6b 22 29 0a 20 20 20 20 28 28 28 63 6c ..:foreground."black").....(((cl
dd20 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e 64 20 64 61 72 6b 29 29 0a 20 20 ass.color).(background.dark))...
dd40 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 79 65 6c 6c 6f 77 22 29 0a 20 20 20 20 28 74 20 ...:foreground."yellow").....(t.
dd60 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20 :inherit.default))..."Face.used.
dd80 66 6f 72 20 74 69 74 6c 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d for.title."...:group.'calibredb-
dda0 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d 68 69 67 68 6c faces)..(defface.calibredb-highl
ddc0 69 67 68 74 2d 66 61 63 65 0a 20 20 27 28 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 ight-face...'((((class.color).(b
dde0 61 63 6b 67 72 6f 75 6e 64 20 6c 69 67 68 74 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 ackground.light))......:foregrou
de00 6e 64 20 22 4d 65 64 69 75 6d 53 6c 61 74 65 42 6c 75 65 22 0a 20 20 20 20 20 3a 77 65 69 67 68 nd."MediumSlateBlue"......:weigh
de20 74 20 62 6f 6c 64 29 0a 20 20 20 20 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 t.bold).....(((class.color).(bac
de40 6b 67 72 6f 75 6e 64 20 64 61 72 6b 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 kground.dark))......:foreground.
de60 22 63 79 61 6e 22 0a 20 20 20 20 20 3a 77 65 69 67 68 74 20 62 6f 6c 64 29 0a 20 20 20 20 28 74 "cyan"......:weight.bold).....(t
de80 20 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 .:inherit.default))..."Face.used
dea0 20 66 6f 72 20 68 69 67 68 74 6c 69 67 68 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 .for.hightlight."...:group.'cali
dec0 62 72 65 64 62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62 bredb-faces)..(defface.calibredb
dee0 2d 61 72 63 68 69 76 65 2d 66 61 63 65 0a 20 20 27 28 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 -archive-face...'((((class.color
df00 29 20 28 62 61 63 6b 67 72 6f 75 6e 64 20 6c 69 67 68 74 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 ).(background.light))......:fore
df20 67 72 6f 75 6e 64 20 22 67 72 65 79 22 0a 20 20 20 20 20 3a 77 65 69 67 68 74 20 6c 69 67 68 74 ground."grey"......:weight.light
df40 29 0a 20 20 20 20 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e ).....(((class.color).(backgroun
df60 64 20 64 61 72 6b 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 64 69 6d 20 67 d.dark))......:foreground."dim.g
df80 72 65 79 22 0a 20 20 20 20 20 3a 77 65 69 67 68 74 20 6c 69 67 68 74 29 0a 20 20 20 20 28 74 20 rey"......:weight.light).....(t.
dfa0 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20 :inherit.default))..."Face.used.
dfc0 66 6f 72 20 61 72 63 68 69 76 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 for.archive."...:group.'calibred
dfe0 62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 b-faces)..(defface.calibredb-sea
e000 72 63 68 2d 68 65 61 64 65 72 2d 6c 69 62 72 61 72 79 2d 6e 61 6d 65 2d 66 61 63 65 20 27 28 28 rch-header-library-name-face.'((
e020 74 20 3a 69 6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 70 72 65 70 72 6f 63 65 73 73 6f t.:inherit.font-lock-preprocesso
e040 72 2d 66 61 63 65 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20 66 6f 72 20 6c 69 62 72 61 72 r-face))..."Face.used.for.librar
e060 79 20 6e 61 6d 65 20 69 6e 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 20 68 65 61 y.name.in.*calibredb-search*.hea
e080 64 65 72 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 der."...:group.'calibredb-faces)
e0a0 0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 68 65 61 64 ..(defface.calibredb-search-head
e0c0 65 72 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 2d 66 61 63 65 20 27 28 28 74 20 3a 69 6e 68 65 72 er-library-path-face.'((t.:inher
e0e0 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 74 79 70 65 2d 66 61 63 65 29 29 0a 20 20 22 46 61 63 65 it.font-lock-type-face))..."Face
e100 20 75 73 65 64 20 66 6f 72 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 69 6e 20 2a 63 61 6c 69 62 .used.for.library.path.in.*calib
e120 72 65 64 62 2d 73 65 61 72 63 68 2a 20 68 65 61 64 65 72 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 redb-search*.header."...:group.'
e140 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c 69 62 calibredb-faces)..(defface.calib
e160 72 65 64 62 2d 73 65 61 72 63 68 2d 68 65 61 64 65 72 2d 74 6f 74 61 6c 2d 66 61 63 65 20 27 28 redb-search-header-total-face.'(
e180 28 74 20 3a 69 6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 77 61 72 6e 69 6e 67 2d 66 61 (t.:inherit.font-lock-warning-fa
e1a0 63 65 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20 66 6f 72 20 74 6f 74 61 6c 20 63 6f 75 6e ce))..."Face.used.for.total.coun
e1c0 74 20 69 6e 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 20 68 65 61 64 65 72 2e 22 t.in.*calibredb-search*.header."
e1e0 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 0a 0a 28 64 65 ...:group.'calibredb-faces)..(de
e200 66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 68 65 61 64 65 72 2d 73 6f fface.calibredb-search-header-so
e220 72 74 2d 66 61 63 65 20 27 28 28 74 20 3a 69 6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d rt-face.'((t.:inherit.font-lock-
e240 6b 65 79 77 6f 72 64 2d 66 61 63 65 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20 66 6f 72 20 keyword-face))..."Face.used.for.
e260 73 6f 72 74 20 66 69 65 6c 64 20 69 6e 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a sort.field.in.*calibredb-search*
e280 20 68 65 61 64 65 72 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 .header."...:group.'calibredb-fa
e2a0 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d ces)..(defface.calibredb-search-
e2c0 68 65 61 64 65 72 2d 66 69 6c 74 65 72 2d 66 61 63 65 20 27 28 28 74 20 3a 69 6e 68 65 72 69 74 header-filter-face.'((t.:inherit
e2e0 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 6e 65 67 61 74 69 6f 6e 2d 63 68 61 72 2d 66 61 63 65 29 29 0a .font-lock-negation-char-face)).
e300 20 20 22 46 61 63 65 20 75 73 65 64 20 66 6f 72 20 66 69 6c 74 65 72 20 66 69 65 6c 64 20 69 6e .."Face.used.for.filter.field.in
e320 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 20 68 65 61 64 65 72 2e 22 0a 20 20 3a .*calibredb-search*.header."...:
e340 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 group.'calibredb-faces)..(deffac
e360 65 20 63 61 6c 69 62 72 65 64 62 2d 6d 6f 75 73 65 2d 66 61 63 65 20 27 28 28 74 20 3a 69 6e 68 e.calibredb-mouse-face.'((t.:inh
e380 65 72 69 74 20 6d 6f 64 65 2d 6c 69 6e 65 2d 68 69 67 68 6c 69 67 68 74 29 29 0a 20 20 22 46 61 erit.mode-line-highlight))..."Fa
e3a0 63 65 20 75 73 65 64 20 66 6f 72 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 20 6d ce.used.for.*calibredb-search*.m
e3c0 6f 75 73 65 20 66 61 63 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d ouse.face."...:group.'calibredb-
e3e0 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d faces)..(defface.calibredb-edit-
e400 61 6e 6e 6f 74 61 74 69 6f 6e 2d 68 65 61 64 65 72 2d 74 69 74 6c 65 2d 66 61 63 65 0a 20 20 27 annotation-header-title-face...'
e420 28 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e 64 20 6c 69 67 ((((class.color).(background.lig
e440 68 74 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 34 46 38 39 34 43 22 29 ht))......:foreground."#4F894C")
e460 0a 20 20 20 20 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e 64 .....(((class.color).(background
e480 20 64 61 72 6b 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 41 33 42 45 38 .dark))......:foreground."#A3BE8
e4a0 43 22 29 0a 20 20 20 20 28 74 20 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 29 29 0a 20 20 C").....(t.:inherit.default))...
e4c0 22 46 61 63 65 20 75 73 65 64 20 66 6f 72 20 2a 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 "Face.used.for.*calibredb-edit-a
e4e0 6e 6e 6f 74 61 74 69 6f 6e 2a 20 68 65 61 64 65 72 20 74 69 74 6c 65 20 66 61 63 65 2e 22 0a 20 nnotation*.header.title.face."..
e500 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 .:group.'calibredb-faces)..(deff
e520 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d 63 75 72 72 65 6e 74 2d 70 61 67 65 2d 62 75 74 74 6f ace.calibredb-current-page-butto
e540 6e 2d 66 61 63 65 0a 20 20 27 28 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b n-face...'((((class.color).(back
e560 67 72 6f 75 6e 64 20 6c 69 67 68 74 29 29 0a 20 20 20 20 20 28 3a 77 65 69 67 68 74 20 62 6f 6c ground.light))......(:weight.bol
e580 64 0a 20 20 20 20 20 20 3a 68 65 69 67 68 74 20 31 2e 31 29 29 0a 20 20 20 20 28 28 28 63 6c 61 d.......:height.1.1)).....(((cla
e5a0 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e 64 20 64 61 72 6b 29 29 0a 20 20 20 ss.color).(background.dark))....
e5c0 20 20 28 3a 77 65 69 67 68 74 20 62 6f 6c 64 0a 20 20 20 20 20 20 3a 68 65 69 67 68 74 20 31 2e ..(:weight.bold.......:height.1.
e5e0 31 29 29 0a 20 20 20 20 28 74 20 28 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 29 29 29 0a 1)).....(t.(:inherit.default))).
e600 20 20 22 46 61 63 65 20 75 73 65 64 20 66 6f 72 20 63 75 72 72 65 6e 74 20 70 61 67 65 20 62 75 .."Face.used.for.current.page.bu
e620 74 74 6f 6e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 tton"...:group.'calibredb-faces)
e640 0a 0a 28 70 72 6f 76 69 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 0a 0a 3b 3b ..(provide.'calibredb-faces)..;;
e660 3b 20 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 ;.calibredb-faces.el.ends.here..
e680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e800 63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37 30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62 calibredb-20250705.225/calibredb
e820 2d 66 6f 6c 64 65 72 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -folder.el......................
e840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
e880 30 30 33 30 34 31 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 33 33 36 00 20 30 00 00 00 0030411.00000000000.016336..0...
e8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
e920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
e940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ea00 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2e 65 6c 20 2d 2d 2d 20 53 75 70 70 ;;;.calibredb-folder.el.---.Supp
ea20 6f 72 74 20 2e 6d 65 74 61 64 61 74 61 2e 63 61 6c 69 62 72 65 20 66 6f 6c 64 65 72 20 6d 65 74 ort..metadata.calibre.folder.met
ea40 61 64 61 74 61 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a adata.-*-.lexical-binding:.t;.-*
ea60 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 32 30 20 44 61 6d 6f 6e 20 43 -..;;.Copyright.(C).2020.Damon.C
ea80 68 61 6e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 44 61 6d 6f 6e 20 43 68 61 6e 20 3c 65 6c 65 63 han..;;.Author:.Damon.Chan.<elec
eaa0 6d 69 6e 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f ming@gmail.com>.;;.URL:.https://
eac0 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 65 6e 79 61 6e 6d 69 6e 67 2f 63 61 6c 69 62 72 65 64 62 github.com/chenyanming/calibredb
eae0 2e 65 6c 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 74 6f 6f 6c 73 0a 0a 3b 3b 20 54 68 69 73 20 .el.;;.Keywords:.tools..;;.This.
eb00 66 69 6c 65 20 69 73 20 4e 4f 54 20 70 61 72 74 20 6f 66 20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a file.is.NOT.part.of.GNU.Emacs...
eb20 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 ;;.This.program.is.free.software
eb40 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 ;.you.can.redistribute.it.and/or
eb60 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 .modify.;;.it.under.the.terms.of
eb80 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 .the.GNU.General.Public.License.
eba0 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 as.published.by.;;.the.Free.Soft
ebc0 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 ware.Foundation,.either.version.
ebe0 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 3.of.the.License,.or.;;.(at.your
ec00 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 .option).any.later.version...;;.
ec20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 This.program.is.distributed.in.t
ec40 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a he.hope.that.it.will.be.useful,.
ec60 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 ;;.but.WITHOUT.ANY.WARRANTY;.wit
ec80 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f hout.even.the.implied.warranty.o
eca0 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 f.;;.MERCHANTABILITY.or.FITNESS.
ecc0 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
ece0 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 he.;;.GNU.General.Public.License
ed00 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c .for.more.details...;;.You.shoul
ed20 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e d.have.received.a.copy.of.the.GN
ed40 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e U.General.Public.License.;;.alon
ed60 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 g.with.this.program...If.not,.se
ed80 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f e.<https://www.gnu.org/licenses/
eda0 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a >...;;;.Commentary:..;;;.Code:..
edc0 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f 72 65 29 0a 0a 28 64 65 66 75 (require.'calibredb-core)..(defu
ede0 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 70 61 72 73 65 2d 66 69 6c 74 65 72 20 n.calibredb-folder-parse-filter.
ee00 28 66 69 6c 74 65 72 29 0a 20 20 22 50 61 72 73 65 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f (filter)..."Parse.the.elements.o
ee20 66 20 61 20 73 65 61 72 63 68 20 46 49 4c 54 45 52 20 69 6e 74 6f 20 61 20 70 6c 69 73 74 2e 22 f.a.search.FILTER.into.a.plist."
ee40 0a 20 20 28 6c 65 74 20 28 28 6d 61 74 63 68 65 73 20 28 29 29 29 0a 20 20 20 20 28 63 6c 2d 6c ...(let.((matches.())).....(cl-l
ee60 6f 6f 70 20 66 6f 72 20 65 6c 65 6d 65 6e 74 20 69 6e 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 oop.for.element.in.(split-string
ee80 20 66 69 6c 74 65 72 29 20 63 6f 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 .filter).collect..............(w
eea0 68 65 6e 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 76 61 6c 69 64 2d 72 65 67 65 hen.(calibredb-folder-valid-rege
eec0 78 70 2d 70 20 65 6c 65 6d 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 xp-p.element)................(pu
eee0 73 68 20 65 6c 65 6d 65 6e 74 20 6d 61 74 63 68 65 73 29 29 29 0a 20 20 20 20 60 28 2c 40 28 69 sh.element.matches))).....`(,@(i
ef00 66 20 6d 61 74 63 68 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 6d 61 74 f.matches.............(list.:mat
ef20 63 68 65 73 20 6d 61 74 63 68 65 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 ches.matches)))))..(defun.calibr
ef40 65 64 62 2d 66 6f 6c 64 65 72 2d 76 61 6c 69 64 2d 72 65 67 65 78 70 2d 70 20 28 72 65 67 65 78 edb-folder-valid-regexp-p.(regex
ef60 70 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 52 45 47 45 58 50 20 69 73 20 61 20 76 61 p)..."Return.t.if.REGEXP.is.a.va
ef80 6c 69 64 20 52 45 47 45 58 50 2e 22 0a 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 lid.REGEXP."...(ignore-errors...
efa0 20 20 28 70 72 6f 67 31 20 74 0a 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 ..(prog1.t.......(string-match-p
efc0 20 72 65 67 65 78 70 20 22 22 29 29 29 29 0a 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 .regexp.""))))...(defun.calibred
efe0 62 2d 66 6f 6c 64 65 72 2d 63 61 6e 64 69 64 61 74 65 73 2d 66 69 6c 74 65 72 20 28 66 69 6c 74 b-folder-candidates-filter.(filt
f000 65 72 20 65 6e 74 72 69 65 73 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 65 62 6f 6f 6b 20 63 61 er.entries)..."Generate.ebook.ca
f020 6e 64 69 64 61 74 65 20 61 6c 69 73 74 2e 0a 41 52 47 55 4d 45 4e 54 20 46 49 4c 54 45 52 20 69 ndidate.alist..ARGUMENT.FILTER.i
f040 73 20 74 68 65 20 66 69 6c 74 65 72 20 73 74 72 69 6e 67 2e 0a 41 52 47 55 4d 45 4e 54 20 45 4e s.the.filter.string..ARGUMENT.EN
f060 54 52 49 45 53 20 69 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 65 6e 74 72 69 65 73 2e 22 0a 20 TRIES.is.the.list.of.entries."..
f080 20 28 6c 65 74 20 28 28 6d 61 74 63 68 65 73 20 28 70 6c 69 73 74 2d 67 65 74 20 66 69 6c 74 65 .(let.((matches.(plist-get.filte
f0a0 72 20 3a 6d 61 74 63 68 65 73 29 29 0a 20 20 20 20 20 20 20 20 72 65 73 2d 6c 69 73 74 29 0a 20 r.:matches)).........res-list)..
f0c0 20 20 20 28 63 6f 6e 64 20 28 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66 69 6c 74 65 72 2d 70 ...(cond.(calibredb-tag-filter-p
f0e0 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 6c 69 6e 65 20 69 6e ............(cl-loop.for.line.in
f100 20 65 6e 74 72 69 65 73 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 76 .entries.do..............(if.(ev
f120 61 6c 20 60 28 61 6e 64 20 2c 40 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 72 65 67 65 78 20 69 6e al.`(and.,@(cl-loop.for.regex.in
f140 20 6d 61 74 63 68 65 73 20 63 6f 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .matches.collect................
f160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 .........................(unless
f180 20 28 65 71 75 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 77 69 64 74 68 29 20 30 29 .(equal.(calibredb-tag-width).0)
f1a0 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 72 65 67 65 78 20 28 63 61 6c 69 62 72 65 64 62 2d 67 .(s-contains?.regex.(calibredb-g
f1c0 65 74 61 74 74 72 20 28 6c 69 73 74 20 6c 69 6e 65 29 20 3a 74 61 67 29 29 29 29 29 29 0a 20 20 etattr.(list.line).:tag))))))...
f1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 6c 69 6e 65 20 72 65 73 2d 6c 69 ...............(push.line.res-li
f200 73 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d st))))...........(calibredb-form
f220 61 74 2d 66 69 6c 74 65 72 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 at-filter-p............(cl-loop.
f240 66 6f 72 20 6c 69 6e 65 20 69 6e 20 65 6e 74 72 69 65 73 20 64 6f 0a 20 20 20 20 20 20 20 20 20 for.line.in.entries.do..........
f260 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 76 61 6c 20 60 28 61 6e 64 20 2c 40 28 63 6c ...........(if.(eval.`(and.,@(cl
f280 2d 6c 6f 6f 70 20 66 6f 72 20 72 65 67 65 78 20 69 6e 20 6d 61 74 63 68 65 73 20 63 6f 6c 6c 65 -loop.for.regex.in.matches.colle
f2a0 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ct..............................
f2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c ..................(unless.(equal
f2e0 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 77 69 64 74 68 29 20 30 29 20 28 73 2d .(calibredb-format-width).0).(s-
f300 63 6f 6e 74 61 69 6e 73 3f 20 72 65 67 65 78 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 contains?.regex.(calibredb-getat
f320 74 72 20 28 6c 69 73 74 20 6c 69 6e 65 29 20 3a 62 6f 6f 6b 2d 66 6f 72 6d 61 74 29 29 29 29 29 tr.(list.line).:book-format)))))
f340 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 ).........................(push.
f360 6c 69 6e 65 20 72 65 73 2d 6c 69 73 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 61 6c line.res-list))))...........(cal
f380 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 66 69 6c 74 65 72 2d 70 0a 20 20 20 20 20 20 20 20 20 ibredb-author-filter-p..........
f3a0 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 6c 69 6e 65 20 69 6e 20 65 6e 74 72 69 65 73 20 64 ..(cl-loop.for.line.in.entries.d
f3c0 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 76 61 6c 20 o.....................(if.(eval.
f3e0 60 28 61 6e 64 20 2c 40 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 72 65 67 65 78 20 69 6e 20 6d 61 `(and.,@(cl-loop.for.regex.in.ma
f400 74 63 68 65 73 20 63 6f 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tches.collect...................
f420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e .............................(un
f440 6c 65 73 73 20 28 65 71 75 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 77 69 less.(equal.(calibredb-author-wi
f460 64 74 68 29 20 30 29 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 72 65 67 65 78 20 28 63 61 6c 69 dth).0).(s-contains?.regex.(cali
f480 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 6c 69 6e 65 29 20 3a 61 75 74 68 6f bredb-getattr.(list.line).:autho
f4a0 72 2d 73 6f 72 74 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r-sort))))))....................
f4c0 20 20 20 20 20 28 70 75 73 68 20 6c 69 6e 65 20 72 65 73 2d 6c 69 73 74 29 29 29 29 0a 20 20 20 .....(push.line.res-list))))....
f4e0 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 2d 66 69 6c 74 65 72 2d 70 0a .......(calibredb-date-filter-p.
f500 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 6c 69 6e 65 20 69 6e 20 ...........(cl-loop.for.line.in.
f520 65 6e 74 72 69 65 73 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 entries.do.....................(
f540 69 66 20 28 65 76 61 6c 20 60 28 61 6e 64 20 2c 40 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 72 65 if.(eval.`(and.,@(cl-loop.for.re
f560 67 65 78 20 69 6e 20 6d 61 74 63 68 65 73 20 63 6f 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20 gex.in.matches.collect..........
f580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
f5a0 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d ......(unless.(equal.(calibredb-
f5c0 64 61 74 65 2d 77 69 64 74 68 29 20 30 29 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 72 65 67 65 date-width).0).(s-contains?.rege
f5e0 78 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 6c 69 6e 65 29 x.(calibredb-getattr.(list.line)
f600 20 3a 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 .:last_modified))))))...........
f620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 6c 69 6e 65 20 72 65 73 2d 6c 69 73 ..............(push.line.res-lis
f640 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 t))))...........(t.(cl-loop.for.
f660 6c 69 6e 65 20 69 6e 20 65 6e 74 72 69 65 73 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 line.in.entries.do..............
f680 28 69 66 20 28 65 76 61 6c 20 60 28 61 6e 64 20 2c 40 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 72 (if.(eval.`(and.,@(cl-loop.for.r
f6a0 65 67 65 78 20 69 6e 20 6d 61 74 63 68 65 73 20 63 6f 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20 egex.in.matches.collect.........
f6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
f6e0 28 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (or.............................
f700 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 63 61 6c 69 .............(unless.(equal.cali
f720 62 72 65 64 62 2d 69 64 2d 77 69 64 74 68 20 30 29 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d bredb-id-width.0).(string-match-
f740 70 20 72 65 67 65 78 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 p.regex.(calibredb-getattr.(list
f760 20 6c 69 6e 65 29 20 3a 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .line).:id)))...................
f780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 .......................(unless.(
f7a0 65 71 75 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 74 69 74 6c 65 2d 77 69 64 74 68 29 20 30 29 equal.(calibredb-title-width).0)
f7c0 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 72 65 67 65 78 20 28 63 61 6c 69 62 72 65 64 .(string-match-p.regex.(calibred
f7e0 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 6c 69 6e 65 29 20 3a 62 6f 6f 6b 2d 74 69 74 6c b-getattr.(list.line).:book-titl
f800 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e)))............................
f820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 28 63 61 ..............(unless.(equal.(ca
f840 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 77 69 64 74 68 29 20 30 29 20 28 73 74 72 69 6e 67 libredb-format-width).0).(string
f860 2d 6d 61 74 63 68 2d 70 20 72 65 67 65 78 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 -match-p.regex.(calibredb-getatt
f880 72 20 28 6c 69 73 74 20 6c 69 6e 65 29 20 3a 62 6f 6f 6b 2d 66 6f 72 6d 61 74 29 29 29 0a 20 20 r.(list.line).:book-format)))...
f8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
f8c0 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 28 63 61 6c 69 62 72 65 64 62 .......(unless.(equal.(calibredb
f8e0 2d 74 61 67 2d 77 69 64 74 68 29 20 30 29 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 72 -tag-width).0).(string-match-p.r
f900 65 67 65 78 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 6c 69 egex.(calibredb-getattr.(list.li
f920 6e 65 29 20 3a 74 61 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ne).:tag))).....................
f940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 .....................(unless.(eq
f960 75 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 69 64 73 2d 77 69 64 74 68 29 20 30 29 20 28 73 74 ual.(calibredb-ids-width).0).(st
f980 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 72 65 67 65 78 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 ring-match-p.regex.(calibredb-ge
f9a0 74 61 74 74 72 20 28 6c 69 73 74 20 6c 69 6e 65 29 20 3a 69 64 73 29 29 29 0a 20 20 20 20 20 20 tattr.(list.line).:ids))).......
f9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
f9e0 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 61 75 74 ...(unless.(equal.(calibredb-aut
fa00 68 6f 72 2d 77 69 64 74 68 29 20 30 29 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 72 65 hor-width).0).(string-match-p.re
fa20 67 65 78 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 6c 69 6e gex.(calibredb-getattr.(list.lin
fa40 65 29 20 3a 61 75 74 68 6f 72 2d 73 6f 72 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 e).:author-sort)))..............
fa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c ............................(unl
fa80 65 73 73 20 28 65 71 75 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 2d 77 69 64 74 68 ess.(equal.(calibredb-date-width
faa0 29 20 30 29 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 72 65 67 65 78 20 28 63 61 6c 69 ).0).(string-match-p.regex.(cali
fac0 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 6c 69 6e 65 29 20 3a 6c 61 73 74 5f bredb-getattr.(list.line).:last_
fae0 6d 6f 64 69 66 69 65 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 modified))).....................
fb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4e 6f 72 6d 61 6c 6c 79 .....................;;.Normally
fb20 2c 20 63 6f 6d 6d 65 6e 74 73 20 61 72 65 20 6c 6f 6e 67 2c 20 69 74 20 69 73 20 6e 65 63 65 73 ,.comments.are.long,.it.is.neces
fb40 73 61 72 79 20 74 6f 20 74 72 61 6e 63 61 74 65 20 74 68 65 20 63 6f 6d 6d 65 6e 74 73 20 74 6f sary.to.trancate.the.comments.to
fb60 20 73 70 65 65 64 20 75 70 20 74 68 65 20 73 65 61 72 63 68 69 6e 67 0a 20 20 20 20 20 20 20 20 .speed.up.the.searching.........
fb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
fba0 20 3b 3b 20 65 78 63 65 70 74 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 65 6e 74 2d 77 69 64 .;;.except.calibredb-comment-wid
fbc0 74 68 20 69 73 20 2d 31 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 th.is.-1........................
fbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 ...................(unless.(equa
fc00 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 65 6e 74 2d 77 69 64 74 68 29 20 30 29 20 28 l.(calibredb-comment-width).0).(
fc20 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 72 65 67 65 78 20 28 6c 65 74 20 28 28 63 20 28 63 string-match-p.regex.(let.((c.(c
fc40 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 6c 69 6e 65 29 20 3a 63 6f alibredb-getattr.(list.line).:co
fc60 6d 6d 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mment)).........................
fc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
fca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
fcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 20 63 61 6c 69 .........................(w.cali
fce0 62 72 65 64 62 2d 63 6f 6d 6d 65 6e 74 2d 77 69 64 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 bredb-comment-width))...........
fd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
fd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
fd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
fd60 20 20 20 28 69 66 20 28 3e 20 77 20 30 29 20 28 73 2d 74 72 75 6e 63 61 74 65 20 77 20 63 29 20 ...(if.(>.w.0).(s-truncate.w.c).
fd80 63 29 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 c))))))))..................(push
fda0 20 6c 69 6e 65 20 72 65 73 2d 6c 69 73 74 29 29 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 .line.res-list))))).....(nrevers
fdc0 65 20 72 65 73 2d 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d e.res-list)))..(defun.calibredb-
fde0 66 6f 6c 64 65 72 2d 63 61 6e 64 69 64 61 74 65 2d 66 69 6c 74 65 72 20 28 69 64 20 65 6e 74 72 folder-candidate-filter.(id.entr
fe00 69 65 73 29 0a 20 20 22 47 65 74 20 74 68 65 20 66 6f 6c 64 65 72 20 63 61 6e 64 69 64 61 74 65 ies)..."Get.the.folder.candidate
fe20 20 62 79 20 49 44 20 69 6e 20 45 4e 54 52 49 45 53 2e 22 0a 20 20 28 2d 66 69 72 73 74 20 28 6c .by.ID.in.ENTRIES."...(-first.(l
fe40 61 6d 62 64 61 20 28 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e ambda.(entry).............(strin
fe60 67 2d 65 71 75 61 6c 20 69 64 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c g-equal.id.(calibredb-getattr.(l
fe80 69 73 74 20 65 6e 74 72 79 29 20 3a 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 65 6e 74 72 ist.entry).:id)))...........entr
fea0 69 65 73 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 63 ies))..(defun.calibredb-folder-c
fec0 61 6e 64 69 64 61 74 65 20 28 69 64 29 0a 20 20 22 45 78 74 72 61 63 74 20 74 68 65 20 6a 73 6f andidate.(id)..."Extract.the.jso
fee0 6e 20 61 72 72 61 79 20 61 6e 64 20 64 65 63 6f 64 65 20 69 74 73 20 73 74 72 75 63 74 75 72 65 n.array.and.decode.its.structure
ff00 20 74 6f 20 67 65 74 20 74 68 65 20 62 6f 6f 6b 20 6c 69 73 74 2c 20 74 68 65 6e 20 67 65 74 20 .to.get.the.book.list,.then.get.
ff20 74 68 65 20 65 6e 74 72 79 20 62 79 20 49 44 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6a 73 6f 6e the.entry.by.ID."...(let*.((json
ff40 2d 73 74 72 69 6e 67 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 -string.(with-temp-buffer.......
ff60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 ..................(insert-file-c
ff80 6f 6e 74 65 6e 74 73 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 2e 6d 65 74 61 ontents.(expand-file-name.".meta
ffa0 64 61 74 61 2e 63 61 6c 69 62 72 65 22 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 data.calibre".calibredb-root-dir
ffc0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 )).........................(buff
ffe0 65 72 2d 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 6e 74 72 69 65 73 20 28 er-string)))..........(entries.(
10000 6a 73 6f 6e 2d 70 61 72 73 65 2d 73 74 72 69 6e 67 20 6a 73 6f 6e 2d 73 74 72 69 6e 67 20 3a 6f json-parse-string.json-string.:o
10020 62 6a 65 63 74 2d 74 79 70 65 20 27 61 6c 69 73 74 20 3a 61 72 72 61 79 2d 74 79 70 65 20 27 6c bject-type.'alist.:array-type.'l
10040 69 73 74 20 3a 6e 75 6c 6c 2d 6f 62 6a 65 63 74 20 6e 69 6c 29 29 29 0a 20 20 20 20 28 63 61 6c ist.:null-object.nil))).....(cal
10060 69 62 72 65 64 62 2d 67 65 74 62 6f 6f 6b 6c 69 73 74 0a 20 20 20 20 20 28 6c 69 73 74 20 28 63 ibredb-getbooklist......(list.(c
10080 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 63 61 6e 64 69 64 61 74 65 2d 66 69 6c 74 65 72 alibredb-folder-candidate-filter
100a0 20 69 64 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 65 6e 74 72 69 65 73 2d 74 6f .id.(calibredb-folder-entries-to
100c0 2d 70 6c 69 73 74 20 65 6e 74 72 69 65 73 29 29 20 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 -plist.entries)).))))..(defun.ca
100e0 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 63 61 6e 64 69 64 61 74 65 73 20 28 26 6f 70 74 69 libredb-folder-candidates.(&opti
10100 6f 6e 61 6c 20 66 69 6c 74 65 72 29 0a 20 20 22 45 78 74 72 61 63 74 20 74 68 65 20 6a 73 6f 6e onal.filter)..."Extract.the.json
10120 20 61 72 72 61 79 20 61 6e 64 20 64 65 63 6f 64 65 20 69 74 73 20 73 74 72 75 63 74 75 72 65 20 .array.and.decode.its.structure.
10140 74 6f 20 67 65 74 20 74 68 65 20 62 6f 6f 6b 20 6c 69 73 74 2e 0a 41 52 47 55 4d 45 4e 54 20 46 to.get.the.book.list..ARGUMENT.F
10160 49 4c 54 45 52 20 69 73 20 74 68 65 20 66 69 6c 74 65 72 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 ILTER.is.the.filter.string."...(
10180 6c 65 74 2a 20 28 28 6a 73 6f 6e 2d 73 74 72 69 6e 67 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 let*.((json-string.(with-temp-bu
101a0 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e ffer.........................(in
101c0 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d sert-file-contents.(expand-file-
101e0 6e 61 6d 65 20 22 2e 6d 65 74 61 64 61 74 61 2e 63 61 6c 69 62 72 65 22 20 63 61 6c 69 62 72 65 name.".metadata.calibre".calibre
10200 64 62 2d 72 6f 6f 74 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 db-root-dir))...................
10220 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 ......(buffer-string))).........
10240 20 28 65 6e 74 72 69 65 73 20 28 6a 73 6f 6e 2d 70 61 72 73 65 2d 73 74 72 69 6e 67 20 6a 73 6f .(entries.(json-parse-string.jso
10260 6e 2d 73 74 72 69 6e 67 20 3a 6f 62 6a 65 63 74 2d 74 79 70 65 20 27 61 6c 69 73 74 20 3a 61 72 n-string.:object-type.'alist.:ar
10280 72 61 79 2d 74 79 70 65 20 27 6c 69 73 74 20 3a 6e 75 6c 6c 2d 6f 62 6a 65 63 74 20 6e 69 6c 29 ray-type.'list.:null-object.nil)
102a0 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 74 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f )..........(filter.(calibredb-fo
102c0 6c 64 65 72 2d 70 61 72 73 65 2d 66 69 6c 74 65 72 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 lder-parse-filter.calibredb-sear
102e0 63 68 2d 66 69 6c 74 65 72 29 29 29 0a 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 62 ch-filter))).....(calibredb-getb
10300 6f 6f 6b 6c 69 73 74 0a 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 63 ooklist......(calibredb-folder-c
10320 61 6e 64 69 64 61 74 65 73 2d 66 69 6c 74 65 72 20 66 69 6c 74 65 72 20 28 63 61 6c 69 62 72 65 andidates-filter.filter.(calibre
10340 64 62 2d 66 6f 6c 64 65 72 2d 65 6e 74 72 69 65 73 2d 74 6f 2d 70 6c 69 73 74 20 65 6e 74 72 69 db-folder-entries-to-plist.entri
10360 65 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 es)))))..(defun.calibredb-folder
10380 2d 75 70 64 61 74 65 2d 74 61 67 73 2d 62 79 2d 6c 70 61 74 68 20 28 6c 70 61 74 68 20 74 61 67 -update-tags-by-lpath.(lpath.tag
103a0 73 2d 73 74 72 69 6e 67 29 0a 20 20 22 55 70 64 61 74 65 20 74 61 67 73 20 69 6e 20 2e 6d 65 74 s-string)..."Update.tags.in..met
103c0 61 64 61 74 61 2e 63 61 6c 69 62 72 65 20 66 6f 72 20 62 6f 6f 6b 20 77 69 74 68 20 4c 50 41 54 adata.calibre.for.book.with.LPAT
103e0 48 2e 0a 55 73 69 6e 67 20 63 6f 6d 6d 61 2d 73 65 70 61 72 61 74 65 64 20 54 41 47 53 2d 53 54 H..Using.comma-separated.TAGS-ST
10400 52 49 4e 47 2e 0a 55 73 65 73 20 67 6c 6f 62 61 6c 20 60 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f RING..Uses.global.`calibredb-roo
10420 74 2d 64 69 72 60 2e 22 0a 20 20 28 77 68 65 6e 2d 6c 65 74 2a 20 28 28 6d 65 74 61 64 61 74 61 t-dir`."...(when-let*.((metadata
10440 2d 70 61 74 68 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 2e 6d 65 74 61 64 61 -path.(expand-file-name.".metada
10460 74 61 2e 63 61 6c 69 62 72 65 22 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 29 ta.calibre".calibredb-root-dir))
10480 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6a 73 6f 6e 2d 73 74 72 69 6e 67 20 28 77 69 74 ...............(json-string.(wit
104a0 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h-temp-buffer...................
104c0 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 ...........(insert-file-contents
104e0 20 6d 65 74 61 64 61 74 61 2d 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .metadata-path).................
10500 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 0a 20 .............(buffer-string)))..
10520 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 74 72 69 65 73 20 28 6a 73 6f 6e 2d 70 61 72 73 .............(entries.(json-pars
10540 65 2d 73 74 72 69 6e 67 20 6a 73 6f 6e 2d 73 74 72 69 6e 67 20 3a 6f 62 6a 65 63 74 2d 74 79 70 e-string.json-string.:object-typ
10560 65 20 27 61 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 2d 74 61 e.'alist))...............(new-ta
10580 67 73 20 28 76 63 6f 6e 63 61 74 20 28 6d 61 70 63 61 72 20 23 27 73 74 72 69 6e 67 2d 74 72 69 gs.(vconcat.(mapcar.#'string-tri
105a0 6d 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 74 61 67 73 2d 73 74 72 69 6e 67 20 22 2c 22 29 m.(split-string.tags-string.",")
105c0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 74 72 79 20 28 63 6c 2d 66 69 6e )))...............(entry.(cl-fin
105e0 64 2d 69 66 20 28 6c 61 6d 62 64 61 20 28 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 d-if.(lambda.(entry)............
10600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 3d ........................(string=
10620 20 28 61 6c 69 73 74 2d 67 65 74 20 27 6c 70 61 74 68 20 65 6e 74 72 79 29 20 6c 70 61 74 68 29 .(alist-get.'lpath.entry).lpath)
10640 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
10660 20 20 20 65 6e 74 72 69 65 73 29 29 29 0a 20 20 20 20 28 73 65 74 66 20 28 61 6c 69 73 74 2d 67 ...entries))).....(setf.(alist-g
10680 65 74 20 27 74 61 67 73 20 65 6e 74 72 79 29 20 6e 65 77 2d 74 61 67 73 29 0a 20 20 20 20 28 6c et.'tags.entry).new-tags).....(l
106a0 65 74 20 28 28 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 2d 66 6f 72 2d 77 72 69 74 65 20 27 75 74 et.((coding-system-for-write.'ut
106c0 66 2d 38 29 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c 65 20 6d 65 74 61 f-8)).......(with-temp-file.meta
106e0 64 61 74 61 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 6a 73 6f 6e 2d data-path.........(insert.(json-
10700 73 65 72 69 61 6c 69 7a 65 20 65 6e 74 72 69 65 73 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 serialize.entries))))))..(defun.
10720 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 65 6e 74 72 69 65 73 2d 74 6f 2d 70 6c 69 73 calibredb-folder-entries-to-plis
10740 74 20 28 65 6e 74 72 69 65 73 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 66 6f 6c 64 65 72 20 6d 65 t.(entries)..."Convert.folder.me
10760 74 61 64 61 74 61 20 45 4e 54 52 49 45 53 20 74 6f 20 70 6c 69 73 74 2e 22 0a 20 20 28 6c 65 74 tadata.ENTRIES.to.plist."...(let
10780 20 28 28 75 6e 73 6f 72 74 65 64 2d 65 6e 74 72 69 65 73 20 28 2d 6d 61 70 63 61 74 0a 20 20 20 .((unsorted-entries.(-mapcat....
107a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 ........................(lambda.
107c0 28 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (entry).........................
107e0 20 20 20 20 20 3b 3b 20 75 73 65 20 6c 70 61 74 68 20 61 73 20 63 61 6c 69 62 72 65 64 62 20 69 .....;;.use.lpath.as.calibredb.i
10800 6e 74 65 72 6e 61 6c 20 69 64 2c 20 73 69 6e 63 65 20 74 68 65 20 69 64 20 6d 61 79 62 65 20 6d nternal.id,.since.the.id.maybe.m
10820 69 73 73 69 6e 67 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 issing.in.the...................
10840 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6d 65 74 61 64 61 74 61 2c 20 75 73 65 20 6d 64 35 20 ...........;;.metadata,.use.md5.
10860 6f 66 20 66 69 6c 65 20 70 61 74 68 20 74 6f 20 67 65 6e 65 72 61 74 65 20 61 20 75 6e 69 71 75 of.file.path.to.generate.a.uniqu
10880 65 20 69 64 2c 20 69 74 20 77 69 6c 6c 20 62 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 e.id,.it.will.be.the............
108a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 61 6d 65 20 69 66 20 74 68 65 ..................;;.same.if.the
108c0 20 66 69 6c 65 20 70 61 74 68 20 64 6f 65 73 20 6e 6f 74 20 63 68 61 6e 67 65 2e 0a 20 20 20 20 .file.path.does.not.change......
108e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 .........................(let*.(
10900 28 6c 70 61 74 68 20 28 61 6c 69 73 74 2d 67 65 74 20 27 6c 70 61 74 68 20 65 6e 74 72 79 29 29 (lpath.(alist-get.'lpath.entry))
10920 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
10940 20 20 20 20 20 28 6c 73 74 20 28 6e 74 68 20 35 20 28 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 .....(lst.(nth.5.(file-attribute
10960 73 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 6c 70 61 74 68 20 63 61 6c 69 62 72 s.(expand-file-name.lpath.calibr
10980 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 edb-root-dir)))))...............
109a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 60 28 28 3a 69 64 20 20 20 .................(list.`((:id...
109c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 6d 64 35 20 6c 70 61 74 68 29 29 0a 20 20 20 20 ..............,(md5.lpath)).....
109e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
10a00 20 20 20 28 3a 61 75 74 68 6f 72 2d 73 6f 72 74 20 20 20 20 20 20 20 20 2c 28 6f 72 20 28 6d 61 ...(:author-sort........,(or.(ma
10a20 70 63 6f 6e 63 61 74 20 27 69 64 65 6e 74 69 74 79 20 28 61 6c 69 73 74 2d 67 65 74 20 27 61 75 pconcat.'identity.(alist-get.'au
10a40 74 68 6f 72 73 20 65 6e 74 72 79 29 20 22 2c 22 29 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 thors.entry).",").""))..........
10a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a ..............................(:
10a80 62 6f 6f 6b 2d 64 69 72 20 20 20 20 20 20 20 20 20 20 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 book-dir..........."")..........
10aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a ..............................(:
10ac0 62 6f 6f 6b 2d 63 6f 76 65 72 20 20 20 20 20 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 book-cover.........nil).........
10ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
10b00 3a 62 6f 6f 6b 2d 6e 61 6d 65 20 20 20 20 20 20 20 20 20 20 22 22 29 0a 20 20 20 20 20 20 20 20 :book-name.........."").........
10b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
10b40 3a 62 6f 6f 6b 2d 66 6f 72 6d 61 74 20 20 20 20 20 20 20 20 2c 28 73 75 62 73 74 72 69 6e 67 20 :book-format........,(substring.
10b60 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 6d 61 69 6c 63 61 70 2d 6d 69 6d 65 2d 74 (calibredb-folder-mailcap-mime-t
10b80 6f 2d 65 78 74 6e 20 28 61 6c 69 73 74 2d 67 65 74 20 27 6d 69 6d 65 20 65 6e 74 72 79 29 29 20 o-extn.(alist-get.'mime.entry)).
10ba0 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1)).............................
10bc0 20 20 20 20 20 20 20 20 20 20 20 28 3a 62 6f 6f 6b 2d 70 75 62 64 61 74 65 20 20 20 20 20 20 20 ...........(:book-pubdate.......
10be0 2c 28 6f 72 20 28 61 6c 69 73 74 2d 67 65 74 20 27 70 75 62 64 61 74 65 20 65 6e 74 72 79 29 20 ,(or.(alist-get.'pubdate.entry).
10c00 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ""))............................
10c20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 62 6f 6f 6b 2d 74 69 74 6c 65 20 20 20 20 20 20 20 20 ............(:book-title........
10c40 20 2c 28 61 6c 69 73 74 2d 67 65 74 20 27 74 69 74 6c 65 20 65 6e 74 72 79 29 29 0a 20 20 20 20 .,(alist-get.'title.entry)).....
10c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
10c80 20 20 20 28 3a 66 69 6c 65 2d 70 61 74 68 20 20 20 20 20 20 20 20 20 20 2c 28 65 78 70 61 6e 64 ...(:file-path..........,(expand
10ca0 2d 66 69 6c 65 2d 6e 61 6d 65 20 6c 70 61 74 68 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d -file-name.lpath.calibredb-root-
10cc0 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dir))...........................
10ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 74 61 67 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............(:tag..............
10d00 20 20 2c 28 6f 72 20 28 6d 61 70 63 6f 6e 63 61 74 20 27 69 64 65 6e 74 69 74 79 20 28 61 6c 69 ..,(or.(mapconcat.'identity.(ali
10d20 73 74 2d 67 65 74 20 27 74 61 67 73 20 65 6e 74 72 79 29 20 22 2c 22 29 20 22 22 29 29 0a 20 20 st-get.'tags.entry).",").""))...
10d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
10d60 20 20 20 20 20 28 3a 73 69 7a 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 66 6f 72 6d .....(:size...............,(form
10d80 61 74 20 22 25 2e 32 66 22 20 28 2f 20 28 6f 72 20 28 61 6c 69 73 74 2d 67 65 74 20 27 73 69 7a at."%.2f".(/.(or.(alist-get.'siz
10da0 65 20 65 6e 74 72 79 29 20 30 29 20 31 30 34 38 35 37 36 2e 30 29 29 29 0a 20 20 20 20 20 20 20 e.entry).0).1048576.0)))........
10dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
10de0 28 3a 63 6f 6d 6d 65 6e 74 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 6f 72 20 28 61 6c 69 73 74 (:comment............,(or.(alist
10e00 2d 67 65 74 20 27 63 6f 6d 6d 65 6e 74 73 20 65 6e 74 72 79 29 20 22 22 29 29 0a 20 20 20 20 20 -get.'comments.entry).""))......
10e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
10e40 20 20 28 3a 69 64 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 6f 72 20 28 6d 61 70 ..(:ids................,(or.(map
10e60 63 6f 6e 63 61 74 20 28 6c 61 6d 62 64 61 28 78 29 20 28 66 6f 72 6d 61 74 20 22 25 73 3a 25 73 concat.(lambda(x).(format."%s:%s
10e80 22 20 28 63 61 72 20 78 29 20 28 63 64 72 20 78 29 29 29 28 61 6c 69 73 74 2d 67 65 74 20 27 69 ".(car.x).(cdr.x)))(alist-get.'i
10ea0 64 65 6e 74 69 66 69 65 72 73 20 65 6e 74 72 79 29 20 22 2c 22 29 20 22 22 29 29 0a 20 20 20 20 dentifiers.entry).",")."")).....
10ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
10ee0 20 20 20 28 3a 70 75 62 6c 69 73 68 65 72 20 20 20 20 20 20 20 20 20 20 2c 28 6f 72 20 28 61 6c ...(:publisher..........,(or.(al
10f00 69 73 74 2d 67 65 74 20 27 70 75 62 6c 69 73 68 65 72 20 65 6e 74 72 79 29 20 22 22 29 29 0a 20 ist-get.'publisher.entry).""))..
10f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
10f40 20 20 20 20 20 20 28 3a 73 65 72 69 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 22 22 29 0a 20 ......(:series............."")..
10f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
10f80 20 20 20 20 20 20 28 3a 6c 61 6e 67 5f 63 6f 64 65 20 20 20 20 20 20 20 20 20 20 2c 28 6d 61 70 ......(:lang_code..........,(map
10fa0 63 6f 6e 63 61 74 20 27 69 64 65 6e 74 69 74 79 20 28 61 6c 69 73 74 2d 67 65 74 20 27 6c 61 6e concat.'identity.(alist-get.'lan
10fc0 67 75 61 67 65 73 20 65 6e 74 72 79 29 20 22 2c 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 guages.entry).",")).............
10fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 6c 70 61 ...........................(:lpa
11000 74 68 20 2c 6c 70 61 74 68 29 20 3b 3b 20 75 73 65 64 20 66 6f 72 20 6c 6f 63 61 74 69 6e 67 20 th.,lpath).;;.used.for.locating.
11020 74 68 65 20 65 6e 74 72 79 20 61 6e 64 20 73 65 74 74 69 6e 67 20 6d 65 74 61 64 61 74 61 0a 20 the.entry.and.setting.metadata..
11040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11060 20 20 20 20 20 20 28 3a 6c 73 74 20 2c 6c 73 74 29 20 3b 3b 20 75 73 65 64 20 66 6f 72 20 73 6f ......(:lst.,lst).;;.used.for.so
11080 72 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rting...........................
110a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 20 20 20 20 .............(:last_modified....
110c0 20 20 2c 28 6c 65 74 20 28 28 6c 73 74 2d 6d 64 20 28 61 6c 69 73 74 2d 67 65 74 20 27 6c 61 73 ..,(let.((lst-md.(alist-get.'las
110e0 74 5f 6d 6f 64 69 66 69 65 64 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 t_modified.entry))..............
11100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 62 2d 64 20 28 61 6c ......................(pub-d.(al
11140 69 73 74 2d 67 65 74 20 27 70 75 62 64 61 74 65 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 ist-get.'pubdate.entry))).......
11160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6c 73 74 .........................(if.lst
111a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
111c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
111e0 20 20 20 20 28 66 6f 72 6d 61 74 2d 74 69 6d 65 2d 73 74 72 69 6e 67 20 22 25 59 2d 25 6d 2d 25 ....(format-time-string."%Y-%m-%
11200 64 20 25 48 3a 25 4d 3a 25 53 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.%H:%M:%S".....................
11220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11260 20 20 20 6c 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...lst).........................
11280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
112a0 20 20 20 20 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 65 71 75 61 6c 20 6c 73 74 2d 6d .........(if.(string-equal.lst-m
112c0 64 20 22 4e 6f 6e 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d."None").......................
112e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 65 71 75 61 6c ...............(if.(string-equal
11320 20 70 75 62 2d 64 20 22 4e 6f 6e 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .pub-d."None")..................
11340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 22 0a 20 20 20 20 20 ........................""......
11380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
113a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
113c0 20 20 70 75 62 2d 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..pub-d)........................
113e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11400 20 20 20 20 20 20 20 20 20 20 20 20 6c 73 74 2d 6d 64 29 29 29 29 29 29 20 29 29 0a 20 20 20 20 ............lst-md)))))).)).....
11420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 74 72 69 65 73 29 29 .......................entries))
11440 29 0a 20 20 20 20 3b 3b 20 73 6f 72 74 20 62 79 0a 20 20 20 20 3b 3b 20 63 61 6c 69 62 72 65 64 ).....;;.sort.by.....;;.calibred
11460 62 2d 66 61 76 6f 72 69 74 65 2d 6b 65 79 77 6f 72 64 0a 20 20 20 20 3b 3b 20 63 61 6c 69 62 72 b-favorite-keyword.....;;.calibr
11480 65 64 62 2d 68 69 67 68 6c 69 67 68 74 2d 6b 65 79 77 6f 72 64 0a 20 20 20 20 3b 3b 20 6c 61 73 edb-highlight-keyword.....;;.las
114a0 74 20 6d 6f 64 69 66 69 65 64 20 74 69 6d 65 0a 20 20 20 20 28 73 6f 72 74 20 75 6e 73 6f 72 74 t.modified.time.....(sort.unsort
114c0 65 64 2d 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 61 20 ed-entries...........(lambda.(a.
114e0 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 61 2d 74 61 67 73 20 28 63 b).............(let*.((a-tags.(c
11500 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 61 29 20 3a 74 61 67 29 29 alibredb-getattr.(list.a).:tag))
11520 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 2d 74 61 67 73 20 28 63 61 6c ....................(b-tags.(cal
11540 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 62 29 20 3a 74 61 67 29 29 0a 20 ibredb-getattr.(list.b).:tag))..
11560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 2d 66 61 76 20 28 73 2d 63 6f 6e 74 ..................(a-fav.(s-cont
11580 61 69 6e 73 3f 20 63 61 6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d 6b 65 79 77 6f 72 64 ains?.calibredb-favorite-keyword
115a0 20 61 2d 74 61 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 2d .a-tags))....................(b-
115c0 66 61 76 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 63 61 6c 69 62 72 65 64 62 2d 66 61 76 6f 72 fav.(s-contains?.calibredb-favor
115e0 69 74 65 2d 6b 65 79 77 6f 72 64 20 62 2d 74 61 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ite-keyword.b-tags))............
11600 20 20 20 20 20 20 20 20 28 61 2d 68 69 67 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 63 61 6c 69 ........(a-hig.(s-contains?.cali
11620 62 72 65 64 62 2d 68 69 67 68 6c 69 67 68 74 2d 6b 65 79 77 6f 72 64 20 61 2d 74 61 67 73 29 29 bredb-highlight-keyword.a-tags))
11640 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 2d 68 69 67 20 28 73 2d 63 6f ....................(b-hig.(s-co
11660 6e 74 61 69 6e 73 3f 20 63 61 6c 69 62 72 65 64 62 2d 68 69 67 68 6c 69 67 68 74 2d 6b 65 79 77 ntains?.calibredb-highlight-keyw
11680 6f 72 64 20 62 2d 74 61 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e ord.b-tags)))...............(con
116a0 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 20 69 73 20 66 61 76 6f 72 69 74 d................;;.A.is.favorit
116c0 65 2c 20 42 20 69 73 20 6e 6f 74 20 e2 80 94 20 42 20 67 6f 65 73 20 66 69 72 73 74 0a 20 20 20 e,.B.is.not.....B.goes.first....
116e0 20 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 61 2d 66 61 76 20 28 6e 6f 74 20 62 2d 66 ............((and.a-fav.(not.b-f
11700 61 76 29 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 42 20 69 73 av)).nil)................;;.B.is
11720 20 66 61 76 6f 72 69 74 65 2c 20 41 20 69 73 20 6e 6f 74 20 e2 80 94 20 41 20 67 6f 65 73 20 66 .favorite,.A.is.not.....A.goes.f
11740 69 72 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 62 2d 66 61 76 20 irst................((and.b-fav.
11760 28 6e 6f 74 20 61 2d 66 61 76 29 29 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b (not.a-fav)).t)................;
11780 3b 20 41 20 69 73 20 68 69 67 68 6c 69 67 68 74 2c 20 42 20 69 73 20 6e 6f 74 20 e2 80 94 20 42 ;.A.is.highlight,.B.is.not.....B
117a0 20 67 6f 65 73 20 66 69 72 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 .goes.first................((and
117c0 20 61 2d 68 69 67 20 28 6e 6f 74 20 62 2d 68 69 67 29 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 .a-hig.(not.b-hig)).nil)........
117e0 20 20 20 20 20 20 20 20 3b 3b 20 42 20 69 73 20 68 69 67 68 6c 69 67 68 74 2c 20 41 20 69 73 20 ........;;.B.is.highlight,.A.is.
11800 6e 6f 74 20 e2 80 94 20 41 20 67 6f 65 73 20 66 69 72 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 not.....A.goes.first............
11820 20 20 20 20 28 28 61 6e 64 20 62 2d 68 69 67 20 28 6e 6f 74 20 61 2d 68 69 67 29 29 20 74 29 0a ....((and.b-hig.(not.a-hig)).t).
11840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 42 6f 74 68 20 73 61 6d 65 20 69 6e 20 74 ...............;;.Both.same.in.t
11860 65 72 6d 73 20 6f 66 20 66 61 76 6f 72 69 74 65 20 74 61 67 20 e2 80 94 20 66 61 6c 6c 20 62 61 erms.of.favorite.tag.....fall.ba
11880 63 6b 20 74 6f 20 74 69 6d 65 73 74 61 6d 70 20 73 6f 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 ck.to.timestamp.sort............
118a0 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 61 2d ....(t.................(let.((a-
118c0 74 69 6d 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 61 29 time.(calibredb-getattr.(list.a)
118e0 20 3a 6c 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 .:lst)).......................(b
11900 2d 74 69 6d 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 62 -time.(calibredb-getattr.(list.b
11920 29 20 3a 6c 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 69 6d ).:lst)))...................(tim
11940 65 2d 6c 65 73 73 2d 70 20 61 2d 74 69 6d 65 20 62 2d 74 69 6d 65 29 29 29 29 29 29 29 29 29 0a e-less-p.a-time.b-time))))))))).
11960 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 6d 61 69 6c 63 61 ..(defun.calibredb-folder-mailca
11980 70 2d 6d 69 6d 65 2d 74 6f 2d 65 78 74 6e 20 28 6d 69 6d 65 29 0a 20 20 22 52 65 74 75 72 6e 20 p-mime-to-extn.(mime)..."Return.
119a0 74 68 65 20 66 69 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 45 58 54 4e 20 62 61 73 65 64 20 6f the.file.extensions.EXTN.based.o
119c0 6e 20 74 68 65 20 4d 49 4d 45 20 63 6f 6e 74 65 6e 74 20 74 79 70 65 2e 22 0a 20 20 28 6d 61 69 n.the.MIME.content.type."...(mai
119e0 6c 63 61 70 2d 70 61 72 73 65 2d 6d 69 6d 65 74 79 70 65 73 29 0a 20 20 28 61 64 64 2d 74 6f 2d lcap-parse-mimetypes)...(add-to-
11a00 6c 69 73 74 20 27 6d 61 69 6c 63 61 70 2d 6d 69 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 73 20 27 28 list.'mailcap-mime-extensions.'(
11a20 22 2e 6d 64 22 20 2e 20 22 74 65 78 74 2f 78 2d 6d 61 72 6b 64 6f 77 6e 22 29 29 0a 20 20 28 69 ".md"..."text/x-markdown"))...(i
11a40 66 20 28 73 74 72 69 6e 67 70 20 6d 69 6d 65 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 78 f.(stringp.mime).......(let.((ex
11a60 74 20 28 63 61 72 20 28 72 61 73 73 6f 63 20 28 64 6f 77 6e 63 61 73 65 20 6d 69 6d 65 29 20 6d t.(car.(rassoc.(downcase.mime).m
11a80 61 69 6c 63 61 70 2d 6d 69 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 73 29 29 29 29 0a 20 20 20 20 20 ailcap-mime-extensions))))......
11aa0 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 65 6d 70 74 79 2d 70 20 65 78 74 29 0a 20 20 20 20 ...(if.(string-empty-p.ext).....
11ac0 20 20 20 20 20 20 20 20 22 2e 74 78 74 22 0a 20 20 20 20 20 20 20 20 20 20 65 78 74 29 29 0a 20 ........".txt"...........ext))..
11ae0 20 20 20 22 2e 74 78 74 22 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 63 61 6c 69 62 72 65 64 62 ...".txt"))..(provide.'calibredb
11b00 2d 66 6f 6c 64 65 72 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -folder)........................
11b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11c00 63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37 30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62 calibredb-20250705.225/calibredb
11c20 2d 68 65 6c 6d 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -helm.el........................
11c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
11c80 30 30 31 32 32 36 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 30 31 37 00 20 30 00 00 00 0012265.00000000000.016017..0...
11ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
11d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
11d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11e00 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2e 65 6c 20 2d 2d 2d 20 48 65 6c 6d 20 66 ;;;.calibredb-show.el.---.Helm.f
11e20 6f 72 20 63 61 6c 69 62 72 65 64 62 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 or.calibredb.-*-.lexical-binding
11e40 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 32 30 20 :.t;.-*-..;;.Copyright.(C).2020.
11e60 44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 44 61 6d 6f 6e 20 43 68 61 Damon.Chan..;;.Author:.Damon.Cha
11e80 6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a 20 68 n.<elecming@gmail.com>.;;.URL:.h
11ea0 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 65 6e 79 61 6e 6d 69 6e 67 2f 63 61 ttps://github.com/chenyanming/ca
11ec0 6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 74 6f 6f 6c 73 0a 0a 3b libredb.el.;;.Keywords:.tools..;
11ee0 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 4e 4f 54 20 70 61 72 74 20 6f 66 20 47 4e 55 20 45 ;.This.file.is.NOT.part.of.GNU.E
11f00 6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 macs...;;.This.program.is.free.s
11f20 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 oftware;.you.can.redistribute.it
11f40 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 .and/or.modify.;;.it.under.the.t
11f60 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c erms.of.the.GNU.General.Public.L
11f80 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 icense.as.published.by.;;.the.Fr
11fa0 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 ee.Software.Foundation,.either.v
11fc0 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 ersion.3.of.the.License,.or.;;.(
11fe0 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f at.your.option).any.later.versio
12000 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 n...;;.This.program.is.distribut
12020 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 ed.in.the.hope.that.it.will.be.u
12040 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e seful,.;;.but.WITHOUT.ANY.WARRAN
12060 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 TY;.without.even.the.implied.war
12080 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 ranty.of.;;.MERCHANTABILITY.or.F
120a0 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e ITNESS.FOR.A.PARTICULAR.PURPOSE.
120c0 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 ..See.the.;;.GNU.General.Public.
120e0 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f License.for.more.details...;;.Yo
12100 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 u.should.have.received.a.copy.of
12120 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a .the.GNU.General.Public.License.
12140 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 ;;.along.with.this.program...If.
12160 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 not,.see.<https://www.gnu.org/li
12180 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 3b 20 censes/>...;;;.Commentary:..;;;.
121a0 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f 72 65 29 Code:..(require.'calibredb-core)
121c0 0a 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 ...(declare-function.calibredb-s
121e0 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 61 67 73 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 et-metadata--tags."calibredb-uti
12200 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 ls.el").(declare-function.calibr
12220 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 63 6f 6d 6d 65 6e 74 73 20 22 63 61 6c 69 edb-set-metadata--comments."cali
12240 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 bredb-utils.el").(declare-functi
12260 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 65 6e 2d 66 69 6c 65 2d 77 69 74 68 2d 64 65 66 61 on.calibredb-open-file-with-defa
12280 75 6c 74 2d 74 6f 6f 6c 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 ult-tool."calibredb-utils.el").(
122a0 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d declare-function.calibredb-show-
122c0 65 6e 74 72 79 20 22 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2e 65 6c 22 29 0a 28 64 65 entry."calibredb-search.el").(de
122e0 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 66 69 6c clare-function.calibredb-get-fil
12300 65 2d 70 61 74 68 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 0a 28 64 e-path."calibredb-utils.el")..(d
12320 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 68 65 6c 6d 2d 6d 61 70 0a 20 20 28 69 66 20 28 efvar.calibredb-helm-map...(if.(
12340 62 6f 75 6e 64 70 20 27 68 65 6c 6d 2d 6d 61 70 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d boundp.'helm-map).......(let.((m
12360 61 70 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 29 0a 20 20 20 20 20 20 ap.(make-sparse-keymap))).......
12380 20 20 28 73 65 74 2d 6b 65 79 6d 61 70 2d 70 61 72 65 6e 74 20 6d 61 70 20 68 65 6c 6d 2d 6d 61 ..(set-keymap-parent.map.helm-ma
123a0 70 29 0a 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c 4d 2d 74 p).........(define-key.map."\M-t
123c0 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 61 67 73 ".#'calibredb-set-metadata--tags
123e0 2d 31 29 0a 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c 4d 2d -1).........(define-key.map."\M-
12400 63 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 63 6f 6d c".#'calibredb-set-metadata--com
12420 6d 65 6e 74 73 2d 31 29 0a 20 20 20 20 20 20 20 20 6d 61 70 29 29 0a 20 20 22 4b 65 79 6d 61 70 ments-1).........map))..."Keymap
12440 20 66 6f 72 20 60 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 68 65 6c 6d 27 2e 22 29 0a 0a 28 .for.`calibredb-find-helm'.")..(
12460 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 68 65 6c 6d 2d 61 63 74 69 6f 6e 73 defcustom.calibredb-helm-actions
12480 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 68 65 6c 6d 2d 6d 61 6b 65 2d 61 63 74 69 6f ...(if.(fboundp.'helm-make-actio
124a0 6e 73 29 0a 20 20 20 20 20 20 28 68 65 6c 6d 2d 6d 61 6b 65 2d 61 63 74 69 6f 6e 73 0a 20 20 20 ns).......(helm-make-actions....
124c0 20 20 20 20 22 4f 70 65 6e 20 66 69 6c 65 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."Open.file".................
124e0 20 20 27 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 22 56 ..'calibredb-find-file........"V
12500 69 65 77 20 64 65 74 61 69 6c 73 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 63 61 6c iew.details"................'cal
12520 69 62 72 65 64 62 2d 73 68 6f 77 2d 65 6e 74 72 79 0a 20 20 20 20 20 20 20 22 4f 70 65 6e 20 66 ibredb-show-entry........"Open.f
12540 69 6c 65 20 6f 74 68 65 72 20 66 72 61 6d 65 22 20 20 20 20 20 20 20 27 63 61 6c 69 62 72 65 64 ile.other.frame".......'calibred
12560 62 2d 66 69 6e 64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 66 72 61 6d 65 0a 20 20 20 20 20 20 20 22 b-find-file-other-frame........"
12580 4f 70 65 6e 20 66 69 6c 65 20 77 69 74 68 20 64 65 66 61 75 6c 74 20 74 6f 6f 6c 22 20 28 6c 61 Open.file.with.default.tool".(la
125a0 6d 62 64 61 20 28 63 61 6e 64 69 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mbda.(candidate)................
125c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 .........................(calibr
125e0 65 64 62 2d 6f 70 65 6e 2d 66 69 6c 65 2d 77 69 74 68 2d 64 65 66 61 75 6c 74 2d 74 6f 6f 6c 20 edb-open-file-with-default-tool.
12600 6e 69 6c 20 63 61 6e 64 69 64 61 74 65 29 29 0a 20 20 20 20 20 20 20 22 4f 70 65 6e 20 43 6f 76 nil.candidate))........"Open.Cov
12620 65 72 20 50 61 67 65 22 20 20 20 20 20 20 20 20 20 20 20 20 20 27 63 61 6c 69 62 72 65 64 62 2d er.Page".............'calibredb-
12640 66 69 6e 64 2d 63 6f 76 65 72 0a 20 20 20 20 20 20 20 22 53 65 74 20 74 61 67 73 22 20 20 20 20 find-cover........"Set.tags"....
12660 20 20 20 20 20 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 ......'calibredb-set-metadata--t
12680 61 67 73 0a 20 20 20 20 20 20 20 22 53 65 74 20 63 6f 6d 6d 65 6e 74 73 22 20 20 20 20 20 20 27 ags........"Set.comments"......'
126a0 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 63 6f 6d 6d 65 6e 74 73 calibredb-set-metadata--comments
126c0 0a 20 20 20 20 20 20 20 22 4c 69 73 74 20 66 69 6c 65 64 73 22 20 27 63 61 6c 69 62 72 65 64 62 ........"List.fileds".'calibredb
126e0 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 6c 69 73 74 2d 66 69 65 6c 64 73 0a 20 20 20 20 20 -set-metadata--list-fields......
12700 20 20 22 53 68 6f 77 20 6d 65 74 61 64 61 74 61 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .."Show.metadata"...............
12720 27 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6d 65 74 61 64 61 74 61 0a 20 20 20 20 20 20 20 'calibredb-show-metadata........
12740 22 45 78 70 6f 72 74 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 63 "Export"......................'c
12760 61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72 74 0a 20 20 20 20 20 20 20 22 52 65 6d 6f 76 65 22 20 alibredb-export........"Remove".
12780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 63 61 6c 69 62 72 65 64 62 2d .....................'calibredb-
127a0 72 65 6d 6f 76 65 0a 20 20 20 20 20 20 20 22 49 6e 73 65 72 74 20 61 6e 20 6f 72 67 20 6c 69 6e remove........"Insert.an.org.lin
127c0 6b 22 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 63 61 6e 64 69 64 61 74 65 29 0a k"..........(lambda.(candidate).
127e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
12800 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 66 65 61 74 75 72 65 70 20 27 6f 72 67 29 0a 20 .......(unless.(featurep.'org)..
12820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
12840 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 27 6f 72 67 29 29 0a 20 20 20 20 20 20 20 20 ........(require.'org)).........
12860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
12880 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6f 72 67 2d 69 6e 73 65 72 74 2d 6c 69 6e 6b 29 0a 20 20 if.(fboundp.'org-insert-link)...
128a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
128c0 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 69 6e 73 65 72 74 2d 6c 69 6e 6b 20 6e 69 6c 20 28 63 .........(org-insert-link.nil.(c
128e0 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 66 69 6c 65 2d 70 61 74 68 20 63 61 6e 64 69 64 61 74 65 alibredb-get-file-path.candidate
12900 20 74 29 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64 61 74 65 .t).(calibredb-getattr.candidate
12920 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 29 29 0a 20 20 20 20 20 20 20 22 4d 61 69 6c 20 41 64 .:book-title))))........"Mail.Ad
12940 64 20 61 74 74 61 63 68 6d 65 6e 74 22 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 63 d.attachment".........(lambda.(c
12960 61 6e 64 69 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 andidate).......................
12980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 69 6c 2d 61 64 64 2d 61 74 74 61 63 .................(mail-add-attac
129a0 68 6d 65 6e 74 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 66 69 6c 65 2d 70 61 74 68 20 63 hment.(calibredb-get-file-path.c
129c0 61 6e 64 69 64 61 74 65 20 74 29 29 29 29 29 0a 20 20 22 44 65 66 61 75 6c 74 20 61 63 74 69 6f andidate.t)))))..."Default.actio
129e0 6e 73 20 66 6f 72 20 63 61 6c 69 62 72 65 64 62 20 68 65 6c 6d 2e 22 0a 20 20 3a 67 72 6f 75 70 ns.for.calibredb.helm."...:group
12a00 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20 27 28 61 6c 69 73 74 20 3a 6b 65 79 .'calibredb...:type.'(alist.:key
12a20 2d 74 79 70 65 20 73 74 72 69 6e 67 20 3a 76 61 6c 75 65 2d 74 79 70 65 20 66 75 6e 63 74 69 6f -type.string.:value-type.functio
12a40 6e 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 68 65 6c 6d 2d 72 65 61 64 20 n))..(defun.calibredb-helm-read.
12a60 28 29 0a 20 20 22 48 65 6c 6d 20 72 65 61 64 20 66 6f 72 20 63 61 6c 69 62 72 65 64 62 2e 22 0a ()..."Helm.read.for.calibredb.".
12a80 20 20 28 77 68 65 6e 20 28 66 62 6f 75 6e 64 70 20 27 68 65 6c 6d 29 0a 20 20 20 20 28 77 68 65 ..(when.(fboundp.'helm).....(whe
12aa0 6e 20 28 67 65 74 2d 62 75 66 66 65 72 20 22 2a 68 65 6c 6d 20 61 63 74 69 6f 6e 2a 22 29 0a 20 n.(get-buffer."*helm.action*")..
12ac0 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 22 2a 68 65 6c 6d 20 61 63 74 69 6f 6e 2a .....(kill-buffer."*helm.action*
12ae0 22 29 29 0a 20 20 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 ")).....(unwind-protect.........
12b00 28 68 65 6c 6d 20 3a 73 6f 75 72 63 65 73 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 68 65 6c (helm.:sources.(if.(fboundp.'hel
12b20 6d 2d 62 75 69 6c 64 2d 73 79 6e 63 2d 73 6f 75 72 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 m-build-sync-source)............
12b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 65 6c 6d 2d 62 75 69 6c 64 2d 73 79 6e 63 ................(helm-build-sync
12b60 2d 73 6f 75 72 63 65 20 22 63 61 6c 69 62 72 65 64 62 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 -source."calibredb".............
12b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 68 65 61 64 65 72 2d 6e 61 6d 65 20 28 6c .................:header-name.(l
12ba0 61 6d 62 64 61 20 28 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ambda.(name)....................
12bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 .........................(concat
12be0 20 6e 61 6d 65 20 22 20 69 6e 20 5b 22 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 .name.".in.[".calibredb-root-dir
12c00 20 22 5d 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."]"))..........................
12c20 20 20 20 20 3a 63 61 6e 64 69 64 61 74 65 73 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 ....:candidates.(lambda.()......
12c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
12c60 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 63 61 6e 64 69 64 61 74 65 73 29 29 0a 20 20 ......(calibredb-candidates))...
12c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 3a 66 ...........................;;.:f
12ca0 69 6c 74 65 72 65 64 2d 63 61 6e 64 69 64 61 74 65 2d 74 72 61 6e 73 66 6f 72 6d 65 72 20 27 68 iltered-candidate-transformer.'h
12cc0 65 6c 6d 2d 66 69 6e 64 75 74 69 6c 73 2d 74 72 61 6e 73 66 6f 72 6d 65 72 0a 20 20 20 20 20 20 elm-findutils-transformer.......
12ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 3a 61 63 74 69 6f .......................;;.:actio
12d00 6e 2d 74 72 61 6e 73 66 6f 72 6d 65 72 20 27 68 65 6c 6d 2d 74 72 61 6e 73 66 6f 72 6d 2d 66 69 n-transformer.'helm-transform-fi
12d20 6c 65 2d 6c 6f 61 64 2d 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le-load-el......................
12d40 20 20 20 20 20 20 20 20 3a 70 65 72 73 69 73 74 65 6e 74 2d 61 63 74 69 6f 6e 20 27 63 61 6c 69 ........:persistent-action.'cali
12d60 62 72 65 64 62 2d 76 69 65 77 2d 2d 68 65 6c 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bredb-view--helm................
12d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 61 63 74 69 6f 6e 20 27 63 61 6c 69 62 72 65 64 62 ..............:action.'calibredb
12da0 2d 68 65 6c 6d 2d 61 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -helm-actions...................
12dc0 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 3a 68 65 6c 70 2d 6d 65 73 73 61 67 65 20 27 68 65 6c ...........;;.:help-message.'hel
12de0 6d 2d 67 65 6e 65 72 69 63 2d 66 69 6c 65 2d 68 65 6c 70 2d 6d 65 73 73 61 67 65 0a 20 20 20 20 m-generic-file-help-message.....
12e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6b 65 79 6d 61 70 .........................:keymap
12e20 20 63 61 6c 69 62 72 65 64 62 2d 68 65 6c 6d 2d 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 .calibredb-helm-map.............
12e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 61 6e 64 69 64 61 74 65 2d 6e 75 6d 62 .................:candidate-numb
12e60 65 72 2d 6c 69 6d 69 74 20 39 39 39 39 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 er-limit.9999...................
12e80 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 3a 72 65 71 75 69 72 65 73 2d 70 61 74 74 65 72 6e 20 ...........;;.:requires-pattern.
12ea0 33 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 3..............................)
12ec0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 62 75 66 66 65 72 20 22 2a 68 65 6c 6d 20 63 )...............:buffer."*helm.c
12ee0 61 6c 69 62 72 65 64 62 2a 22 29 20 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 alibredb*").)))..(defun.calibred
12f00 62 2d 66 69 6e 64 2d 68 65 6c 6d 20 28 29 0a 20 20 22 55 73 65 20 68 65 6c 6d 20 74 6f 20 6c 69 b-find-helm.()..."Use.helm.to.li
12f20 73 74 20 61 6c 6c 20 65 62 6f 6f 6b 73 20 64 65 74 61 69 6c 73 2e 22 0a 20 20 28 69 6e 74 65 72 st.all.ebooks.details."...(inter
12f40 61 63 74 69 76 65 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 68 65 6c 6d 2d 72 65 61 64 29 29 active)...(calibredb-helm-read))
12f60 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d ..(defun.calibredb-set-metadata-
12f80 2d 74 61 67 73 2d 31 20 28 29 0a 20 20 22 53 65 74 20 6d 65 74 61 64 61 74 61 20 74 61 67 20 66 -tags-1.()..."Set.metadata.tag.f
12fa0 75 6e 63 74 69 6f 6e 20 75 73 65 64 20 69 6e 20 68 65 6c 6d 20 61 63 74 69 6f 6e 2e 22 0a 20 20 unction.used.in.helm.action."...
12fc0 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 77 69 (interactive)...(if.(fboundp.'wi
12fe0 74 68 2d 68 65 6c 6d 2d 61 6c 69 76 65 2d 70 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 68 65 6c th-helm-alive-p).......(with-hel
13000 6d 2d 61 6c 69 76 65 2d 70 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 m-alive-p.........(if.(fboundp.'
13020 68 65 6c 6d 2d 65 78 69 74 2d 61 6e 64 2d 65 78 65 63 75 74 65 2d 61 63 74 69 6f 6e 29 0a 20 20 helm-exit-and-execute-action)...
13040 20 20 20 20 20 20 20 20 20 20 28 68 65 6c 6d 2d 65 78 69 74 2d 61 6e 64 2d 65 78 65 63 75 74 65 ..........(helm-exit-and-execute
13060 2d 61 63 74 69 6f 6e 20 23 27 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 -action.#'calibredb-set-metadata
13080 2d 2d 74 61 67 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 --tags)))))..(defun.calibredb-se
130a0 74 2d 6d 65 74 61 64 61 74 61 2d 2d 63 6f 6d 6d 65 6e 74 73 2d 31 20 28 29 0a 20 20 22 53 65 74 t-metadata--comments-1.()..."Set
130c0 20 6d 65 74 61 64 61 74 61 20 63 6f 6d 6d 65 6e 74 73 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 64 .metadata.comments.function.used
130e0 20 69 6e 20 68 65 6c 6d 20 61 63 74 69 6f 6e 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 .in.helm.actions."...(interactiv
13100 65 29 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 77 69 74 68 2d 68 65 6c 6d 2d 61 6c 69 e)...(if.(fboundp.'with-helm-ali
13120 76 65 2d 70 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 68 65 6c 6d 2d 61 6c 69 76 65 2d 70 0a 20 ve-p).......(with-helm-alive-p..
13140 20 20 20 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 68 65 6c 6d 2d 65 78 69 74 2d 61 .......(if.(fboundp.'helm-exit-a
13160 6e 64 2d 65 78 65 63 75 74 65 2d 61 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 nd-execute-action).............(
13180 68 65 6c 6d 2d 65 78 69 74 2d 61 6e 64 2d 65 78 65 63 75 74 65 2d 61 63 74 69 6f 6e 20 23 27 63 helm-exit-and-execute-action.#'c
131a0 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 63 6f 6d 6d 65 6e 74 73 29 alibredb-set-metadata--comments)
131c0 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 76 69 65 77 2d 2d 68 65 6c ))))..(defun.calibredb-view--hel
131e0 6d 20 28 63 61 6e 64 69 64 61 74 65 29 0a 20 20 22 56 69 73 69 74 20 74 68 65 20 63 61 6c 69 62 m.(candidate)..."Visit.the.calib
13200 72 65 64 62 2d 65 6e 74 72 79 20 77 69 74 68 20 68 65 6c 6d 2e 0a 41 72 67 75 6d 65 6e 74 20 43 redb-entry.with.helm..Argument.C
13220 41 4e 44 49 44 41 54 45 20 69 73 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 63 61 6e 64 69 64 61 ANDIDATE.is.the.selected.candida
13240 74 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 63 61 6c 69 62 72 65 64 te."...(interactive)...(calibred
13260 62 2d 73 68 6f 77 2d 65 6e 74 72 79 20 63 61 6e 64 69 64 61 74 65 29 29 0a 0a 28 70 72 6f 76 69 b-show-entry.candidate))..(provi
13280 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 68 65 6c 6d 29 0a 0a 3b 3b 3b 20 63 61 6c 69 62 72 65 de.'calibredb-helm)..;;;.calibre
132a0 64 62 2d 68 65 6c 6d 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 db-helm.el.ends.here............
132c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
132e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
133a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
133c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
133e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13400 63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37 30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62 calibredb-20250705.225/calibredb
13420 2d 69 76 79 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -ivy.el.........................
13440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
13480 30 30 31 34 35 33 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 37 30 35 00 20 30 00 00 00 0014537.00000000000.015705..0...
134a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
13520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
13540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13600 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 69 76 79 2e 65 6c 20 2d 2d 2d 20 49 76 79 2f 63 6f 75 ;;;.calibredb-ivy.el.---.Ivy/cou
13620 6e 73 65 6c 20 66 6f 72 20 63 61 6c 69 62 72 65 64 62 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 nsel.for.calibredb.-*-.lexical-b
13640 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 inding:.t;.-*-..;;.Copyright.(C)
13660 20 32 30 32 30 20 44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 44 61 6d .2020.Damon.Chan..;;.Author:.Dam
13680 6f 6e 20 43 68 61 6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 on.Chan.<elecming@gmail.com>.;;.
136a0 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 65 6e 79 61 6e 6d URL:.https://github.com/chenyanm
136c0 69 6e 67 2f 63 61 6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 74 6f ing/calibredb.el.;;.Keywords:.to
136e0 6f 6c 73 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 4e 4f 54 20 70 61 72 74 20 6f 66 ols..;;.This.file.is.NOT.part.of
13700 20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 .GNU.Emacs...;;.This.program.is.
13720 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 free.software;.you.can.redistrib
13740 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 ute.it.and/or.modify.;;.it.under
13760 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 .the.terms.of.the.GNU.General.Pu
13780 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 blic.License.as.published.by.;;.
137a0 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 the.Free.Software.Foundation,.ei
137c0 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f ther.version.3.of.the.License,.o
137e0 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 r.;;.(at.your.option).any.later.
13800 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 version...;;.This.program.is.dis
13820 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c tributed.in.the.hope.that.it.wil
13840 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 l.be.useful,.;;.but.WITHOUT.ANY.
13860 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 WARRANTY;.without.even.the.impli
13880 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 ed.warranty.of.;;.MERCHANTABILIT
138a0 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 Y.or.FITNESS.FOR.A.PARTICULAR.PU
138c0 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 RPOSE...See.the.;;.GNU.General.P
138e0 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a ublic.License.for.more.details..
13900 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 .;;.You.should.have.received.a.c
13920 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 opy.of.the.GNU.General.Public.Li
13940 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d cense.;;.along.with.this.program
13960 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e ...If.not,.see.<https://www.gnu.
13980 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a org/licenses/>...;;;.Commentary:
139a0 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 ..;;;.Code:..(require.'calibredb
139c0 2d 63 6f 72 65 29 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 -core).(require.'calibredb-searc
139e0 68 29 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 0a 28 72 h).(require.'calibredb-faces).(r
13a00 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 29 0a 0a 28 65 76 61 6c 2d equire.'calibredb-utils)..(eval-
13a20 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 20 28 64 65 66 76 61 72 20 63 6f 75 6e 73 65 6c 2d 61 67 2d when-compile.(defvar.counsel-ag-
13a40 62 61 73 65 2d 63 6f 6d 6d 61 6e 64 29 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e base-command)).(declare-function
13a60 20 63 6f 75 6e 73 65 6c 2d 61 67 20 22 63 6f 75 6e 73 65 6c 22 29 0a 0a 28 69 66 20 28 66 62 6f .counsel-ag."counsel")..(if.(fbo
13a80 75 6e 64 70 20 27 69 76 79 2d 73 65 74 2d 61 63 74 69 6f 6e 73 29 0a 20 20 20 20 28 69 76 79 2d undp.'ivy-set-actions).....(ivy-
13aa0 73 65 74 2d 61 63 74 69 6f 6e 73 0a 20 20 20 20 20 27 63 61 6c 69 62 72 65 64 62 2d 69 76 79 2d set-actions......'calibredb-ivy-
13ac0 72 65 61 64 0a 20 20 20 20 20 27 28 28 22 6f 22 20 28 6c 61 6d 62 64 61 20 28 63 61 6e 64 69 64 read......'(("o".(lambda.(candid
13ae0 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 ate)...............(calibredb-fi
13b00 6e 64 2d 66 69 6c 65 20 28 63 64 72 20 63 61 6e 64 69 64 61 74 65 29 29 29 20 22 4f 70 65 6e 22 nd-file.(cdr.candidate)))."Open"
13b20 29 0a 20 20 20 20 20 20 20 28 22 4f 22 20 28 6c 61 6d 62 64 61 20 28 63 61 6e 64 69 64 61 74 65 )........("O".(lambda.(candidate
13b40 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d )...............(calibredb-find-
13b60 66 69 6c 65 2d 6f 74 68 65 72 2d 66 72 61 6d 65 20 28 63 64 72 20 63 61 6e 64 69 64 61 74 65 29 file-other-frame.(cdr.candidate)
13b80 29 29 20 22 46 69 6e 64 20 66 69 6c 65 20 6f 74 68 65 72 20 66 72 61 6d 65 22 29 0a 20 20 20 20 ))."Find.file.other.frame").....
13ba0 20 20 20 28 22 76 22 20 28 6c 61 6d 62 64 61 20 28 63 61 6e 64 69 64 61 74 65 29 0a 20 20 20 20 ...("v".(lambda.(candidate).....
13bc0 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 65 6e 74 72 79 20 ..........(calibredb-show-entry.
13be0 28 63 64 72 20 63 61 6e 64 69 64 61 74 65 29 29 29 20 22 56 69 65 77 20 64 65 74 61 69 6c 73 22 (cdr.candidate)))."View.details"
13c00 29 0a 20 20 20 20 20 20 20 28 22 56 22 20 28 6c 61 6d 62 64 61 20 28 63 61 6e 64 69 64 61 74 65 )........("V".(lambda.(candidate
13c20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 6f 70 65 6e 2d )...............(calibredb-open-
13c40 66 69 6c 65 2d 77 69 74 68 2d 64 65 66 61 75 6c 74 2d 74 6f 6f 6c 20 28 63 64 72 20 63 61 6e 64 file-with-default-tool.(cdr.cand
13c60 69 64 61 74 65 29 29 29 20 22 4f 70 65 6e 20 77 69 74 68 20 64 65 66 61 75 6c 74 20 74 6f 6f 6c idate)))."Open.with.default.tool
13c80 22 29 0a 20 20 20 20 20 20 20 28 22 64 22 20 28 6c 61 6d 62 64 61 20 28 63 61 6e 64 69 64 61 74 ")........("d".(lambda.(candidat
13ca0 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 72 65 6d 6f e)...............(calibredb-remo
13cc0 76 65 20 28 63 64 72 20 63 61 6e 64 69 64 61 74 65 29 29 29 20 22 44 65 6c 65 74 65 20 65 62 6f ve.(cdr.candidate)))."Delete.ebo
13ce0 6f 6b 22 29 0a 20 20 20 20 20 20 20 28 22 74 22 20 28 6c 61 6d 62 64 61 20 28 63 61 6e 64 69 64 ok")........("t".(lambda.(candid
13d00 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 ate)...............(calibredb-se
13d20 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 61 67 73 20 28 63 64 72 20 63 61 6e 64 69 64 61 74 65 29 t-metadata--tags.(cdr.candidate)
13d40 29 29 20 22 54 61 67 20 65 62 6f 6f 6b 22 29 0a 20 20 20 20 20 20 20 28 22 63 22 20 28 6c 61 6d ))."Tag.ebook")........("c".(lam
13d60 62 64 61 20 28 63 61 6e 64 69 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 bda.(candidate)...............(c
13d80 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 63 6f 6d 6d 65 6e 74 73 20 alibredb-set-metadata--comments.
13da0 28 63 64 72 20 63 61 6e 64 69 64 61 74 65 29 29 29 22 43 6f 6d 6d 65 6e 74 20 65 62 6f 6f 6b 22 (cdr.candidate)))"Comment.ebook"
13dc0 29 0a 20 20 20 20 20 20 20 28 22 65 22 20 28 6c 61 6d 62 64 61 20 28 63 61 6e 64 69 64 61 74 65 )........("e".(lambda.(candidate
13de0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72 )...............(calibredb-expor
13e00 74 20 28 63 64 72 20 63 61 6e 64 69 64 61 74 65 29 29 29 20 22 45 78 70 6f 72 74 22 29 0a 20 20 t.(cdr.candidate)))."Export")...
13e20 20 20 20 20 20 28 22 6d 22 20 28 6c 61 6d 62 64 61 20 28 63 61 6e 64 69 64 61 74 65 29 0a 20 20 .....("m".(lambda.(candidate)...
13e40 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 69 6c 2d 61 64 64 2d 61 74 74 61 63 68 6d 65 6e 74 ............(mail-add-attachment
13e60 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 66 69 6c 65 2d 70 61 74 68 20 28 63 64 72 20 63 .(calibredb-get-file-path.(cdr.c
13e80 61 6e 64 69 64 61 74 65 29 20 74 29 29 29 20 22 4d 61 69 6c 20 61 64 64 20 61 74 74 61 63 68 6d andidate).t)))."Mail.add.attachm
13ea0 65 6e 74 22 29 0a 20 20 20 20 20 20 20 28 22 69 22 20 28 6c 61 6d 62 64 61 20 28 63 61 6e 64 69 ent")........("i".(lambda.(candi
13ec0 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 66 65 61 date)...............(unless.(fea
13ee0 74 75 72 65 70 20 27 6f 72 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 turep.'org).................(req
13f00 75 69 72 65 20 27 6f 72 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 66 uire.'org))...............(if.(f
13f20 62 6f 75 6e 64 70 20 27 6f 72 67 2d 69 6e 73 65 72 74 2d 6c 69 6e 6b 29 0a 20 20 20 20 20 20 20 boundp.'org-insert-link)........
13f40 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 69 6e 73 65 72 74 2d 6c 69 6e 6b 20 6e 69 6c 20 ...........(org-insert-link.nil.
13f60 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 66 69 6c 65 2d 70 61 74 68 20 28 63 64 72 20 63 61 (calibredb-get-file-path.(cdr.ca
13f80 6e 64 69 64 61 74 65 29 20 74 29 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 ndidate).t).(calibredb-getattr.(
13fa0 63 64 72 20 63 61 6e 64 69 64 61 74 65 29 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 20 29 29 20 cdr.candidate).:book-title)).)).
13fc0 22 49 6e 73 65 72 74 20 61 6e 20 6f 72 67 20 6c 69 6e 6b 22 29 29 29 29 0a 0a 0a 28 64 65 66 75 "Insert.an.org.link"))))...(defu
13fe0 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 75 6e 73 65 6c 2d 61 64 64 2d 66 69 6c 65 2d 61 63 74 n.calibredb-counsel-add-file-act
14000 69 6f 6e 20 28 61 72 67 20 66 69 6c 65 29 0a 20 20 22 41 64 64 20 6d 61 72 6b 65 64 20 46 49 4c ion.(arg.file)..."Add.marked.FIL
14020 45 73 2e 0a 49 66 20 70 72 65 66 69 78 20 41 52 47 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 6b 65 Es..If.prefix.ARG.is.non-nil,.ke
14040 65 70 20 74 68 65 20 66 69 6c 65 73 20 61 66 74 65 72 20 61 64 64 69 6e 67 20 77 69 74 68 6f 75 ep.the.files.after.adding.withou
14060 74 20 70 72 6f 6d 70 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 t.prompt."...(interactive."P")..
14080 20 28 6c 65 74 20 28 28 6f 75 74 70 75 74 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 61 6e .(let.((output.(calibredb-comman
140a0 64 20 3a 63 6f 6d 6d 61 6e 64 20 22 61 64 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.:command."add"................
140c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 6e 70 75 74 20 28 73 68 65 6c ....................:input.(shel
140e0 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 l-quote-argument.(expand-file-na
14100 6d 65 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 me.file)).......................
14120 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 62 72 61 72 79 20 28 69 66 20 63 61 6c 69 62 72 .............:library.(if.calibr
14140 65 64 62 2d 61 64 64 2d 64 75 70 6c 69 63 61 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 edb-add-duplicate...............
14160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
14180 20 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 20 25 73 20 2d 64 22 ..(format."--library-path.%s.-d"
141a0 20 28 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 2d 71 75 6f 74 65 29 29 0a 20 20 20 .(calibredb-root-dir-quote))....
141c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
141e0 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62 72 61 72 79 2d 70 61 ...........(format."--library-pa
14200 74 68 20 25 73 22 20 28 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 2d 71 75 6f 74 65 th.%s".(calibredb-root-dir-quote
14220 29 29 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 22 41 64 64 )))))).....(if.(s-contains?."Add
14240 65 64 20 62 6f 6f 6b 20 69 64 73 22 20 6f 75 74 70 75 74 29 0a 20 20 20 20 20 20 20 20 28 63 6f ed.book.ids".output).........(co
14260 6e 64 20 28 28 73 74 72 69 6e 67 3d 20 63 61 6c 69 62 72 65 64 62 2d 61 64 64 2d 64 65 6c 65 74 nd.((string=.calibredb-add-delet
14280 65 2d 6f 72 69 67 69 6e 61 6c 2d 66 69 6c 65 20 22 79 65 73 22 29 0a 20 20 20 20 20 20 20 20 20 e-original-file."yes")..........
142a0 20 20 20 20 20 20 28 69 66 20 61 72 67 20 28 6d 65 73 73 61 67 65 20 22 41 64 64 69 6e 67 20 66 ......(if.arg.(message."Adding.f
142c0 69 6c 65 73 20 73 75 63 63 65 65 64 65 64 2c 20 66 69 6c 65 73 20 77 65 72 65 20 6b 65 70 74 2e iles.succeeded,.files.were.kept.
142e0 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 6d ")..................(calibredb-m
14300 6f 76 65 2d 74 6f 2d 74 72 61 73 68 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ove-to-trash.file)))............
14320 20 20 20 28 28 73 74 72 69 6e 67 3d 20 63 61 6c 69 62 72 65 64 62 2d 61 64 64 2d 64 65 6c 65 74 ...((string=.calibredb-add-delet
14340 65 2d 6f 72 69 67 69 6e 61 6c 2d 66 69 6c 65 20 22 6e 6f 22 29 29 0a 20 20 20 20 20 20 20 20 20 e-original-file."no"))..........
14360 20 20 20 20 20 28 74 20 28 75 6e 6c 65 73 73 20 61 72 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 .....(t.(unless.arg.............
14380 20 20 20 20 20 20 20 28 69 66 20 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 0a 20 20 20 20 20 20 20 20 .......(if.(yes-or-no-p.........
143a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 46 69 6c 65 20 68 61 ................(concat."File.ha
143c0 73 20 62 65 65 6e 20 63 6f 70 69 65 64 20 74 6f 20 64 61 74 61 62 61 73 65 2e 20 53 75 62 73 65 s.been.copied.to.database..Subse
143e0 71 75 65 6e 74 6c 79 20 64 65 6c 65 74 65 20 6f 72 69 67 69 6e 61 6c 20 66 69 6c 65 3f 20 22 20 quently.delete.original.file?.".
14400 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 file))........................(c
14420 61 6c 69 62 72 65 64 62 2d 6d 6f 76 65 2d 74 6f 2d 74 72 61 73 68 20 66 69 6c 65 29 29 29 29 29 alibredb-move-to-trash.file)))))
14440 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 41 64 64 69 6e 67 20 62 6f 6f 6b 20 66 61 69 .......(message."Adding.book.fai
14460 6c 65 64 2c 20 70 6c 65 61 73 65 20 61 64 64 20 69 74 20 6d 61 6e 75 61 6c 6c 79 2e 22 29 29 29 led,.please.add.it.manually.")))
14480 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6d 6f 76 65 2d 74 6f 2d 74 72 61 73 )..(defun.calibredb-move-to-tras
144a0 68 20 28 66 69 6c 65 29 0a 20 20 22 4d 6f 76 65 20 74 68 65 20 46 49 4c 45 20 74 6f 20 74 72 61 h.(file)..."Move.the.FILE.to.tra
144c0 73 68 2e 22 0a 20 20 28 6c 65 74 20 28 28 64 65 6c 65 74 65 2d 62 79 2d 6d 6f 76 69 6e 67 2d 74 sh."...(let.((delete-by-moving-t
144e0 6f 2d 74 72 61 73 68 20 74 29 29 0a 20 20 20 20 28 70 63 61 73 65 20 73 79 73 74 65 6d 2d 74 79 o-trash.t)).....(pcase.system-ty
14500 70 65 0a 20 20 20 20 20 20 28 27 77 69 6e 64 6f 77 73 2d 6e 74 0a 20 20 20 20 20 20 20 28 69 66 pe.......('windows-nt........(if
14520 20 28 66 62 6f 75 6e 64 70 20 27 73 79 73 74 65 6d 2d 6d 6f 76 65 2d 66 69 6c 65 2d 74 6f 2d 74 .(fboundp.'system-move-file-to-t
14540 72 61 73 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 79 73 74 65 6d 2d 6d 6f 76 65 2d 66 69 rash)............(system-move-fi
14560 6c 65 2d 74 6f 2d 74 72 61 73 68 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 28 27 67 6e 75 2f le-to-trash.file))).......('gnu/
14580 6c 69 6e 75 78 0a 20 20 20 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6d 6f 76 65 2d linux........(if.(fboundp.'move-
145a0 66 69 6c 65 2d 74 6f 2d 74 72 61 73 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 76 65 2d file-to-trash)............(move-
145c0 66 69 6c 65 2d 74 6f 2d 74 72 61 73 68 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 28 27 64 61 file-to-trash.file))).......('da
145e0 72 77 69 6e 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 72 61 73 68 2d 64 69 72 65 63 74 6f rwin........(let.((trash-directo
14600 72 79 20 22 7e 2f 2e 54 72 61 73 68 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 ry."~/.Trash"))..........(cond.(
14620 28 66 65 61 74 75 72 65 70 20 27 6f 73 78 2d 74 72 61 73 68 29 0a 20 20 20 20 20 20 20 20 20 20 (featurep.'osx-trash)...........
14640 20 20 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6f 73 78 2d 74 72 61 73 68 2d 6d 6f ......(if.(fboundp.'osx-trash-mo
14660 76 65 2d 66 69 6c 65 2d 74 6f 2d 74 72 61 73 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ve-file-to-trash)...............
14680 20 20 20 20 20 20 28 6f 73 78 2d 74 72 61 73 68 2d 6d 6f 76 65 2d 66 69 6c 65 2d 74 6f 2d 74 72 ......(osx-trash-move-file-to-tr
146a0 61 73 68 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 78 65 ash.file)))................((exe
146c0 63 75 74 61 62 6c 65 2d 66 69 6e 64 20 22 74 72 61 73 68 22 29 0a 20 20 20 20 20 20 20 20 20 20 cutable-find."trash")...........
146e0 20 20 20 20 20 20 28 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 22 74 72 61 73 68 22 20 6e 69 6c 20 ......(call-process."trash".nil.
14700 6e 69 6c 20 6e 69 6c 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 nil.nil.file))................(t
14720 20 28 6d 6f 76 65 2d 66 69 6c 65 2d 74 6f 2d 74 72 61 73 68 20 66 69 6c 65 29 29 29 29 29 29 29 .(move-file-to-trash.file)))))))
14740 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 69 76 79 2d 72 65 61 64 20 28 29 0a )..(defun.calibredb-ivy-read.().
14760 20 20 22 49 76 79 20 72 65 61 64 20 66 6f 72 20 63 61 6c 69 62 72 65 64 62 2e 22 0a 20 20 28 69 .."Ivy.read.for.calibredb."...(i
14780 66 20 28 66 62 6f 75 6e 64 70 20 27 69 76 79 2d 72 65 61 64 29 0a 20 20 20 20 20 20 28 6c 65 74 f.(fboundp.'ivy-read).......(let
147a0 20 28 28 63 61 6e 64 20 28 63 61 6c 69 62 72 65 64 62 2d 63 61 6e 64 69 64 61 74 65 73 29 29 29 .((cand.(calibredb-candidates)))
147c0 0a 20 20 20 20 20 20 20 20 28 69 66 20 63 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 .........(if.cand.............(i
147e0 76 79 2d 72 65 61 64 20 22 50 69 63 6b 20 61 20 62 6f 6f 6b 3a 20 22 0a 20 20 20 20 20 20 20 20 vy-read."Pick.a.book:.".........
14800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............cand..............
14820 20 20 20 20 20 20 20 20 20 3a 73 6f 72 74 20 6e 69 6c 20 20 20 20 20 20 20 20 20 3b 20 61 63 74 .........:sort.nil.........;.act
14840 75 61 6c 6c 79 20 73 6f 72 74 20 74 68 65 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ually.sort.them.................
14860 20 20 20 20 20 20 3a 63 61 6c 6c 65 72 20 27 63 61 6c 69 62 72 65 64 62 2d 69 76 79 2d 72 65 61 ......:caller.'calibredb-ivy-rea
14880 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 49 4e 56 41 4c 49 44 20 4c d)...........(message."INVALID.L
148a0 49 42 52 41 52 59 22 29 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 IBRARY")))))..;;;###autoload.(de
148c0 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 6f 75 6e 73 65 6c 20 28 29 0a 20 20 fun.calibredb-find-counsel.()...
148e0 22 55 73 65 20 63 6f 75 6e 73 65 6c 20 74 6f 20 6c 69 73 74 20 61 6c 6c 20 65 62 6f 6f 6b 73 20 "Use.counsel.to.list.all.ebooks.
14900 64 65 74 61 69 6c 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 63 61 6c details."...(interactive)...(cal
14920 69 62 72 65 64 62 2d 69 76 79 2d 72 65 61 64 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 ibredb-ivy-read))..(defun.calibr
14940 65 64 62 2d 72 67 61 20 28 29 0a 20 20 22 53 65 61 72 63 68 20 63 61 6c 69 62 72 65 64 62 20 77 edb-rga.()..."Search.calibredb.w
14960 69 74 68 20 72 67 61 2c 20 75 73 69 6e 67 20 60 63 6f 75 6e 73 65 6c 2d 61 67 27 2e 0a 31 2e 20 ith.rga,.using.`counsel-ag'..1..
14980 49 6e 20 60 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 27 2c 20 73 65 61 72 In.`calibredb-search-mode',.sear
149a0 63 68 20 69 6e 20 74 68 65 0a 60 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 27 2e 0a ch.in.the.`calibredb-root-dir'..
149c0 32 2e 20 49 6e 20 60 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6d 6f 64 65 27 2c 20 73 65 61 2..In.`calibredb-show-mode',.sea
149e0 72 63 68 20 69 6e 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 66 6f 72 6d 61 74 0a rch.in.the.corresponding.format.
14a00 75 6e 64 65 72 20 74 68 65 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 79 2e 0a 33 2e 20 under.the.working.directory..3..
14a20 49 6e 20 60 70 64 66 2d 76 69 65 77 2d 6d 6f 64 65 27 2c 20 73 65 61 72 63 68 20 69 6e 20 50 44 In.`pdf-view-mode',.search.in.PD
14a40 46 20 66 69 6c 65 73 20 75 6e 64 65 72 20 74 68 65 20 77 6f 72 6b 69 6e 67 0a 64 69 72 65 63 74 F.files.under.the.working.direct
14a60 6f 72 79 2e 0a 34 2e 20 49 6e 20 60 6e 6f 76 2d 6d 6f 64 65 27 2c 20 73 65 61 72 63 68 20 69 6e ory..4..In.`nov-mode',.search.in
14a80 20 45 50 55 42 20 66 69 6c 65 73 20 75 6e 64 65 72 20 74 68 65 20 77 6f 72 6b 69 6e 67 0a 64 69 .EPUB.files.under.the.working.di
14aa0 72 65 63 74 6f 72 79 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 73 65 74 rectory."...(interactive)...(set
14ac0 71 2d 6c 6f 63 61 6c 20 63 6f 75 6e 73 65 6c 2d 61 67 2d 62 61 73 65 2d 63 6f 6d 6d 61 6e 64 20 q-local.counsel-ag-base-command.
14ae0 22 72 67 61 20 2d 2d 63 6f 6c 6f 72 20 6e 65 76 65 72 20 2d 2d 6e 6f 2d 68 65 61 64 69 6e 67 20 "rga.--color.never.--no-heading.
14b00 2d 2d 73 6d 61 72 74 2d 63 61 73 65 20 2d 2d 6c 69 6e 65 2d 6e 75 6d 62 65 72 20 2d 2d 77 69 74 --smart-case.--line-number.--wit
14b20 68 2d 66 69 6c 65 6e 61 6d 65 20 25 73 22 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 65 71 20 h-filename.%s")...(cond....((eq.
14b40 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64 major-mode.'calibredb-search-mod
14b60 65 29 0a 20 20 20 20 28 63 6f 75 6e 73 65 6c 2d 61 67 20 6e 69 6c 20 63 61 6c 69 62 72 65 64 62 e).....(counsel-ag.nil.calibredb
14b80 2d 72 6f 6f 74 2d 64 69 72 20 6e 69 6c 20 22 53 65 61 72 63 68 20 43 61 6c 69 62 72 65 64 62 3a -root-dir.nil."Search.Calibredb:
14ba0 20 22 29 29 0a 20 20 20 28 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 ."))....((eq.major-mode.'calibre
14bc0 64 62 2d 73 68 6f 77 2d 6d 6f 64 65 29 0a 20 20 20 20 28 6c 65 74 20 28 28 66 6f 72 6d 61 74 20 db-show-mode).....(let.((format.
14be0 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 63 61 72 20 28 63 61 6c 69 62 72 65 (calibredb-getattr.(car.(calibre
14c00 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 20 3a 62 6f db-find-candidate-at-point)).:bo
14c20 6f 6b 2d 66 6f 72 6d 61 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 61 74 68 20 28 63 61 6c ok-format))...........(path.(cal
14c40 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 ibredb-getattr.(car.(calibredb-f
14c60 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 20 3a 66 69 6c 65 2d 70 ind-candidate-at-point)).:file-p
14c80 61 74 68 29 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 75 61 6c 20 66 6f 72 6d 61 ath))).......(cond.((equal.forma
14ca0 74 20 22 65 70 75 62 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 75 6e 73 65 6c 2d t."epub")..............(counsel-
14cc0 61 67 20 6e 69 6c 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 70 61 74 68 ag.nil.(file-name-directory.path
14ce0 29 20 22 2d 2d 72 67 61 2d 61 64 61 70 74 65 72 73 3d 70 61 6e 64 6f 63 22 20 22 53 65 61 72 63 )."--rga-adapters=pandoc"."Searc
14d00 68 20 45 50 55 42 3a 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 75 61 6c 20 h.EPUB:.")).............((equal.
14d20 66 6f 72 6d 61 74 20 22 70 64 66 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 75 6e format."pdf")..............(coun
14d40 73 65 6c 2d 61 67 20 6e 69 6c 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 sel-ag.nil.(file-name-directory.
14d60 70 61 74 68 29 20 22 2d 2d 72 67 61 2d 61 64 61 70 74 65 72 73 3d 70 6f 70 70 6c 65 72 22 20 22 path)."--rga-adapters=poppler"."
14d80 53 65 61 72 63 68 20 50 44 46 3a 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 Search.PDF:.")).............(t..
14da0 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 75 6e 73 65 6c 2d 61 67 20 6e 69 6c 20 28 66 69 6c ............(counsel-ag.nil.(fil
14dc0 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 70 61 74 68 29 20 6e 69 6c 20 28 63 6f 6e 63 e-name-directory.path).nil.(conc
14de0 61 74 20 22 53 65 61 72 63 68 20 22 20 66 6f 72 6d 61 74 20 22 3a 20 22 29 29 29 29 29 29 0a 20 at."Search.".format.":."))))))..
14e00 20 20 28 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 70 64 66 2d 76 69 65 77 2d 6d 6f 64 65 ..((eq.major-mode.'pdf-view-mode
14e20 29 0a 20 20 20 20 28 63 6f 75 6e 73 65 6c 2d 61 67 20 6e 69 6c 20 6e 69 6c 20 22 2d 2d 72 67 61 ).....(counsel-ag.nil.nil."--rga
14e40 2d 61 64 61 70 74 65 72 73 3d 70 6f 70 70 6c 65 72 22 20 22 53 65 61 72 63 68 20 50 44 46 3a 20 -adapters=poppler"."Search.PDF:.
14e60 22 29 29 0a 20 20 20 28 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 6e 6f 76 2d 6d 6f 64 65 "))....((eq.major-mode.'nov-mode
14e80 29 0a 20 20 20 20 28 63 6f 75 6e 73 65 6c 2d 61 67 20 6e 69 6c 20 6e 69 6c 20 22 2d 2d 72 67 61 ).....(counsel-ag.nil.nil."--rga
14ea0 2d 61 64 61 70 74 65 72 73 3d 70 61 6e 64 6f 63 22 20 22 53 65 61 72 63 68 20 45 50 55 42 3a 20 -adapters=pandoc"."Search.EPUB:.
14ec0 22 29 29 0a 20 20 20 28 74 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 28 63 6f 6e 63 61 74 20 22 "))....(t.....(message.(concat."
14ee0 43 61 6c 69 62 72 65 64 62 2d 63 6f 75 6e 73 65 6c 2d 61 67 20 64 6f 65 73 20 6e 6f 74 20 73 75 Calibredb-counsel-ag.does.not.su
14f00 70 70 6f 72 74 20 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 6d 61 6a 6f 72 2d 6d 6f 64 65 29 pport.".(symbol-name.major-mode)
14f20 29 29 29 29 29 0a 28 70 72 6f 76 69 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 69 76 79 29 0a 0a ))))).(provide.'calibredb-ivy)..
14f40 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 69 76 79 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 ;;;.calibredb-ivy.el.ends.here..
14f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15000 63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37 30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62 calibredb-20250705.225/calibredb
15020 2d 6c 69 62 72 61 72 79 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -library.el.....................
15040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
15080 30 30 32 36 31 36 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 35 34 32 00 20 30 00 00 00 0026165.00000000000.016542..0...
150a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
150c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
150e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
15120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
15140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
151a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
151c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
151e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15200 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2e 65 6c 20 2d 2d 2d 20 4c 69 62 ;;;.calibredb-library.el.---.Lib
15220 72 61 72 79 20 66 6f 72 20 63 61 6c 69 62 72 65 64 62 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 rary.for.calibredb.-*-.lexical-b
15240 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 inding:.t;.-*-..;;.Copyright.(C)
15260 20 32 30 32 30 20 44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 44 61 6d .2020.Damon.Chan..;;.Author:.Dam
15280 6f 6e 20 43 68 61 6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 on.Chan.<elecming@gmail.com>.;;.
152a0 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 65 6e 79 61 6e 6d URL:.https://github.com/chenyanm
152c0 69 6e 67 2f 63 61 6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 74 6f ing/calibredb.el.;;.Keywords:.to
152e0 6f 6c 73 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 4e 4f 54 20 70 61 72 74 20 6f 66 ols..;;.This.file.is.NOT.part.of
15300 20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 .GNU.Emacs...;;.This.program.is.
15320 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 free.software;.you.can.redistrib
15340 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 ute.it.and/or.modify.;;.it.under
15360 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 .the.terms.of.the.GNU.General.Pu
15380 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 blic.License.as.published.by.;;.
153a0 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 the.Free.Software.Foundation,.ei
153c0 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f ther.version.3.of.the.License,.o
153e0 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 r.;;.(at.your.option).any.later.
15400 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 version...;;.This.program.is.dis
15420 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c tributed.in.the.hope.that.it.wil
15440 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 l.be.useful,.;;.but.WITHOUT.ANY.
15460 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 WARRANTY;.without.even.the.impli
15480 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 ed.warranty.of.;;.MERCHANTABILIT
154a0 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 Y.or.FITNESS.FOR.A.PARTICULAR.PU
154c0 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 RPOSE...See.the.;;.GNU.General.P
154e0 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a ublic.License.for.more.details..
15500 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 .;;.You.should.have.received.a.c
15520 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 opy.of.the.GNU.General.Public.Li
15540 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d cense.;;.along.with.this.program
15560 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e ...If.not,.see.<https://www.gnu.
15580 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a org/licenses/>...;;;.Commentary:
155a0 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 ..;;;.Code:..(require.'calibredb
155c0 2d 63 6f 72 65 29 0a 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 -core)..(defvar.calibredb-librar
155e0 79 2d 69 6e 64 65 78 20 30 29 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 y-index.0).(defvar.calibredb-vir
15600 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 69 6e 64 65 78 20 30 29 0a 0a 28 64 65 63 6c 61 72 65 2d tual-library-index.0)..(declare-
15620 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 72 65 66 2d 64 65 66 61 75 6c 74 2d 62 function.calibredb-ref-default-b
15640 69 62 6c 69 6f 67 72 61 70 68 79 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 ibliography."calibredb-utils.el"
15660 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 ).(declare-function.calibredb-se
15680 61 72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d 72 65 73 75 6d 65 20 22 63 61 6c 69 62 72 65 64 arch-refresh-or-resume."calibred
156a0 62 2d 73 65 61 72 63 68 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 b-search.el").(declare-function.
156c0 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6b 65 79 77 6f 72 64 2d 66 69 6c 74 65 72 20 calibredb-search-keyword-filter.
156e0 22 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d "calibredb-search.el").(declare-
15700 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 72 65 71 75 65 73 74 2d function.calibredb-opds-request-
15720 70 61 67 65 20 22 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2e 65 6c 22 29 0a 0a 0a 3b 3b 3b 23 page."calibredb-opds.el")...;;;#
15740 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 77 69 74 ##autoload.(defun.calibredb-swit
15760 63 68 2d 6c 69 62 72 61 72 79 20 28 29 0a 20 20 22 53 77 69 63 68 20 43 61 6c 69 62 72 65 20 4c ch-library.()..."Swich.Calibre.L
15780 69 62 72 61 72 79 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 2a ibrary."...(interactive)...(let*
157a0 20 28 28 72 65 73 75 6c 74 20 28 72 65 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 51 75 69 63 6b .((result.(read-file-name."Quick
157c0 20 73 77 69 74 63 68 20 6c 69 62 72 61 72 79 3a 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 .switch.library:."))..........(d
157e0 62 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 b.(concat.(file-name-as-director
15800 79 20 72 65 73 75 6c 74 29 20 22 6d 65 74 61 64 61 74 61 2e 64 62 22 29 29 29 0a 20 20 20 20 28 y.result)."metadata.db"))).....(
15820 69 66 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 64 62 29 0a 20 20 20 20 20 20 20 20 28 70 if.(file-exists-p.db).........(p
15840 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 72 rogn...........(setq.calibredb-r
15860 6f 6f 74 2d 64 69 72 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 oot-dir.result)...........(calib
15880 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 2d 71 75 6f 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 redb-root-dir-quote)...........(
158a0 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72 20 28 63 6f 6e 63 61 74 20 28 66 setq.calibredb-db-dir.(concat.(f
158c0 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20 63 61 6c 69 62 72 65 64 62 2d ile-name-as-directory.calibredb-
158e0 72 6f 6f 74 2d 64 69 72 29 20 22 6d 65 74 61 64 61 74 61 2e 64 62 22 29 29 0a 20 20 20 20 20 20 root-dir)."metadata.db")).......
15900 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 72 65 66 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c 69 ....(calibredb-ref-default-bibli
15920 6f 67 72 61 70 68 79 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 0a 20 20 ography)...........(when.(and...
15940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 70 20 27 73 71 6c 69 74 ...............(functionp.'sqlit
15960 65 2d 61 76 61 69 6c 61 62 6c 65 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-available-p)..................
15980 28 73 71 6c 69 74 65 2d 61 76 61 69 6c 61 62 6c 65 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 (sqlite-available-p)............
159a0 20 20 20 20 20 20 28 73 71 6c 69 74 65 70 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e ......(sqlitep.calibredb-db-conn
159c0 65 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 27 73 ection)).............(funcall.'s
159e0 71 6c 69 74 65 2d 63 6c 6f 73 65 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74 qlite-close.calibredb-db-connect
15a00 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 ion).............(setq.calibredb
15a20 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 -db-connection.nil))...........(
15a40 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d 72 65 73 75 calibredb-search-refresh-or-resu
15a60 6d 65 29 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 73 20 64 6f 65 73 20 6e 6f 74 me)).......(message."%s.does.not
15a80 20 65 78 69 73 74 73 22 20 64 62 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a .exists".db))))..;;;###autoload.
15aa0 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 6c 69 73 74 20 28 29 (defun.calibredb-library-list.()
15ac0 0a 20 20 22 53 77 69 74 63 68 20 6c 69 62 72 61 72 79 20 66 72 6f 6d 20 76 61 72 69 61 62 6c 65 ..."Switch.library.from.variable
15ae0 20 60 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 27 2e 0a 49 66 20 75 .`calibredb-library-alist'..If.u
15b00 6e 64 65 72 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 20 62 75 66 66 65 72 2c 20 nder.*calibredb-search*.buffer,.
15b20 69 74 20 77 69 6c 6c 20 61 75 74 6f 20 72 65 66 72 65 73 68 20 61 66 74 65 72 0a 73 65 6c 65 63 it.will.auto.refresh.after.selec
15b40 74 69 6e 67 20 74 68 65 20 6e 65 77 20 69 74 65 6d 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 ting.the.new.item."...(interacti
15b60 76 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 72 65 73 75 6c 74 20 28 6c 65 74 2a 20 28 28 6f 70 74 ve)...(let*.((result.(let*.((opt
15b80 69 6f 6e 73 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 0a 20 20 20 20 20 20 20 ions.(mapcar.(lambda.(x)........
15ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
15bc0 20 20 20 20 28 69 66 20 28 61 6c 69 73 74 2d 67 65 74 20 27 6e 61 6d 65 20 28 63 64 72 20 78 29 ....(if.(alist-get.'name.(cdr.x)
15be0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
15c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6c 69 73 74 2d 67 65 74 20 27 6e 61 6d .................(alist-get.'nam
15c20 65 20 28 63 64 72 20 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.(cdr.x))......................
15c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 72 20 78 29 29 ........................(car.x))
15c60 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
15c80 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 61 6c 69 ...........calibredb-library-ali
15ca0 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 st)).........................(se
15cc0 6c 65 63 74 65 64 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 51 75 69 63 6b 20 73 lected.(completing-read."Quick.s
15ce0 77 69 74 63 68 20 6c 69 62 72 61 72 79 3a 20 22 20 6f 70 74 69 6f 6e 73 20 6e 69 6c 20 74 29 29 witch.library:.".options.nil.t))
15d00 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 63 61 72 20 28 73 )....................(or.(car.(s
15d20 65 71 2d 66 69 6e 64 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 65 71 75 61 6c 20 28 61 6c 69 73 eq-find.(lambda.(x).(equal.(alis
15d40 74 2d 67 65 74 20 27 6e 61 6d 65 20 28 63 64 72 20 78 29 29 20 73 65 6c 65 63 74 65 64 29 29 20 t-get.'name.(cdr.x)).selected)).
15d60 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 0a 20 20 20 20 20 20 calibredb-library-alist)).......
15d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 65 64 29 29 29 0a 20 20 20 .................selected)))....
15da0 20 20 20 20 20 20 28 72 65 6d 61 69 6e 69 6e 67 20 28 63 64 72 20 28 2d 66 69 72 73 74 20 28 6c ......(remaining.(cdr.(-first.(l
15dc0 61 6d 62 64 61 20 28 6c 69 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ambda.(lib).....................
15de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 28 63 61 72 ...............(s-contains?.(car
15e00 20 6c 69 62 29 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .lib).result))..................
15e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 ................calibredb-librar
15e40 79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 69 62 72 61 72 79 2d 6e 61 6d y-alist)))..........(library-nam
15e60 65 20 28 6f 72 20 28 61 73 73 6f 63 2d 64 65 66 61 75 6c 74 20 27 6e 61 6d 65 20 72 65 6d 61 69 e.(or.(assoc-default.'name.remai
15e80 6e 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ning)...........................
15ea0 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 64 65 66 61 75 .calibredb-virtual-library-defau
15ec0 6c 74 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 62 20 28 63 6f 6e 63 61 74 20 28 lt-name))..........(db.(concat.(
15ee0 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20 72 65 73 75 6c 74 29 20 22 file-name-as-directory.result)."
15f00 6d 65 74 61 64 61 74 61 2e 64 62 22 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 metadata.db"))).....(setq.calibr
15f20 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 64 65 66 61 75 6c 74 2d 6e 61 6d 65 edb-virtual-library-default-name
15f40 20 6c 69 62 72 61 72 79 2d 6e 61 6d 65 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 .library-name).....(setq.calibre
15f60 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6e 61 6d 65 20 63 61 6c 69 62 72 65 64 db-virtual-library-name.calibred
15f80 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 64 65 66 61 75 6c 74 2d 6e 61 6d 65 29 0a b-virtual-library-default-name).
15fa0 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 70 72 65 66 69 78 2d 70 ....(cond......((string-prefix-p
15fc0 20 22 68 74 74 70 22 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 69 62 ."http".result).......(let.((lib
15fe0 72 61 72 79 20 28 2d 66 69 72 73 74 20 28 6c 61 6d 62 64 61 20 28 6c 69 62 29 0a 20 20 20 20 20 rary.(-first.(lambda.(lib)......
16000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 2d 63 6f 6e ..........................(s-con
16020 74 61 69 6e 73 3f 20 28 63 61 72 20 6c 69 62 29 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 20 20 tains?.(car.lib).result)).......
16040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 .......................calibredb
16060 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 -library-alist))).........(setq.
16080 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 20 28 63 61 72 20 6c 69 62 72 61 72 79 29 calibredb-root-dir.(car.library)
160a0 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 72 65 71 75 65 73 ).........(calibredb-opds-reques
160c0 74 2d 70 61 67 65 20 72 65 73 75 6c 74 20 28 61 73 73 6f 63 2d 64 65 66 61 75 6c 74 20 27 61 63 t-page.result.(assoc-default.'ac
160e0 63 6f 75 6e 74 20 72 65 6d 61 69 6e 69 6e 67 29 20 28 61 73 73 6f 63 2d 64 65 66 61 75 6c 74 20 count.remaining).(assoc-default.
16100 27 70 61 73 73 77 6f 72 64 20 72 65 6d 61 69 6e 69 6e 67 29 29 29 29 0a 20 20 20 20 20 28 28 66 'password.remaining))))......((f
16120 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 64 62 29 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 ile-exists-p.db).......(progn...
16140 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 20 72 ......(setq.calibredb-root-dir.r
16160 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 esult).........(calibredb-root-d
16180 69 72 2d 71 75 6f 74 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 ir-quote).........(setq.calibred
161a0 62 2d 64 62 2d 64 69 72 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 b-db-dir.(concat.(file-name-as-d
161c0 69 72 65 63 74 6f 72 79 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 20 22 6d 65 irectory.calibredb-root-dir)."me
161e0 74 61 64 61 74 61 2e 64 62 22 29 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d tadata.db")).........(calibredb-
16200 72 65 66 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c 69 6f 67 72 61 70 68 79 29 0a 20 20 20 20 20 20 ref-default-bibliography).......
16220 20 20 28 77 68 65 6e 20 28 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e ..(when.(and................(fun
16240 63 74 69 6f 6e 70 20 27 73 71 6c 69 74 65 2d 61 76 61 69 6c 61 62 6c 65 2d 70 29 0a 20 20 20 20 ctionp.'sqlite-available-p).....
16260 20 20 20 20 20 20 20 20 20 20 20 28 73 71 6c 69 74 65 2d 61 76 61 69 6c 61 62 6c 65 2d 70 29 0a ...........(sqlite-available-p).
16280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 71 6c 69 74 65 70 20 63 61 6c 69 62 72 65 64 ...............(sqlitep.calibred
162a0 62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e b-db-connection))...........(fun
162c0 63 61 6c 6c 20 27 73 71 6c 69 74 65 2d 63 6c 6f 73 65 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d call.'sqlite-close.calibredb-db-
162e0 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 connection)...........(setq.cali
16300 62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 bredb-db-connection.nil)).......
16320 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d 72 ..(calibredb-search-refresh-or-r
16340 65 73 75 6d 65 29 29 29 0a 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 69 esume)))......(t.......(let.((li
16360 62 72 61 72 79 20 28 2d 66 69 72 73 74 20 28 6c 61 6d 62 64 61 20 28 6c 69 62 29 0a 20 20 20 20 brary.(-first.(lambda.(lib).....
16380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 2d 63 6f ...........................(s-co
163a0 6e 74 61 69 6e 73 3f 20 28 63 61 72 20 6c 69 62 29 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 20 ntains?.(car.lib).result))......
163c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 ........................calibred
163e0 62 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 b-library-alist))).........(setq
16400 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 20 28 63 61 72 20 6c 69 62 72 61 72 79 .calibredb-root-dir.(car.library
16420 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 )).........(setq.calibredb-db-di
16440 72 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 2e 6d 65 74 61 64 61 74 61 2e 63 r.(expand-file-name.".metadata.c
16460 61 6c 69 62 72 65 22 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 29 0a 20 20 20 alibre".calibredb-root-dir))....
16480 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 62 75 .....(calibredb-search-update-bu
164a0 66 66 65 72 20 3a 66 6f 6c 64 65 72 20 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c ffer.:folder.t))))))..(defun.cal
164c0 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 70 72 65 76 69 6f 75 73 20 28 29 0a 20 20 22 4e 65 ibredb-library-previous.()..."Ne
164e0 78 74 20 6c 69 62 72 61 72 79 20 66 72 6f 6d 20 76 61 72 69 61 62 6c 65 20 60 63 61 6c 69 62 72 xt.library.from.variable.`calibr
16500 65 64 62 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 27 2e 0a 49 66 20 75 6e 64 65 72 20 2a 63 61 edb-library-alist'..If.under.*ca
16520 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 20 62 75 66 66 65 72 2c 20 69 74 20 77 69 6c 6c 20 libredb-search*.buffer,.it.will.
16540 61 75 74 6f 20 72 65 66 72 65 73 68 20 61 66 74 65 72 0a 73 65 6c 65 63 74 69 6e 67 20 74 68 65 auto.refresh.after.selecting.the
16560 20 6e 65 77 20 69 74 65 6d 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c .new.item."...(interactive)...(l
16580 65 74 2a 20 28 28 69 6e 64 65 78 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 et*.((index.(setq.calibredb-libr
165a0 61 72 79 2d 69 6e 64 65 78 20 28 69 66 20 28 3e 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 ary-index.(if.(>.calibredb-libra
165c0 72 79 2d 69 6e 64 65 78 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ry-index.0).....................
165e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 ..............................(1
16600 2d 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 -.calibredb-library-index)......
16620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
16640 20 20 20 20 20 20 20 20 20 20 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 63 61 6c 69 62 72 65 64 62 ...........(1-.(length.calibredb
16660 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 -library-alist)))))..........(re
16680 73 75 6c 74 20 28 63 61 72 20 28 6e 74 68 20 69 6e 64 65 78 20 63 61 6c 69 62 72 65 64 62 2d 6c sult.(car.(nth.index.calibredb-l
166a0 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 6d 61 69 6e ibrary-alist)))..........(remain
166c0 69 6e 67 20 28 63 64 72 20 28 6e 74 68 20 69 6e 64 65 78 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 ing.(cdr.(nth.index.calibredb-li
166e0 62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 69 62 72 61 72 79 brary-alist)))..........(library
16700 2d 6e 61 6d 65 20 28 6f 72 20 28 61 73 73 6f 63 2d 64 65 66 61 75 6c 74 20 27 6e 61 6d 65 20 72 -name.(or.(assoc-default.'name.r
16720 65 6d 61 69 6e 69 6e 67 29 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 emaining).calibredb-virtual-libr
16740 61 72 79 2d 64 65 66 61 75 6c 74 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 62 20 ary-default-name))..........(db.
16760 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20 (concat.(file-name-as-directory.
16780 72 65 73 75 6c 74 29 20 22 6d 65 74 61 64 61 74 61 2e 64 62 22 29 29 29 0a 20 20 20 20 28 73 65 result)."metadata.db"))).....(se
167a0 74 71 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 64 65 66 tq.calibredb-virtual-library-def
167c0 61 75 6c 74 2d 6e 61 6d 65 20 6c 69 62 72 61 72 79 2d 6e 61 6d 65 29 0a 20 20 20 20 28 73 65 74 ault-name.library-name).....(set
167e0 71 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6e 61 6d 65 q.calibredb-virtual-library-name
16800 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 64 65 66 61 75 .calibredb-virtual-library-defau
16820 6c 74 2d 6e 61 6d 65 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 73 74 72 69 6e 67 lt-name).....(cond......((string
16840 2d 70 72 65 66 69 78 2d 70 20 22 68 74 74 70 22 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 28 -prefix-p."http".result).......(
16860 6c 65 74 20 28 28 6c 69 62 72 61 72 79 20 28 2d 66 69 72 73 74 20 28 6c 61 6d 62 64 61 20 28 6c let.((library.(-first.(lambda.(l
16880 69 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ib).............................
168a0 20 20 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 28 63 61 72 20 6c 69 62 29 20 72 65 73 75 6c 74 ...(s-contains?.(car.lib).result
168c0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))..............................
168e0 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 calibredb-library-alist)))......
16900 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 20 28 63 61 72 ...(setq.calibredb-root-dir.(car
16920 20 6c 69 62 72 61 72 79 29 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 6f 70 .library)).........(calibredb-op
16940 64 73 2d 72 65 71 75 65 73 74 2d 70 61 67 65 20 72 65 73 75 6c 74 20 28 61 73 73 6f 63 2d 64 65 ds-request-page.result.(assoc-de
16960 66 61 75 6c 74 20 27 61 63 63 6f 75 6e 74 20 72 65 6d 61 69 6e 69 6e 67 29 20 28 61 73 73 6f 63 fault.'account.remaining).(assoc
16980 2d 64 65 66 61 75 6c 74 20 27 70 61 73 73 77 6f 72 64 20 72 65 6d 61 69 6e 69 6e 67 29 29 29 29 -default.'password.remaining))))
169a0 0a 20 20 20 20 20 28 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 64 62 29 0a 20 20 20 20 20 20 ......((file-exists-p.db).......
169c0 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 72 (progn.........(setq.calibredb-r
169e0 6f 6f 74 2d 64 69 72 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 oot-dir.result).........(calibre
16a00 64 62 2d 72 6f 6f 74 2d 64 69 72 2d 71 75 6f 74 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 db-root-dir-quote).........(setq
16a20 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d .calibredb-db-dir.(concat.(file-
16a40 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 name-as-directory.calibredb-root
16a60 2d 64 69 72 29 20 22 6d 65 74 61 64 61 74 61 2e 64 62 22 29 29 0a 20 20 20 20 20 20 20 20 28 63 -dir)."metadata.db")).........(c
16a80 61 6c 69 62 72 65 64 62 2d 72 65 66 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c 69 6f 67 72 61 70 68 alibredb-ref-default-bibliograph
16aa0 79 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 y).........(when.(and...........
16ac0 20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 70 20 27 73 71 6c 69 74 65 2d 61 76 61 69 6c 61 62 6c .....(functionp.'sqlite-availabl
16ae0 65 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 71 6c 69 74 65 2d 61 76 61 69 e-p)................(sqlite-avai
16b00 6c 61 62 6c 65 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 71 6c 69 74 65 70 lable-p)................(sqlitep
16b20 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 .calibredb-db-connection))......
16b40 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 27 73 71 6c 69 74 65 2d 63 6c 6f 73 65 20 63 61 6c 69 .....(funcall.'sqlite-close.cali
16b60 62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 bredb-db-connection)...........(
16b80 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 6e 69 6c setq.calibredb-db-connection.nil
16ba0 29 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 )).........(calibredb-search-ref
16bc0 72 65 73 68 2d 6f 72 2d 72 65 73 75 6d 65 29 29 29 0a 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 resh-or-resume)))......(t.......
16be0 28 6c 65 74 20 28 28 6c 69 62 72 61 72 79 20 28 2d 66 69 72 73 74 20 28 6c 61 6d 62 64 61 20 28 (let.((library.(-first.(lambda.(
16c00 6c 69 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lib)............................
16c20 20 20 20 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 28 63 61 72 20 6c 69 62 29 20 72 65 73 75 6c ....(s-contains?.(car.lib).resul
16c40 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t)).............................
16c60 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 .calibredb-library-alist))).....
16c80 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 20 28 63 61 ....(setq.calibredb-root-dir.(ca
16ca0 72 20 6c 69 62 72 61 72 79 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 r.library)).........(setq.calibr
16cc0 65 64 62 2d 64 62 2d 64 69 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 edb-db-dir.nil).........(calibre
16ce0 64 62 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 62 75 66 66 65 72 20 3a 66 6f 6c 64 65 72 20 db-search-update-buffer.:folder.
16d00 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 t))))))..(defun.calibredb-librar
16d20 79 2d 6e 65 78 74 20 28 29 0a 20 20 22 4e 65 78 74 20 6c 69 62 72 61 72 79 20 66 72 6f 6d 20 76 y-next.()..."Next.library.from.v
16d40 61 72 69 61 62 6c 65 20 60 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 ariable.`calibredb-library-alist
16d60 27 2e 0a 49 66 20 75 6e 64 65 72 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 20 62 '..If.under.*calibredb-search*.b
16d80 75 66 66 65 72 2c 20 69 74 20 77 69 6c 6c 20 61 75 74 6f 20 72 65 66 72 65 73 68 20 61 66 74 65 uffer,.it.will.auto.refresh.afte
16da0 72 0a 73 65 6c 65 63 74 69 6e 67 20 74 68 65 20 6e 65 77 20 69 74 65 6d 2e 22 0a 20 20 28 69 6e r.selecting.the.new.item."...(in
16dc0 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 69 6e 64 65 78 20 28 73 65 74 71 teractive)...(let*.((index.(setq
16de0 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 69 6e 64 65 78 20 28 69 66 20 28 3c 20 .calibredb-library-index.(if.(<.
16e00 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 69 6e 64 65 78 20 28 31 2d 20 28 6c 65 6e calibredb-library-index.(1-.(len
16e20 67 74 68 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20 gth.calibredb-library-alist)))..
16e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
16e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 63 61 6c 69 62 72 65 64 62 2d 6c .................(1+.calibredb-l
16e80 69 62 72 61 72 79 2d 69 6e 64 65 78 29 20 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 73 ibrary-index).0)))..........(res
16ea0 75 6c 74 20 28 63 61 72 20 28 6e 74 68 20 69 6e 64 65 78 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 ult.(car.(nth.index.calibredb-li
16ec0 62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 6d 61 69 6e 69 brary-alist)))..........(remaini
16ee0 6e 67 20 28 63 64 72 20 28 6e 74 68 20 69 6e 64 65 78 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 ng.(cdr.(nth.index.calibredb-lib
16f00 72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 69 62 72 61 72 79 2d rary-alist)))..........(library-
16f20 6e 61 6d 65 20 28 6f 72 20 28 61 73 73 6f 63 2d 64 65 66 61 75 6c 74 20 27 6e 61 6d 65 20 20 72 name.(or.(assoc-default.'name..r
16f40 65 6d 61 69 6e 69 6e 67 29 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 emaining).calibredb-virtual-libr
16f60 61 72 79 2d 64 65 66 61 75 6c 74 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 62 20 ary-default-name))..........(db.
16f80 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20 (concat.(file-name-as-directory.
16fa0 72 65 73 75 6c 74 29 20 22 6d 65 74 61 64 61 74 61 2e 64 62 22 29 29 29 0a 20 20 20 20 28 73 65 result)."metadata.db"))).....(se
16fc0 74 71 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 64 65 66 tq.calibredb-virtual-library-def
16fe0 61 75 6c 74 2d 6e 61 6d 65 20 6c 69 62 72 61 72 79 2d 6e 61 6d 65 29 0a 20 20 20 20 28 73 65 74 ault-name.library-name).....(set
17000 71 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6e 61 6d 65 q.calibredb-virtual-library-name
17020 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 64 65 66 61 75 .calibredb-virtual-library-defau
17040 6c 74 2d 6e 61 6d 65 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 73 74 72 69 6e 67 lt-name).....(cond......((string
17060 2d 70 72 65 66 69 78 2d 70 20 22 68 74 74 70 22 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 28 -prefix-p."http".result).......(
17080 6c 65 74 20 28 28 6c 69 62 72 61 72 79 20 28 2d 66 69 72 73 74 20 28 6c 61 6d 62 64 61 20 28 6c let.((library.(-first.(lambda.(l
170a0 69 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ib).............................
170c0 20 20 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 28 63 61 72 20 6c 69 62 29 20 72 65 73 75 6c 74 ...(s-contains?.(car.lib).result
170e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))..............................
17100 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 calibredb-library-alist)))......
17120 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 20 28 63 61 72 ...(setq.calibredb-root-dir.(car
17140 20 6c 69 62 72 61 72 79 29 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 6f 70 .library)).........(calibredb-op
17160 64 73 2d 72 65 71 75 65 73 74 2d 70 61 67 65 20 72 65 73 75 6c 74 20 28 61 73 73 6f 63 2d 64 65 ds-request-page.result.(assoc-de
17180 66 61 75 6c 74 20 27 61 63 63 6f 75 6e 74 20 72 65 6d 61 69 6e 69 6e 67 29 20 28 61 73 73 6f 63 fault.'account.remaining).(assoc
171a0 2d 64 65 66 61 75 6c 74 20 27 70 61 73 73 77 6f 72 64 20 72 65 6d 61 69 6e 69 6e 67 29 29 29 29 -default.'password.remaining))))
171c0 0a 20 20 20 20 20 28 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 64 62 29 0a 20 20 20 20 20 20 ......((file-exists-p.db).......
171e0 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 72 (progn.........(setq.calibredb-r
17200 6f 6f 74 2d 64 69 72 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 oot-dir.result).........(calibre
17220 64 62 2d 72 6f 6f 74 2d 64 69 72 2d 71 75 6f 74 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 db-root-dir-quote).........(setq
17240 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d .calibredb-db-dir.(concat.(file-
17260 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 name-as-directory.calibredb-root
17280 2d 64 69 72 29 20 22 6d 65 74 61 64 61 74 61 2e 64 62 22 29 29 0a 20 20 20 20 20 20 20 20 28 63 -dir)."metadata.db")).........(c
172a0 61 6c 69 62 72 65 64 62 2d 72 65 66 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c 69 6f 67 72 61 70 68 alibredb-ref-default-bibliograph
172c0 79 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 y).........(when.(and...........
172e0 20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 70 20 27 73 71 6c 69 74 65 2d 61 76 61 69 6c 61 62 6c .....(functionp.'sqlite-availabl
17300 65 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 71 6c 69 74 65 2d 61 76 61 69 e-p)................(sqlite-avai
17320 6c 61 62 6c 65 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 71 6c 69 74 65 70 lable-p)................(sqlitep
17340 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 .calibredb-db-connection))......
17360 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 27 73 71 6c 69 74 65 2d 63 6c 6f 73 65 20 63 61 6c 69 .....(funcall.'sqlite-close.cali
17380 62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 bredb-db-connection)...........(
173a0 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 6e 69 6c setq.calibredb-db-connection.nil
173c0 29 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 )).........(calibredb-search-ref
173e0 72 65 73 68 2d 6f 72 2d 72 65 73 75 6d 65 29 29 29 0a 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 resh-or-resume)))......(t.......
17400 28 6c 65 74 20 28 28 6c 69 62 72 61 72 79 20 28 2d 66 69 72 73 74 20 28 6c 61 6d 62 64 61 20 28 (let.((library.(-first.(lambda.(
17420 6c 69 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lib)............................
17440 20 20 20 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 28 63 61 72 20 6c 69 62 29 20 72 65 73 75 6c ....(s-contains?.(car.lib).resul
17460 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t)).............................
17480 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 .calibredb-library-alist))).....
174a0 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 20 28 63 61 ....(setq.calibredb-root-dir.(ca
174c0 72 20 6c 69 62 72 61 72 79 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 r.library)).........(setq.calibr
174e0 65 64 62 2d 64 62 2d 64 69 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 edb-db-dir.nil).........(calibre
17500 64 62 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 62 75 66 66 65 72 20 3a 66 6f 6c 64 65 72 20 db-search-update-buffer.:folder.
17520 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 t))))))..(defun.calibredb-virtua
17540 6c 2d 6c 69 62 72 61 72 79 2d 66 69 6c 74 65 72 20 28 6b 65 79 77 6f 72 64 29 0a 20 20 22 46 69 l-library-filter.(keyword)..."Fi
17560 6c 74 65 72 20 74 68 65 20 76 69 72 74 75 61 6c 20 6c 69 62 72 61 72 79 20 62 61 73 65 64 20 6f lter.the.virtual.library.based.o
17580 6e 20 4b 45 59 57 4f 52 44 2e 22 0a 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 76 69 n.KEYWORD."...(setq.calibredb-vi
175a0 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6e 61 6d 65 20 28 66 6f 72 6d 61 74 20 22 25 73 20 28 rtual-library-name.(format."%s.(
175c0 25 73 29 22 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 64 %s)".calibredb-virtual-library-d
175e0 65 66 61 75 6c 74 2d 6e 61 6d 65 20 6b 65 79 77 6f 72 64 29 29 20 3b 20 73 65 74 20 63 61 6c 69 efault-name.keyword)).;.set.cali
17600 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6e 61 6d 65 0a 20 20 28 73 65 bredb-virtual-library-name...(se
17620 74 71 20 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 tq.calibredb-tag-filter-p.nil)..
17640 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d 66 69 6c 74 65 72 .(setq.calibredb-favorite-filter
17660 2d 70 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 -p.nil)...(setq.calibredb-author
17680 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 -filter-p.nil)...(setq.calibredb
176a0 2d 64 61 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 20 63 61 6c 69 -date-filter-p.nil)...(setq.cali
176c0 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 28 63 61 bredb-format-filter-p.nil)...(ca
176e0 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6b 65 79 77 6f 72 64 2d 66 69 6c 74 65 72 0a 20 20 libredb-search-keyword-filter...
17700 20 28 63 64 72 20 28 61 73 73 6f 63 20 6b 65 79 77 6f 72 64 20 63 61 6c 69 62 72 65 64 62 2d 76 .(cdr.(assoc.keyword.calibredb-v
17720 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20 20 28 63 61 6c 69 62 irtual-library-alist)))...(calib
17740 72 65 64 62 2d 73 65 61 72 63 68 2d 68 65 61 64 65 72 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c redb-search-header))..(defun.cal
17760 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6c 69 73 74 20 28 29 0a 20 ibredb-virtual-library-list.()..
17780 20 22 4c 69 73 74 20 61 6c 6c 20 76 69 72 74 75 61 6c 20 6c 69 62 72 61 72 69 65 73 2e 22 0a 20 ."List.all.virtual.libraries."..
177a0 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 69 66 20 28 65 71 20 28 6c 65 6e 67 74 68 .(interactive)...(if.(eq.(length
177c0 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 .calibredb-virtual-library-alist
177e0 29 20 30 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 4e 6f 20 76 69 72 74 75 61 6c 20 ).0).......(message."No.virtual.
17800 6c 69 62 72 61 72 69 65 73 2e 20 53 65 74 20 60 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 libraries..Set.`calibredb-virtua
17820 6c 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 27 20 77 69 74 68 20 27 28 28 6e 61 6d 65 20 2e 20 l-library-alist'.with.'((name...
17840 6b 65 79 77 6f 72 64 73 29 29 2e 22 20 29 0a 20 20 20 20 28 6c 65 74 20 28 28 6b 65 79 77 6f 72 keywords)).".).....(let.((keywor
17860 64 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 53 77 69 74 63 68 20 56 69 72 75 74 d.(completing-read."Switch.Virut
17880 61 6c 20 4c 69 62 72 61 72 79 3a 20 22 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d al.Library:.".calibredb-virtual-
178a0 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 library-alist))).......(calibred
178c0 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 66 69 6c 74 65 72 20 6b 65 79 77 6f 72 64 b-virtual-library-filter.keyword
178e0 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 6b 65 79 77 6f 72 64 29 29 29 29 0a 0a 28 64 ).......(message.keyword))))..(d
17900 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6e efun.calibredb-virtual-library-n
17920 65 78 74 20 28 29 0a 20 20 22 53 77 69 74 68 20 74 6f 20 6e 65 78 74 20 76 69 72 74 75 61 6c 20 ext.()..."Swith.to.next.virtual.
17940 6c 69 62 72 61 72 79 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 69 66 20 library."...(interactive)...(if.
17960 28 65 71 20 28 6c 65 6e 67 74 68 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 (eq.(length.calibredb-virtual-li
17980 62 72 61 72 79 2d 61 6c 69 73 74 29 20 30 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 brary-alist).0).......(message."
179a0 4e 6f 20 76 69 72 74 75 61 6c 20 6c 69 62 72 61 72 69 65 73 2e 20 53 65 74 20 60 63 61 6c 69 62 No.virtual.libraries..Set.`calib
179c0 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 27 20 77 69 74 68 redb-virtual-library-alist'.with
179e0 20 27 28 28 6e 61 6d 65 20 2e 20 6b 65 79 77 6f 72 64 73 29 29 2e 22 20 29 0a 20 20 20 20 20 20 .'((name...keywords)).".).......
17a00 28 6c 65 74 2a 20 28 28 69 6e 64 65 78 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 76 69 (let*.((index.(setq.calibredb-vi
17a20 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 69 6e 64 65 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 rtual-library-index.............
17a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 20 63 61 6c 69 62 72 65 64 62 2d 76 ..............(if.(<.calibredb-v
17a60 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 69 6e 64 65 78 20 28 31 2d 20 28 6c 65 6e 67 74 68 irtual-library-index.(1-.(length
17a80 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 .calibredb-virtual-library-alist
17aa0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))).............................
17ac0 20 20 28 31 2b 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d ..(1+.calibredb-virtual-library-
17ae0 69 6e 64 65 78 29 20 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 65 79 77 6f 72 index).0)))..............(keywor
17b00 64 20 28 63 61 72 20 28 6e 74 68 20 69 6e 64 65 78 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 d.(car.(nth.index.calibredb-virt
17b20 75 61 6c 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 ual-library-alist)))).........(c
17b40 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 66 69 6c 74 65 72 20 alibredb-virtual-library-filter.
17b60 6b 65 79 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 6b 65 79 77 6f 72 keyword).........(message.keywor
17b80 64 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d d))))..(defun.calibredb-virtual-
17ba0 6c 69 62 72 61 72 79 2d 70 72 65 76 69 6f 75 73 20 28 29 0a 20 20 22 53 77 69 74 68 20 74 6f 20 library-previous.()..."Swith.to.
17bc0 70 72 65 76 69 6f 75 73 20 76 69 72 74 75 61 6c 20 6c 69 62 72 61 72 79 2e 22 0a 20 20 28 69 6e previous.virtual.library."...(in
17be0 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 69 66 20 28 65 71 20 28 6c 65 6e 67 74 68 20 63 61 6c teractive)...(if.(eq.(length.cal
17c00 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 20 30 29 ibredb-virtual-library-alist).0)
17c20 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 4e 6f 20 76 69 72 74 75 61 6c 20 6c 69 62 72 .......(message."No.virtual.libr
17c40 61 72 69 65 73 2e 20 53 65 74 20 60 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 aries..Set.`calibredb-virtual-li
17c60 62 72 61 72 79 2d 61 6c 69 73 74 27 20 77 69 74 68 20 27 28 28 6e 61 6d 65 20 2e 20 6b 65 79 77 brary-alist'.with.'((name...keyw
17c80 6f 72 64 73 29 29 2e 22 20 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 6e 64 65 78 20 28 ords)).".).......(let*.((index.(
17ca0 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 69 setq.calibredb-virtual-library-i
17cc0 6e 64 65 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ndex...........................(
17ce0 69 66 20 28 3e 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d if.(>.calibredb-virtual-library-
17d00 69 6e 64 65 78 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 index.0)........................
17d20 20 20 20 20 20 20 20 28 31 2d 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 .......(1-.calibredb-virtual-lib
17d40 72 61 72 79 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rary-index).....................
17d60 20 20 20 20 20 20 20 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 63 61 6c 69 62 72 65 64 62 2d 76 69 ........(1-.(length.calibredb-vi
17d80 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 29 29 0a 20 20 20 20 20 20 20 rtual-library-alist)))))........
17da0 20 20 20 20 20 20 28 6b 65 79 77 6f 72 64 20 28 63 61 72 20 28 6e 74 68 20 69 6e 64 65 78 20 63 ......(keyword.(car.(nth.index.c
17dc0 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 alibredb-virtual-library-alist))
17de0 29 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 )).........(calibredb-virtual-li
17e00 62 72 61 72 79 2d 66 69 6c 74 65 72 20 6b 65 79 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 28 6d brary-filter.keyword).........(m
17e20 65 73 73 61 67 65 20 6b 65 79 77 6f 72 64 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 63 61 essage.keyword))))..(provide.'ca
17e40 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 29 0a 0a 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d libredb-library)..;;;.calibredb-
17e60 6c 69 62 72 61 72 79 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 library.el.ends.here............
17e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18000 63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37 30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62 calibredb-20250705.225/calibredb
18020 2d 6f 70 64 73 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -opds.el........................
18040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
18080 30 30 32 36 32 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 30 33 31 00 20 30 00 00 00 0026200.00000000000.016031..0...
180a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
180c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
180e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
18120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
18140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
181a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
181c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
181e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18200 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2e 65 6c 20 2d 2d 2d 20 6f 70 64 73 20 66 ;;;.calibredb-opds.el.---.opds.f
18220 6f 72 20 63 61 6c 69 62 72 65 64 62 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 or.calibredb.-*-.lexical-binding
18240 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 32 30 20 :.t;.-*-..;;.Copyright.(C).2020.
18260 44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 44 61 6d 6f 6e 20 43 68 61 Damon.Chan..;;.Author:.Damon.Cha
18280 6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a 20 68 n.<elecming@gmail.com>.;;.URL:.h
182a0 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 65 6e 79 61 6e 6d 69 6e 67 2f 63 61 ttps://github.com/chenyanming/ca
182c0 6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 74 6f 6f 6c 73 0a 0a 3b libredb.el.;;.Keywords:.tools..;
182e0 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 4e 4f 54 20 70 61 72 74 20 6f 66 20 47 4e 55 20 45 ;.This.file.is.NOT.part.of.GNU.E
18300 6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 macs...;;.This.program.is.free.s
18320 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 oftware;.you.can.redistribute.it
18340 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 .and/or.modify.;;.it.under.the.t
18360 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c erms.of.the.GNU.General.Public.L
18380 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 icense.as.published.by.;;.the.Fr
183a0 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 ee.Software.Foundation,.either.v
183c0 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 ersion.3.of.the.License,.or.;;.(
183e0 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f at.your.option).any.later.versio
18400 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 n...;;.This.program.is.distribut
18420 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 ed.in.the.hope.that.it.will.be.u
18440 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e seful,.;;.but.WITHOUT.ANY.WARRAN
18460 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 TY;.without.even.the.implied.war
18480 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 ranty.of.;;.MERCHANTABILITY.or.F
184a0 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e ITNESS.FOR.A.PARTICULAR.PURPOSE.
184c0 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 ..See.the.;;.GNU.General.Public.
184e0 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f License.for.more.details...;;.Yo
18500 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 u.should.have.received.a.copy.of
18520 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a .the.GNU.General.Public.License.
18540 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 ;;.along.with.this.program...If.
18560 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 not,.see.<https://www.gnu.org/li
18580 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 3b 20 censes/>...;;;.Commentary:..;;;.
185a0 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f 72 65 29 Code:..(require.'calibredb-core)
185c0 0a 28 72 65 71 75 69 72 65 20 27 65 73 78 6d 6c 2d 71 75 65 72 79 29 0a 28 72 65 71 75 69 72 65 .(require.'esxml-query).(require
185e0 20 27 65 73 78 6d 6c 29 0a 28 72 65 71 75 69 72 65 20 27 64 6f 6d 29 0a 0a 28 64 65 66 76 61 72 .'esxml).(require.'dom)..(defvar
18600 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 72 6f 6f 74 2d 75 72 6c 20 6e 69 6c 29 0a 28 64 .calibredb-opds-root-url.nil).(d
18620 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 64 6f 77 6e 6c 6f 61 64 2d 64 69 efvar.calibredb-opds-download-di
18640 72 20 22 7e 2f 44 6f 77 6e 6c 6f 61 64 73 22 29 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 r."~/Downloads")..(declare-funct
18660 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 20 22 63 61 6c 69 62 72 65 64 62 2e 65 6c 22 29 0a 0a 28 ion.calibredb."calibredb.el")..(
18680 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 6d 61 69 6c 63 61 70 2d 6d 69 6d defun.calibredb-opds-mailcap-mim
186a0 65 2d 74 6f 2d 65 78 74 6e 20 28 6d 69 6d 65 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 e-to-extn.(mime)..."Return.the.f
186c0 69 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 45 58 54 4e 20 62 61 73 65 64 20 6f 6e 20 74 68 65 ile.extensions.EXTN.based.on.the
186e0 20 4d 49 4d 45 20 63 6f 6e 74 65 6e 74 20 74 79 70 65 2e 22 0a 20 20 28 6d 61 69 6c 63 61 70 2d .MIME.content.type."...(mailcap-
18700 70 61 72 73 65 2d 6d 69 6d 65 74 79 70 65 73 29 0a 20 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 parse-mimetypes)...(if.(stringp.
18720 6d 69 6d 65 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 79 70 65 20 28 63 61 72 20 28 72 61 mime).......(let.((type.(car.(ra
18740 73 73 6f 63 20 28 64 6f 77 6e 63 61 73 65 20 6d 69 6d 65 29 20 6d 61 69 6c 63 61 70 2d 6d 69 6d ssoc.(downcase.mime).mailcap-mim
18760 65 2d 65 78 74 65 6e 73 69 6f 6e 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 74 79 70 e-extensions)))).........(if.typ
18780 65 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 e.type...........(if.(string-mat
187a0 63 68 20 28 72 65 67 65 78 70 2d 6f 70 74 20 27 28 22 61 74 6f 6d 22 20 22 78 6d 6c 22 29 29 20 ch.(regexp-opt.'("atom"."xml")).
187c0 6d 69 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2e 61 74 6f 6d 22 0a 20 20 20 20 mime)...............".atom".....
187e0 20 20 20 20 20 20 20 20 22 2e 22 29 29 29 0a 20 20 20 20 22 2e 22 29 29 0a 0a 28 64 65 66 75 6e ........".")))....."."))..(defun
18800 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 68 6f 73 74 20 28 29 0a 20 20 22 4d 6f 64 69 66 .calibredb-opds-host.()..."Modif
18820 79 20 60 75 72 6c 2d 72 65 63 72 65 61 74 65 2d 75 72 6c 27 20 74 6f 20 66 69 74 20 74 68 65 20 y.`url-recreate-url'.to.fit.the.
18840 6e 65 65 64 73 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 75 72 6c 6f 62 6a 20 28 75 72 6c 2d 67 65 needs."...(let*.((urlobj.(url-ge
18860 6e 65 72 69 63 2d 70 61 72 73 65 2d 75 72 6c 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 72 neric-parse-url.calibredb-opds-r
18880 6f 6f 74 2d 75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 79 70 65 20 28 75 72 6c 2d 74 79 oot-url))..........(type.(url-ty
188a0 70 65 20 75 72 6c 6f 62 6a 29 29 0a 20 20 20 20 20 20 20 20 20 28 75 73 65 72 20 28 75 72 6c 2d pe.urlobj))..........(user.(url-
188c0 75 73 65 72 20 75 72 6c 6f 62 6a 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 61 73 73 20 28 75 72 user.urlobj))..........(pass.(ur
188e0 6c 2d 70 61 73 73 77 6f 72 64 20 75 72 6c 6f 62 6a 29 29 0a 20 20 20 20 20 20 20 20 20 28 68 6f l-password.urlobj))..........(ho
18900 73 74 20 28 75 72 6c 2d 68 6f 73 74 20 75 72 6c 6f 62 6a 29 29 0a 20 20 20 20 20 20 20 20 20 3b st.(url-host.urlobj))..........;
18920 3b 20 52 46 43 20 33 39 38 36 3a 20 22 6f 6d 69 74 20 74 68 65 20 70 6f 72 74 20 63 6f 6d 70 6f ;.RFC.3986:."omit.the.port.compo
18940 6e 65 6e 74 20 61 6e 64 20 69 74 73 20 3a 20 64 65 6c 69 6d 69 74 65 72 20 69 66 0a 20 20 20 20 nent.and.its.:.delimiter.if.....
18960 20 20 20 20 20 3b 3b 20 70 6f 72 74 20 69 73 20 65 6d 70 74 79 20 6f 72 20 69 66 20 69 74 73 20 .....;;.port.is.empty.or.if.its.
18980 76 61 6c 75 65 20 77 6f 75 6c 64 20 62 65 20 74 68 65 20 73 61 6d 65 20 61 73 20 74 68 61 74 20 value.would.be.the.same.as.that.
189a0 6f 66 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 20 73 63 68 65 6d 65 27 73 20 64 65 66 61 of..........;;.the.scheme's.defa
189c0 75 6c 74 2e 22 0a 20 20 20 20 20 20 20 20 20 28 70 6f 72 74 20 28 75 72 6c 2d 70 6f 72 74 2d 69 ult."..........(port.(url-port-i
189e0 66 2d 6e 6f 6e 2d 64 65 66 61 75 6c 74 20 75 72 6c 6f 62 6a 29 29 0a 20 20 20 20 20 20 20 20 20 f-non-default.urlobj))..........
18a00 3b 3b 20 28 66 69 6c 65 20 28 75 72 6c 2d 66 69 6c 65 6e 61 6d 65 20 75 72 6c 6f 62 6a 29 29 0a ;;.(file.(url-filename.urlobj)).
18a20 20 20 20 20 20 20 20 20 20 3b 3b 20 28 66 72 61 67 20 28 75 72 6c 2d 74 61 72 67 65 74 20 75 72 .........;;.(frag.(url-target.ur
18a40 6c 6f 62 6a 29 29 0a 20 20 20 20 20 20 20 20 20 29 0a 20 20 20 20 28 63 6f 6e 63 61 74 20 28 69 lobj))..........).....(concat.(i
18a60 66 20 74 79 70 65 20 28 63 6f 6e 63 61 74 20 74 79 70 65 20 22 3a 22 29 29 0a 20 20 20 20 20 20 f.type.(concat.type.":")).......
18a80 20 20 20 20 20 20 28 69 66 20 28 75 72 6c 2d 66 75 6c 6c 6e 65 73 73 20 75 72 6c 6f 62 6a 29 20 ......(if.(url-fullness.urlobj).
18aa0 22 2f 2f 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 75 73 65 72 20 70 "//").............(if.(or.user.p
18ac0 61 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 75 73 65 ass).................(concat.use
18ae0 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 70 61 r.........................(if.pa
18b00 73 73 20 28 63 6f 6e 63 61 74 20 22 3a 22 20 70 61 73 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 ss.(concat.":".pass))...........
18b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 40 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .............."@")).............
18b40 68 6f 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 70 6f 72 74 20 28 66 6f 72 6d 61 host.............(if.port.(forma
18b60 74 20 22 3a 25 64 22 20 28 75 72 6c 2d 70 6f 72 74 20 75 72 6c 6f 62 6a 29 29 29 0a 20 20 20 20 t.":%d".(url-port.urlobj))).....
18b80 20 20 20 20 20 20 20 20 3b 3b 20 28 6f 72 20 66 69 6c 65 20 22 2f 22 29 0a 20 20 20 20 20 20 20 ........;;.(or.file."/")........
18ba0 20 20 20 20 20 3b 3b 20 28 69 66 20 66 72 61 67 20 28 63 6f 6e 63 61 74 20 22 23 22 20 66 72 61 .....;;.(if.frag.(concat."#".fra
18bc0 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 g)).............)))..(defun.cali
18be0 62 72 65 64 62 2d 6f 70 64 73 2d 72 65 71 75 65 73 74 2d 70 61 67 65 20 28 75 72 6c 20 26 6f 70 bredb-opds-request-page.(url.&op
18c00 74 69 6f 6e 61 6c 20 61 63 63 6f 75 6e 74 20 70 61 73 73 77 6f 72 64 29 0a 20 20 22 52 65 71 75 tional.account.password)..."Requ
18c20 65 73 74 20 55 52 4c 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 41 43 43 4f 55 est.URL..Optional.argument.ACCOU
18c40 4e 54 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 50 41 53 53 57 4f 52 44 2e 22 NT..Optional.argument.PASSWORD."
18c60 0a 20 20 28 72 65 71 75 69 72 65 20 27 72 65 71 75 65 73 74 29 0a 20 20 28 6d 65 73 73 61 67 65 ...(require.'request)...(message
18c80 20 22 4c 6f 61 64 69 6e 67 20 25 73 2e 2e 2e 22 20 75 72 6c 29 0a 20 20 28 6c 65 74 20 28 6f 75 ."Loading.%s...".url)...(let.(ou
18ca0 74 70 75 74 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 72 tput).....(setq.calibredb-opds-r
18cc0 6f 6f 74 2d 75 72 6c 20 75 72 6c 29 0a 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 72 oot-url.url).....(if.(fboundp.'r
18ce0 65 71 75 65 73 74 29 0a 20 20 20 20 20 20 20 20 28 72 65 71 75 65 73 74 20 75 72 6c 0a 20 20 20 equest).........(request.url....
18d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 70 61 72 73 65 72 20 27 62 75 66 66 65 72 2d 73 74 ..............:parser.'buffer-st
18d20 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 68 65 61 64 65 72 73 20 60 ring..................:headers.`
18d40 28 28 22 55 73 65 72 2d 41 67 65 6e 74 22 20 2e 20 22 4d 6f 7a 69 6c 6c 61 2f 35 2e 30 20 28 57 (("User-Agent"..."Mozilla/5.0.(W
18d60 69 6e 64 6f 77 73 20 4e 54 20 36 2e 31 3b 20 57 4f 57 36 34 29 20 41 70 70 6c 65 57 65 62 4b 69 indows.NT.6.1;.WOW64).AppleWebKi
18d80 74 2f 35 33 37 2e 33 36 20 28 4b 48 54 4d 4c 2c 20 6c 69 6b 65 20 47 65 63 6b 6f 29 20 43 68 72 t/537.36.(KHTML,.like.Gecko).Chr
18da0 6f 6d 65 2f 34 31 2e 30 2e 32 32 37 32 2e 31 30 31 20 53 61 66 61 72 69 2f 35 33 37 2e 33 36 22 ome/41.0.2272.101.Safari/537.36"
18dc0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 ).............................("
18de0 43 6f 6e 74 65 6e 74 2d 54 79 70 65 22 20 2e 20 22 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 6d 6c Content-Type"..."application/xml
18e00 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c ").............................,
18e20 28 69 66 20 28 61 6e 64 20 61 63 63 6f 75 6e 74 20 70 61 73 73 77 6f 72 64 29 0a 20 20 20 20 20 (if.(and.account.password)......
18e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 22 41 ............................`("A
18e60 75 74 68 6f 72 69 7a 61 74 69 6f 6e 22 20 2e 20 2c 28 63 6f 6e 63 61 74 20 22 42 61 73 69 63 20 uthorization"...,(concat."Basic.
18e80 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "...............................
18ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
18ec0 28 62 61 73 65 36 34 2d 65 6e 63 6f 64 65 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 (base64-encode-string...........
18ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
18f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 61 63 63 .....................(concat.acc
18f20 6f 75 6e 74 20 22 3a 22 20 70 61 73 73 77 6f 72 64 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 ount.":".password)))))).........
18f40 20 20 20 20 20 20 20 20 20 3a 73 79 6e 63 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .........:sync.nil..............
18f60 20 20 20 20 3a 73 75 63 63 65 73 73 20 28 63 6c 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 ....:success.(cl-function.......
18f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 26 6b .....................(lambda.(&k
18fa0 65 79 20 64 61 74 61 20 26 61 6c 6c 6f 77 2d 6f 74 68 65 72 2d 6b 65 79 73 29 0a 20 20 20 20 20 ey.data.&allow-other-keys)......
18fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 ........................(let*.((
18fe0 64 6f 6d 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 dom.(with-temp-buffer...........
19000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
19020 20 28 69 6e 73 65 72 74 20 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(insert.data)..................
19040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 62 78 6d ..........................(libxm
19060 6c 2d 70 61 72 73 65 2d 78 6d 6c 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 l-parse-xml-region.(point-min).(
19080 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 point-max)))))..................
190a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d ..............(calibredb-search-
190c0 75 70 64 61 74 65 2d 62 75 66 66 65 72 20 3a 6f 70 64 73 20 28 63 61 6c 69 62 72 65 64 62 2d 6f update-buffer.:opds.(calibredb-o
190e0 70 64 73 2d 64 6f 6d 20 64 6f 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pds-dom.dom))...................
19100 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 74 61 67 .............(setq.calibredb-tag
19120 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -filter-p.nil)..................
19140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 66 61 ..............(setq.calibredb-fa
19160 76 6f 72 69 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 vorite-filter-p.nil)............
19180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 ....................(setq.calibr
191a0 65 64 62 2d 61 75 74 68 6f 72 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 edb-author-filter-p.nil)........
191c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 ........................(setq.ca
191e0 6c 69 62 72 65 64 62 2d 64 61 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 libredb-date-filter-p.nil)......
19200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 ..........................(setq.
19220 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 calibredb-format-filter-p.nil)..
19240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b ..............................;;
19260 20 28 6d 65 73 73 61 67 65 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(message."")...................
19280 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 28 73 65 74 71 20 6f 75 74 70 75 74 20 28 6f 70 .............;;.(setq.output.(op
192a0 64 73 2d 70 61 67 65 20 64 6f 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ds-page.dom))...................
192c0 20 20 20 20 20 20 20 20 20 20 20 20 20 29 29 29 29 29 0a 20 20 20 20 6f 75 74 70 75 74 29 29 0a .............))))).....output)).
192e0 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 72 65 71 75 65 73 74 2d 73 .(defun.calibredb-opds-request-s
19300 65 61 72 63 68 2d 70 61 67 65 20 28 75 72 6c 20 6b 65 79 77 6f 72 64 20 26 6f 70 74 69 6f 6e 61 earch-page.(url.keyword.&optiona
19320 6c 20 61 63 63 6f 75 6e 74 20 70 61 73 73 77 6f 72 64 29 0a 20 20 22 52 65 71 75 65 73 74 20 55 l.account.password)..."Request.U
19340 52 4c 20 6f 6e 20 4b 45 59 57 4f 52 44 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 RL.on.KEYWORD..Optional.argument
19360 20 4b 45 59 57 4f 52 44 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 41 43 43 4f .KEYWORD..Optional.argument.ACCO
19380 55 4e 54 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 50 41 53 53 57 4f 52 44 2e UNT..Optional.argument.PASSWORD.
193a0 22 0a 20 20 28 72 65 71 75 69 72 65 20 27 72 65 71 75 65 73 74 29 0a 20 20 28 6d 65 73 73 61 67 "...(require.'request)...(messag
193c0 65 20 22 4c 6f 61 64 69 6e 67 20 25 73 2e 2e 2e 22 20 75 72 6c 29 0a 20 20 28 6c 65 74 20 28 6f e."Loading.%s...".url)...(let.(o
193e0 75 74 70 75 74 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d utput).....(setq.calibredb-opds-
19400 72 6f 6f 74 2d 75 72 6c 20 75 72 6c 29 0a 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 root-url.url).....(if.(fboundp.'
19420 72 65 71 75 65 73 74 29 0a 20 20 20 20 20 20 20 20 28 72 65 71 75 65 73 74 20 75 72 6c 0a 20 20 request).........(request.url...
19440 20 20 20 20 20 20 20 20 3a 70 61 72 73 65 72 20 27 62 75 66 66 65 72 2d 73 74 72 69 6e 67 0a 20 ........:parser.'buffer-string..
19460 20 20 20 20 20 20 20 20 20 3a 68 65 61 64 65 72 73 20 60 28 28 22 55 73 65 72 2d 41 67 65 6e 74 .........:headers.`(("User-Agent
19480 22 20 2e 20 22 4d 6f 7a 69 6c 6c 61 2f 35 2e 30 20 28 57 69 6e 64 6f 77 73 20 4e 54 20 36 2e 31 "..."Mozilla/5.0.(Windows.NT.6.1
194a0 3b 20 57 4f 57 36 34 29 20 41 70 70 6c 65 57 65 62 4b 69 74 2f 35 33 37 2e 33 36 20 28 4b 48 54 ;.WOW64).AppleWebKit/537.36.(KHT
194c0 4d 4c 2c 20 6c 69 6b 65 20 47 65 63 6b 6f 29 20 43 68 72 6f 6d 65 2f 34 31 2e 30 2e 32 32 37 32 ML,.like.Gecko).Chrome/41.0.2272
194e0 2e 31 30 31 20 53 61 66 61 72 69 2f 35 33 37 2e 33 36 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 .101.Safari/537.36")............
19500 20 20 20 20 20 20 20 20 20 20 28 22 43 6f 6e 74 65 6e 74 2d 54 79 70 65 22 20 2e 20 22 61 70 70 ..........("Content-Type"..."app
19520 6c 69 63 61 74 69 6f 6e 2f 78 6d 6c 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lication/xml")..................
19540 20 20 20 20 2c 28 69 66 20 28 61 6e 64 20 61 63 63 6f 75 6e 74 20 70 61 73 73 77 6f 72 64 29 0a ....,(if.(and.account.password).
19560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 22 41 75 74 ..........................`("Aut
19580 68 6f 72 69 7a 61 74 69 6f 6e 22 20 2e 20 2c 28 63 6f 6e 63 61 74 20 22 42 61 73 69 63 20 22 0a horization"...,(concat."Basic.".
195a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
195c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 61 73 65 36 34 2d 65 .......................(base64-e
195e0 6e 63 6f 64 65 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ncode-string....................
19600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
19620 20 20 20 20 20 28 63 6f 6e 63 61 74 20 61 63 63 6f 75 6e 74 20 22 3a 22 20 70 61 73 73 77 6f 72 .....(concat.account.":".passwor
19640 64 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 3a 73 79 6e 63 20 6e 69 6c 0a 20 20 20 20 d))))))...........:sync.nil.....
19660 20 20 20 20 20 20 3a 73 75 63 63 65 73 73 20 28 63 6c 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 ......:success.(cl-function.....
19680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 26 6b 65 79 20 64 61 ................(lambda.(&key.da
196a0 74 61 20 26 61 6c 6c 6f 77 2d 6f 74 68 65 72 2d 6b 65 79 73 29 0a 20 20 20 20 20 20 20 20 20 20 ta.&allow-other-keys)...........
196c0 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 64 6f 6d 20 28 77 69 74 68 2d 74 65 ............(let*.((dom.(with-te
196e0 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mp-buffer.......................
19700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 64 61 74 61 29 0a 20 20 20 20 ..............(insert.data).....
19720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
19740 28 6c 69 62 78 6d 6c 2d 70 61 72 73 65 2d 78 6d 6c 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d (libxml-parse-xml-region.(point-
19760 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 min).(point-max)))))............
19780 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 28 73 65 74 71 20 6f 75 74 70 75 74 20 64 6f 6d .............;;.(setq.output.dom
197a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 28 70 70 ).........................;;.(pp
197c0 20 6f 75 74 70 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .output)........................
197e0 20 28 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 72 65 71 75 65 73 74 2d 70 61 67 65 0a 20 20 .(calibredb-opds-request-page...
19800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d .......................(replace-
19820 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 7b 2e 2a 7d 22 0a 20 20 20 20 20 20 20 20 regexp-in-string."{.*}".........
19840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
19860 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 77 6f 72 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........keyword..............
19880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
198a0 20 20 20 20 20 20 3b 3b 20 22 68 74 74 70 3a 2f 2f 6d 2e 67 75 74 65 6e 62 65 72 67 2e 6f 72 67 ......;;."http://m.gutenberg.org
198c0 2f 65 62 6f 6f 6b 73 2f 73 65 61 72 63 68 2e 6f 70 64 73 2f 3f 71 75 65 72 79 3d 7b 73 65 61 72 /ebooks/search.opds/?query={sear
198e0 63 68 54 65 72 6d 73 7d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 chTerms}".......................
19900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f .............................(do
19920 6d 2d 61 74 74 72 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 5b 74 79 70 65 5e 3d 61 70 70 6c m-attr.(esxml-query."[type^=appl
19940 69 63 61 74 69 6f 6e 5d 22 20 64 6f 6d 29 20 27 74 65 6d 70 6c 61 74 65 29 29 29 29 29 29 29 29 ication]".dom).'template))))))))
19960 0a 20 20 20 20 6f 75 74 70 75 74 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d .....output))..(defun.calibredb-
19980 6f 70 64 73 2d 64 6f 77 6e 6c 6f 61 64 20 28 74 69 74 6c 65 20 75 72 6c 20 66 6f 72 6d 61 74 20 opds-download.(title.url.format.
199a0 26 6f 70 74 69 6f 6e 61 6c 20 61 63 63 6f 75 6e 74 20 70 61 73 73 77 6f 72 64 29 0a 20 20 22 44 &optional.account.password)..."D
199c0 6f 77 6e 6c 6f 61 64 20 66 69 6c 65 20 6f 66 20 54 49 54 4c 45 20 55 52 4c 20 46 4f 52 4d 41 54 ownload.file.of.TITLE.URL.FORMAT
199e0 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 41 43 43 4f 55 4e 54 2e 0a 4f 70 74 ..Optional.argument.ACCOUNT..Opt
19a00 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 50 41 53 53 57 4f 52 44 2e 22 0a 20 20 28 6c 65 74 ional.argument.PASSWORD."...(let
19a20 2a 20 28 28 66 69 6c 65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 66 6f 72 6d *.((file.(expand-file-name.(form
19a40 61 74 20 22 25 73 2e 25 73 22 20 74 69 74 6c 65 20 66 6f 72 6d 61 74 29 20 63 61 6c 69 62 72 65 at."%s.%s".title.format).calibre
19a60 64 62 2d 6f 70 64 73 2d 64 6f 77 6e 6c 6f 61 64 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 db-opds-download-dir))..........
19a80 28 63 6d 64 20 28 69 66 20 28 61 6e 64 20 61 63 63 6f 75 6e 74 20 70 61 73 73 77 6f 72 64 29 0a (cmd.(if.(and.account.password).
19aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 63 75 72 6c 20 ..................(format."curl.
19ac0 2d 75 20 25 73 3a 5c 22 25 73 5c 22 20 2d 4c 20 25 73 20 2d 6f 20 25 73 22 20 61 63 63 6f 75 6e -u.%s:\"%s\".-L.%s.-o.%s".accoun
19ae0 74 20 70 61 73 73 77 6f 72 64 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 t.password.(shell-quote-argument
19b00 20 75 72 6c 29 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20 66 69 6c 65 .url).(shell-quote-argument.file
19b20 20 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 63 75 72 .)).................(format."cur
19b40 6c 20 2d 4c 20 25 73 20 2d 6f 20 25 73 22 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 l.-L.%s.-o.%s".(shell-quote-argu
19b60 6d 65 6e 74 20 75 72 6c 29 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20 ment.url).(shell-quote-argument.
19b80 66 69 6c 65 29 29 29 29 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 63 6d 64 29 0a 20 20 20 20 file))))).....(message.cmd).....
19ba0 28 69 66 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 (if.(file-exists-p.file)........
19bc0 20 28 66 69 6e 64 2d 66 69 6c 65 20 66 69 6c 65 29 0a 20 20 20 20 20 20 28 73 65 74 2d 70 72 6f .(find-file.file).......(set-pro
19be0 63 65 73 73 2d 73 65 6e 74 69 6e 65 6c 0a 20 20 20 20 20 20 20 28 73 74 61 72 74 2d 70 72 6f 63 cess-sentinel........(start-proc
19c00 65 73 73 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 22 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 ess-shell-command."calibredb-opd
19c20 73 22 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2a 22 20 63 6d 64 29 0a 20 20 20 20 20 s"."*calibredb-opds*".cmd)......
19c40 20 20 28 6c 61 6d 62 64 61 20 28 70 20 5f 65 29 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 ..(lambda.(p._e)..........(when.
19c60 28 3d 20 30 20 28 70 72 6f 63 65 73 73 2d 65 78 69 74 2d 73 74 61 74 75 73 20 70 29 29 0a 20 20 (=.0.(process-exit-status.p))...
19c80 20 20 20 20 20 20 20 20 20 28 69 66 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 66 69 6c 65 .........(if.(file-exists-p.file
19ca0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6e 64 2d 66 69 6c 65 20 66 69 6c 65 )................(find-file.file
19cc0 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d ))))))))..(defun.calibredb-opds-
19ce0 64 6f 6d 20 28 64 6f 6d 29 0a 20 20 22 50 61 72 73 65 20 44 4f 4d 2e 22 0a 20 20 28 6c 65 74 20 dom.(dom)..."Parse.DOM."...(let.
19d00 28 28 65 6e 74 72 69 65 73 20 28 2d 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ((entries.(-concat..............
19d20 20 20 20 20 20 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6c 69 6e 6b 29 0a 20 20 20 20 20 20 .....(-map.(lambda.(link).......
19d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 65 6e 74 72 79 20 6e 69 6c 0a ....................`(entry.nil.
19d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
19d80 20 20 28 74 69 74 6c 65 20 6e 69 6c 20 2c 28 65 73 78 6d 6c 2d 6e 6f 64 65 2d 61 74 74 72 69 62 ..(title.nil.,(esxml-node-attrib
19da0 75 74 65 20 27 72 65 6c 20 6c 69 6e 6b 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ute.'rel.link)).................
19dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 6c 69 6e 6b 29 29 0a 20 20 20 20 20 20 ..................,link)).......
19de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 2d 61 ..................(esxml-query-a
19e00 6c 6c 20 22 66 65 65 64 3e 6c 69 6e 6b 22 20 64 6f 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ll."feed>link".dom))............
19e20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 20 22 66 65 65 64 3e 65 6e .......(esxml-query-all."feed>en
19e40 74 72 79 22 20 64 6f 6d 29 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 28 63 61 6c 69 try".dom)))).....(nreverse.(cali
19e60 62 72 65 64 62 2d 67 65 74 62 6f 6f 6b 6c 69 73 74 0a 20 20 20 20 20 28 6c 65 74 20 28 28 6e 6f bredb-getbooklist......(let.((no
19e80 20 30 29 29 0a 20 20 20 20 20 20 20 28 2d 6d 61 70 63 61 74 0a 20 20 20 20 20 20 20 20 28 6c 61 .0))........(-mapcat.........(la
19ea0 6d 62 64 61 20 28 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 6f 20 mbda.(entry)...........(setq.no.
19ec0 28 31 2b 20 6e 6f 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 60 28 0a 20 20 20 20 (1+.no))...........(list.`(.....
19ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 28 3a 69 64 20 20 20 20 20 20 20 20 20 20 20 ..............;;.(:id...........
19f00 20 20 20 20 20 20 20 20 20 20 2c 28 64 6f 6d 2d 74 65 78 74 20 28 65 73 78 6d 6c 2d 71 75 65 72 ..........,(dom-text.(esxml-quer
19f20 79 20 22 69 64 22 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 y."id".entry))).................
19f40 20 20 28 3a 69 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 6e 75 6d ..(:id.....................,(num
19f60 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 6e 6f 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ber-to-string.no))..............
19f80 20 20 20 20 20 28 3a 61 75 74 68 6f 72 2d 73 6f 72 74 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 .....(:author-sort............,(
19fa0 64 6f 6d 2d 74 65 78 74 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 61 75 74 68 6f 72 3e 6e 61 dom-text.(esxml-query."author>na
19fc0 6d 65 22 20 65 6e 74 72 79 29 29 29 20 3b 20 54 4f 44 4f 3a 20 73 75 70 70 6f 72 74 20 6d 75 74 me".entry))).;.TODO:.support.mut
19fe0 69 74 70 6c 65 20 61 75 74 68 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 itple.authors...................
1a000 28 3a 62 6f 6f 6b 2d 64 69 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 22 29 0a 20 20 20 (:book-dir..............."")....
1a020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 62 6f 6f 6b 2d 63 6f 76 65 72 20 20 20 20 20 ...............(:book-cover.....
1a040 20 20 20 20 20 20 20 20 2c 28 6c 65 74 20 28 28 75 72 6c 20 28 6f 72 20 28 64 6f 6d 2d 61 74 74 ........,(let.((url.(or.(dom-att
1a060 72 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 5b 74 79 70 65 5e 3d 69 6d 61 67 65 5d 22 20 65 r.(esxml-query."[type^=image]".e
1a080 6e 74 72 79 29 20 27 68 72 65 66 29 20 22 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ntry).'href)."")))..............
1a0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1a0c0 20 28 69 66 20 28 61 6e 64 20 28 73 74 72 69 6e 67 70 20 75 72 6c 29 20 28 73 74 72 69 6e 67 2d .(if.(and.(stringp.url).(string-
1a0e0 70 72 65 66 69 78 2d 70 20 22 68 74 74 70 22 20 75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 prefix-p."http".url))...........
1a100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1a120 20 20 20 20 20 20 20 20 75 72 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........url.....................
1a140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e ............................(con
1a160 64 20 28 28 73 2d 65 71 75 61 6c 73 2d 70 20 22 22 20 75 72 6c 29 20 6e 69 6c 29 20 3b 20 6e 6f d.((s-equals-p."".url).nil).;.no
1a180 20 69 6d 61 67 65 20 75 72 6c 2c 20 72 65 74 75 72 6e 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 .image.url,.return.nil..........
1a1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1a1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 22 62 61 73 65 .............((s-contains?."base
1a1e0 36 34 22 20 75 72 6c 29 20 75 72 6c 29 20 3b 20 62 61 73 65 36 34 20 69 6d 61 67 65 0a 20 20 20 64".url).url).;.base64.image....
1a200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1a220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 66 6f 72 6d 61 74 20 22 25 ...................(t.(format."%
1a240 73 25 73 22 20 28 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 68 6f 73 74 29 20 75 72 6c 29 29 s%s".(calibredb-opds-host).url))
1a260 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 62 6f 6f 6b 2d 6e 61 ))))...................(:book-na
1a280 6d 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 me.............."").............
1a2a0 20 20 20 20 20 20 28 3a 62 6f 6f 6b 2d 66 6f 72 6d 61 74 20 20 20 20 20 20 20 20 20 20 20 20 2c ......(:book-format............,
1a2c0 28 73 75 62 73 74 72 69 6e 67 20 28 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 6d 61 69 6c 63 (substring.(calibredb-opds-mailc
1a2e0 61 70 2d 6d 69 6d 65 2d 74 6f 2d 65 78 74 6e 20 28 64 6f 6d 2d 61 74 74 72 20 28 65 73 78 6d 6c ap-mime-to-extn.(dom-attr.(esxml
1a300 2d 71 75 65 72 79 20 22 5b 74 79 70 65 5e 3d 61 70 70 6c 69 63 61 74 69 6f 6e 5d 22 20 65 6e 74 -query."[type^=application]".ent
1a320 72 79 29 20 27 74 79 70 65 29 29 20 31 29 20 29 20 3b 20 54 4f 44 4f 3a 20 73 75 70 70 6f 72 74 ry).'type)).1).).;.TODO:.support
1a340 20 6d 6f 72 65 20 66 6f 72 6d 61 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .more.formats...................
1a360 28 3a 62 6f 6f 6b 2d 70 75 62 64 61 74 65 20 20 20 20 20 20 20 20 20 20 20 2c 28 64 6f 6d 2d 74 (:book-pubdate...........,(dom-t
1a380 65 78 74 20 28 6f 72 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 69 73 73 75 65 64 22 20 65 6e ext.(or.(esxml-query."issued".en
1a3a0 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 try)............................
1a3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
1a3e0 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 70 75 62 6c 69 73 68 65 64 22 20 65 6e 74 72 79 29 29 29 esxml-query."published".entry)))
1a400 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 62 6f 6f 6b 2d 74 69 74 6c 65 )...................(:book-title
1a420 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 64 6f 6d 2d 74 65 78 74 20 28 65 73 78 6d 6c 2d 71 .............,(dom-text.(esxml-q
1a440 75 65 72 79 20 22 74 69 74 6c 65 22 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 uery."title".entry)))...........
1a460 20 20 20 20 20 20 20 20 28 3a 66 69 6c 65 2d 70 61 74 68 20 20 20 20 20 20 20 20 20 20 20 20 20 ........(:file-path.............
1a480 20 2c 28 6c 65 74 20 28 28 75 72 6c 20 28 6f 72 20 28 64 6f 6d 2d 61 74 74 72 20 28 65 73 78 6d .,(let.((url.(or.(dom-attr.(esxm
1a4a0 6c 2d 71 75 65 72 79 20 22 5b 74 79 70 65 5e 3d 61 70 70 6c 69 63 61 74 69 6f 6e 5d 22 20 65 6e l-query."[type^=application]".en
1a4c0 74 72 79 29 20 27 68 72 65 66 29 20 22 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 try).'href)."")))...............
1a4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1a500 28 69 66 20 28 61 6e 64 20 28 73 74 72 69 6e 67 70 20 75 72 6c 29 20 28 73 74 72 69 6e 67 2d 70 (if.(and.(stringp.url).(string-p
1a520 72 65 66 69 78 2d 70 20 22 68 74 74 70 22 20 75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 refix-p."http".url))............
1a540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1a560 20 20 20 20 20 20 20 75 72 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......url......................
1a580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 ...........................(cond
1a5a0 20 28 28 73 2d 65 71 75 61 6c 73 2d 70 20 22 22 20 75 72 6c 29 20 22 22 29 0a 20 20 20 20 20 20 .((s-equals-p."".url)."").......
1a5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1a5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 2d 65 71 75 61 6c 73 2d 70 20 28 73 2d ................((s-equals-p.(s-
1a600 6c 65 66 74 20 31 20 75 72 6c 29 20 22 2f 22 29 20 28 66 6f 72 6d 61 74 20 22 25 73 25 73 22 20 left.1.url)."/").(format."%s%s".
1a620 28 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 68 6f 73 74 29 20 75 72 6c 29 29 0a 20 20 20 20 (calibredb-opds-host).url)).....
1a640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1a660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 66 6f 72 6d 61 74 20 22 25 73 ..................(t.(format."%s
1a680 2f 25 73 22 20 28 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 68 6f 73 74 29 20 75 72 6c 29 29 /%s".(calibredb-opds-host).url))
1a6a0 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 74 61 67 20 20 20 20 ))))...................(:tag....
1a6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 ................,(mapconcat.#'id
1a6e0 65 6e 74 69 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 entity..........................
1a700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d ..............................(-
1a720 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 63 61 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 map.(lambda.(cat)...............
1a740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1a760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 65 73 78 6d 6c 2d 6e 6f 64 65 .................(or.(esxml-node
1a780 2d 61 74 74 72 69 62 75 74 65 20 27 6c 61 62 65 6c 20 63 61 74 29 0a 20 20 20 20 20 20 20 20 20 -attribute.'label.cat)..........
1a7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1a7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c ..........................(esxml
1a7e0 2d 6e 6f 64 65 2d 61 74 74 72 69 62 75 74 65 20 27 74 65 72 6d 20 63 61 74 29 29 29 20 28 65 73 -node-attribute.'term.cat))).(es
1a800 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 20 22 63 61 74 65 67 6f 72 79 22 20 65 6e 74 72 79 29 29 xml-query-all."category".entry))
1a820 20 22 2c 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 73 69 7a 65 .",."))...................(:size
1a840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 66 6f 72 6d 61 74 20 22 25 2e 32 ...................,(format."%.2
1a860 66 22 20 28 2f 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 6f 72 20 28 64 6f 6d f".(/.(string-to-number.(or.(dom
1a880 2d 61 74 74 72 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 5b 74 79 70 65 5e 3d 61 70 70 6c 69 -attr.(esxml-query."[type^=appli
1a8a0 63 61 74 69 6f 6e 5d 22 20 65 6e 74 72 79 29 20 27 6c 65 6e 67 74 68 20 29 20 22 30 22 20 29 20 cation]".entry).'length.)."0".).
1a8c0 29 20 31 30 34 38 35 37 36 2e 30 29 20 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).1048576.0).)).................
1a8e0 20 20 28 3a 63 6f 6d 6d 65 6e 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 63 6f 6e ..(:comment................,(con
1a900 64 20 28 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 73 75 6d 6d 61 72 79 22 20 65 6e 74 72 79 29 d.((esxml-query."summary".entry)
1a920 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1a940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6d 2d 74 65 78 74 20 28 65 ....................(dom-text.(e
1a960 73 78 6d 6c 2d 71 75 65 72 79 20 22 73 75 6d 6d 61 72 79 22 20 65 6e 74 72 79 29 29 29 0a 20 20 sxml-query."summary".entry)))...
1a980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1a9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 63 ................((esxml-query."c
1a9c0 6f 6e 74 65 6e 74 22 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ontent".entry)..................
1a9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1aa00 20 20 28 65 73 78 6d 6c 2d 74 6f 2d 78 6d 6c 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 63 6f ..(esxml-to-xml.(esxml-query."co
1aa20 6e 74 65 6e 74 22 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ntent".entry))).................
1aa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1aa60 20 20 28 74 20 22 22 20 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a ..(t."".)))...................(:
1aa80 69 64 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 64 6f 6d 2d 74 65 78 ids....................,(dom-tex
1aaa0 74 20 28 6f 72 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 69 64 65 6e 74 69 66 69 65 72 22 20 t.(or.(esxml-query."identifier".
1aac0 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 entry)..........................
1aae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1ab00 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 69 64 22 20 65 6e 74 72 79 29 29 29 29 0a 20 20 20 .(esxml-query."id".entry))))....
1ab20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 70 75 62 6c 69 73 68 65 72 20 20 20 20 20 20 ...............(:publisher......
1ab40 20 20 20 20 20 20 20 20 2c 28 64 6f 6d 2d 74 65 78 74 20 28 6f 72 20 28 65 73 78 6d 6c 2d 71 75 ........,(dom-text.(or.(esxml-qu
1ab60 65 72 79 20 22 70 75 62 6c 69 73 68 65 72 3e 6e 61 6d 65 22 20 65 6e 74 72 79 29 0a 20 20 20 20 ery."publisher>name".entry).....
1ab80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1aba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 71 75 65 ......................(esxml-que
1abc0 72 79 20 22 70 75 62 6c 69 73 68 65 72 22 20 65 6e 74 72 79 29 29 29 29 0a 20 20 20 20 20 20 20 ry."publisher".entry))))........
1abe0 20 20 20 20 20 20 20 20 20 20 20 28 3a 73 65 72 69 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........(:series.............
1ac00 20 20 20 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 6c 61 6e 67 ...."")...................(:lang
1ac20 5f 63 6f 64 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 64 6f 6d 2d 74 65 78 74 20 28 65 _code..............,(dom-text.(e
1ac40 73 78 6d 6c 2d 71 75 65 72 79 20 22 6c 61 6e 67 75 61 67 65 22 20 65 6e 74 72 79 29 29 29 0a 20 sxml-query."language".entry)))..
1ac60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 .................(:last_modified
1ac80 20 20 20 20 20 20 20 20 20 20 2c 28 64 6f 6d 2d 74 65 78 74 20 28 65 73 78 6d 6c 2d 71 75 65 72 ..........,(dom-text.(esxml-quer
1aca0 79 20 22 75 70 64 61 74 65 64 22 20 65 6e 74 72 79 29 29 29 29 29 20 29 0a 20 20 20 20 20 20 20 y."updated".entry))))).)........
1acc0 20 65 6e 74 72 69 65 73 29 29 29 20 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 .entries))).)))..(defun.calibred
1ace0 62 2d 6f 70 64 73 2d 73 65 61 72 63 68 20 28 75 72 6c 29 0a 20 20 22 53 65 61 72 63 68 20 6c 69 b-opds-search.(url)..."Search.li
1ad00 62 72 61 72 79 20 66 72 6f 6d 20 55 52 4c 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 brary.from.URL."...(interactive)
1ad20 0a 20 20 28 6c 65 74 2a 20 28 28 6c 69 62 72 61 72 79 20 28 2d 66 69 72 73 74 20 28 6c 61 6d 62 ...(let*.((library.(-first.(lamb
1ad40 64 61 20 28 6c 69 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 da.(lib)........................
1ad60 20 20 20 20 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 .....(s-contains?.(file-name-dir
1ad80 65 63 74 6f 72 79 20 28 63 61 72 20 6c 69 62 29 29 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 ectory.(car.lib)).calibredb-root
1ada0 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -dir))..........................
1adc0 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 .calibredb-library-alist))).....
1ade0 28 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 72 65 71 75 65 73 74 2d 73 65 61 72 63 68 2d 70 (calibredb-opds-request-search-p
1ae00 61 67 65 20 75 72 6c 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 22 53 65 61 72 63 68 3a 20 22 29 age.url.(read-string."Search:.")
1ae20 20 28 6e 74 68 20 31 20 6c 69 62 72 61 72 79 29 20 28 6e 74 68 20 32 20 6c 69 62 72 61 72 79 29 .(nth.1.library).(nth.2.library)
1ae40 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 29 0a 0a )))..(provide.'calibredb-opds)..
1ae60 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a ;;;.calibredb-opds.el.ends.here.
1ae80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1aea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1aec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1aee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1af00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1af20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1af40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1af60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1af80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1afa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1afc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1afe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b000 63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37 30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62 calibredb-20250705.225/calibredb
1b020 2d 6f 72 67 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -org.el.........................
1b040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1b080 30 30 32 30 36 31 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 36 35 34 00 20 30 00 00 00 0020612.00000000000.015654..0...
1b0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1b120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1b140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b200 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 2e 65 6c 20 2d 2d 2d 20 4f 72 67 20 6d 6f 64 ;;;.calibredb-org.el.---.Org.mod
1b220 65 20 73 75 70 70 6f 72 74 65 64 20 66 65 61 74 75 72 65 73 20 66 6f 72 20 63 61 6c 69 62 72 65 e.supported.features.for.calibre
1b240 64 62 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a db.-*-.lexical-binding:.t;.-*-..
1b260 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 32 30 20 44 61 6d 6f 6e 20 43 68 61 6e ;;.Copyright.(C).2020.Damon.Chan
1b280 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 44 61 6d 6f 6e 20 43 68 61 6e 20 3c 65 6c 65 63 6d 69 6e ..;;.Author:.Damon.Chan.<elecmin
1b2a0 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 g@gmail.com>.;;.URL:.https://git
1b2c0 68 75 62 2e 63 6f 6d 2f 63 68 65 6e 79 61 6e 6d 69 6e 67 2f 63 61 6c 69 62 72 65 64 62 2e 65 6c hub.com/chenyanming/calibredb.el
1b2e0 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 74 6f 6f 6c 73 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c .;;.Keywords:.tools..;;.This.fil
1b300 65 20 69 73 20 4e 4f 54 20 70 61 72 74 20 6f 66 20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 e.is.NOT.part.of.GNU.Emacs...;;.
1b320 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 This.program.is.free.software;.y
1b340 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f ou.can.redistribute.it.and/or.mo
1b360 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 dify.;;.it.under.the.terms.of.th
1b380 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 e.GNU.General.Public.License.as.
1b3a0 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 published.by.;;.the.Free.Softwar
1b3c0 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f e.Foundation,.either.version.3.o
1b3e0 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 f.the.License,.or.;;.(at.your.op
1b400 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 tion).any.later.version...;;.Thi
1b420 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 s.program.is.distributed.in.the.
1b440 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 hope.that.it.will.be.useful,.;;.
1b460 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 but.WITHOUT.ANY.WARRANTY;.withou
1b480 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b t.even.the.implied.warranty.of.;
1b4a0 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 ;.MERCHANTABILITY.or.FITNESS.FOR
1b4c0 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a .A.PARTICULAR.PURPOSE...See.the.
1b4e0 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f ;;.GNU.General.Public.License.fo
1b500 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 r.more.details...;;.You.should.h
1b520 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 ave.received.a.copy.of.the.GNU.G
1b540 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 eneral.Public.License.;;.along.w
1b560 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c ith.this.program...If.not,.see.<
1b580 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a https://www.gnu.org/licenses/>..
1b5a0 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 0a 28 72 .;;;.Commentary:..;;;.Code:...(r
1b5c0 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f 72 65 29 0a 28 72 65 71 75 69 72 65 equire.'calibredb-core).(require
1b5e0 20 27 6f 6c 29 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 .'ol)..(declare-function.calibre
1b600 64 62 2d 73 68 6f 77 2d 65 6e 74 72 79 20 22 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2e db-show-entry."calibredb-search.
1b620 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 el").(declare-function.calibredb
1b640 2d 66 69 6e 64 2d 6d 61 72 6b 65 64 2d 63 61 6e 64 69 64 61 74 65 73 20 22 63 61 6c 69 62 72 65 -find-marked-candidates."calibre
1b660 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 db-utils.el").(declare-function.
1b680 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e calibredb-find-candidate-at-poin
1b6a0 74 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 0a 3b 3b 3b 23 23 23 61 t."calibredb-utils.el")..;;;###a
1b6c0 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 2d 6c 69 6e utoload.(defun.calibredb-org-lin
1b6e0 6b 2d 76 69 65 77 20 28 69 64 20 5f 29 0a 20 20 22 46 6f 6c 6c 6f 77 20 63 61 6c 69 62 72 65 64 k-view.(id._)..."Follow.calibred
1b700 62 20 6f 72 67 20 6c 69 6e 6b 73 20 62 79 20 49 44 2e 22 0a 20 20 28 63 61 6c 69 62 72 65 64 62 b.org.links.by.ID."...(calibredb
1b720 2d 73 68 6f 77 2d 65 6e 74 72 79 20 28 63 64 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 63 61 6e -show-entry.(cdar.(calibredb-can
1b740 64 69 64 61 74 65 20 69 64 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 didate.id))))..;;;###autoload.(d
1b760 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 2d 63 6f 6d 70 6c 65 74 65 2d 6c 69 6e 6b efun.calibredb-org-complete-link
1b780 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 66 69 78 29 0a 20 20 22 44 65 66 69 6e 65 20 63 6f .(&optional.prefix)..."Define.co
1b7a0 6d 70 6c 65 74 69 6f 6e 20 66 6f 72 20 4f 72 67 20 5c 22 63 61 6c 69 62 72 65 64 62 3a 5c 22 20 mpletion.for.Org.\"calibredb:\".
1b7c0 6c 69 6e 6b 73 2e 0a 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 50 52 45 46 49 58 20 61 72 67 75 6d links..The.optional.PREFIX.argum
1b7e0 65 6e 74 20 69 73 20 69 67 6e 6f 72 65 64 2e 0a 50 6c 65 61 73 65 20 6e 6f 74 69 63 65 3a 20 60 ent.is.ignored..Please.notice:.`
1b800 63 61 6c 69 62 72 65 64 62 2d 69 64 2d 77 69 64 74 68 27 20 6d 75 73 74 20 3e 3d 20 74 68 65 20 calibredb-id-width'.must.>=.the.
1b820 72 65 61 6c 20 69 64 20 6c 65 6e 74 68 2e 22 0a 20 20 28 69 67 6e 6f 72 65 20 70 72 65 66 69 78 real.id.lenth."...(ignore.prefix
1b840 29 0a 20 20 28 6c 65 74 2a 20 28 28 63 61 6e 64 69 64 61 74 65 73 20 28 63 61 6c 69 62 72 65 64 )...(let*.((candidates.(calibred
1b860 62 2d 63 61 6e 64 69 64 61 74 65 73 29 29 29 0a 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 b-candidates))).....(if.(fboundp
1b880 20 27 63 6f 6e 73 75 6c 74 2d 2d 72 65 61 64 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 63 61 6e .'consult--read).........(if.can
1b8a0 64 69 64 61 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 63 61 6e 64 didates.............(let*.((cand
1b8c0 20 28 63 6f 6e 73 75 6c 74 2d 2d 72 65 61 64 20 63 61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 20 .(consult--read.candidates......
1b8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b900 20 20 20 3a 70 72 6f 6d 70 74 20 22 50 69 63 6b 20 61 20 62 6f 6f 6b 3a 20 22 0a 20 20 20 20 20 ...:prompt."Pick.a.book:."......
1b920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b940 20 20 20 3a 6c 6f 6f 6b 75 70 20 23 27 63 6f 6e 73 75 6c 74 2d 2d 6c 6f 6f 6b 75 70 2d 63 64 72 ...:lookup.#'consult--lookup-cdr
1b960 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b980 20 20 20 20 20 20 20 20 20 3a 73 6f 72 74 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .........:sort.nil))............
1b9a0 20 20 20 20 20 20 20 20 28 69 64 20 28 63 61 64 72 20 28 61 73 73 6f 63 20 3a 69 64 20 28 63 61 ........(id.(cadr.(assoc.:id.(ca
1b9c0 72 20 63 61 6e 64 20 29 29 20 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e r.cand.)).)))...............(con
1b9e0 63 61 74 20 28 66 6f 72 6d 61 74 20 22 63 61 6c 69 62 72 65 64 62 3a 25 73 22 20 69 64 29 29 29 cat.(format."calibredb:%s".id)))
1ba00 0a 20 20 20 20 20 20 20 20 20 20 22 63 61 6c 69 62 72 65 64 62 3a 22 29 0a 20 20 20 20 20 20 28 ..........."calibredb:").......(
1ba20 69 66 20 63 61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 if.candidates...........(let*.((
1ba40 63 61 6e 64 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 50 69 63 6b 20 61 20 62 6f cand.(completing-read."Pick.a.bo
1ba60 6f 6b 3a 20 22 20 63 61 6e 64 69 64 61 74 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ok:.".candidates))..............
1ba80 20 20 20 20 28 69 64 2d 70 6f 69 6e 74 20 28 74 65 78 74 2d 70 72 6f 70 65 72 74 79 2d 6e 6f 74 ....(id-point.(text-property-not
1baa0 2d 61 6c 6c 20 30 20 28 6c 65 6e 67 74 68 20 63 61 6e 64 29 20 27 69 64 20 6e 69 6c 20 63 61 6e -all.0.(length.cand).'id.nil.can
1bac0 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 64 20 28 67 65 74 2d 74 65 d))..................(id.(get-te
1bae0 78 74 2d 70 72 6f 70 65 72 74 79 20 69 64 2d 70 6f 69 6e 74 20 27 69 64 20 63 61 6e 64 29 29 29 xt-property.id-point.'id.cand)))
1bb00 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 28 66 6f 72 6d 61 74 20 22 63 61 .............(concat.(format."ca
1bb20 6c 69 62 72 65 64 62 3a 25 73 22 20 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 22 63 61 6c 69 62 libredb:%s".id)))........."calib
1bb40 72 65 64 62 3a 22 29 29 29 29 0a 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 redb:"))))...(defun.calibredb-or
1bb60 67 2d 69 6d 61 67 65 2d 64 61 74 61 2d 66 75 6e 20 28 5f 70 72 6f 74 6f 63 6f 6c 20 69 64 20 5f g-image-data-fun.(_protocol.id._
1bb80 64 65 73 63 72 69 70 74 69 6f 6e 29 0a 20 20 22 47 65 74 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e description)..."Get.correspondin
1bba0 67 20 62 6f 6f 6b 20 49 44 20 63 6f 76 65 72 20 70 61 67 65 20 64 61 74 61 2e 0a 44 69 73 70 6c g.book.ID.cover.page.data..Displ
1bbc0 61 79 20 63 6f 76 65 72 20 70 61 67 65 20 69 6e 6c 69 6e 65 20 69 6e 20 6f 72 67 20 62 75 66 66 ay.cover.page.inline.in.org.buff
1bbe0 65 72 2e 20 55 73 65 20 74 68 69 73 20 61 73 0a 3a 69 6d 61 67 65 2d 64 61 74 61 2d 66 75 6e 20 er..Use.this.as.:image-data-fun.
1bc00 70 72 6f 70 65 72 74 79 20 69 6e 20 60 6f 72 67 2d 6c 69 6e 6b 2d 70 72 6f 70 65 72 74 69 65 73 property.in.`org-link-properties
1bc20 27 2e 20 53 65 65 0a 60 6f 72 67 2d 64 69 73 70 6c 61 79 2d 75 73 65 72 2d 69 6e 6c 69 6e 65 2d '..See.`org-display-user-inline-
1bc40 69 6d 61 67 65 73 27 20 66 6f 72 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 0a 3a 69 6d images'.for.a.description.of.:im
1bc60 61 67 65 2d 64 61 74 61 2d 66 75 6e 2e 22 0a 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 age-data-fun."...(if.(string-mat
1bc80 63 68 20 22 5b 30 2d 39 5d 2b 22 20 69 64 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 ch."[0-9]+".id).......(with-curr
1bca0 65 6e 74 2d 62 75 66 66 65 72 20 28 66 69 6e 64 2d 66 69 6c 65 2d 6e 6f 73 65 6c 65 63 74 20 28 ent-buffer.(find-file-noselect.(
1bcc0 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 63 6f 76 65 72 20 28 63 64 61 72 20 28 63 61 6c 69 62 calibredb-get-cover.(cdar.(calib
1bce0 72 65 64 62 2d 63 61 6e 64 69 64 61 74 65 20 69 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 62 redb-candidate.id)))).........(b
1bd00 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 28 70 uffer-substring-no-properties.(p
1bd20 6f 69 6e 74 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 0a 0a 0a 3b 3b 20 60 6f 72 67 2d oint).(point-max)))))...;;.`org-
1bd40 64 69 73 70 6c 61 79 2d 75 73 65 72 2d 69 6e 6c 69 6e 65 2d 69 6d 61 67 65 73 27 20 69 73 20 66 display-user-inline-images'.is.f
1bd60 72 6f 6d 20 70 61 63 6b 61 67 65 20 60 6f 72 67 2d 79 74 27 0a 28 69 66 20 28 72 65 71 75 69 72 rom.package.`org-yt'.(if.(requir
1bd80 65 20 27 6f 72 67 2d 79 74 20 6e 69 6c 20 27 6e 6f 65 72 72 6f 72 29 0a 20 20 20 20 28 6f 72 67 e.'org-yt.nil.'noerror).....(org
1bda0 2d 6c 69 6e 6b 2d 73 65 74 2d 70 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 20 22 63 61 6c 69 62 -link-set-parameters......"calib
1bdc0 72 65 64 62 22 0a 20 20 20 20 20 3a 66 6f 6c 6c 6f 77 20 23 27 63 61 6c 69 62 72 65 64 62 2d 6f redb"......:follow.#'calibredb-o
1bde0 72 67 2d 6c 69 6e 6b 2d 76 69 65 77 0a 20 20 20 20 20 3a 63 6f 6d 70 6c 65 74 65 20 23 27 63 61 rg-link-view......:complete.#'ca
1be00 6c 69 62 72 65 64 62 2d 6f 72 67 2d 63 6f 6d 70 6c 65 74 65 2d 6c 69 6e 6b 0a 20 20 20 20 20 3a libredb-org-complete-link......:
1be20 69 6d 61 67 65 2d 64 61 74 61 2d 66 75 6e 20 23 27 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 2d 69 image-data-fun.#'calibredb-org-i
1be40 6d 61 67 65 2d 64 61 74 61 2d 66 75 6e 29 0a 20 20 28 6f 72 67 2d 6c 69 6e 6b 2d 73 65 74 2d 70 mage-data-fun)...(org-link-set-p
1be60 61 72 61 6d 65 74 65 72 73 0a 20 20 20 22 63 61 6c 69 62 72 65 64 62 22 0a 20 20 20 3a 66 6f 6c arameters...."calibredb"....:fol
1be80 6c 6f 77 20 23 27 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 2d 6c 69 6e 6b 2d 76 69 65 77 0a 20 20 low.#'calibredb-org-link-view...
1bea0 20 3a 63 6f 6d 70 6c 65 74 65 20 23 27 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 2d 63 6f 6d 70 6c .:complete.#'calibredb-org-compl
1bec0 65 74 65 2d 6c 69 6e 6b 29 29 0a 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 ete-link))...(defun.calibredb-or
1bee0 67 2d 6c 69 6e 6b 2d 63 6f 70 79 20 28 29 0a 20 20 22 43 6f 70 79 20 74 68 65 20 6d 61 72 6b 65 g-link-copy.()..."Copy.the.marke
1bf00 64 20 69 74 65 6d 73 20 61 73 20 63 61 6c 69 62 72 65 64 62 20 6f 72 67 20 6c 69 6e 6b 73 2e 22 d.items.as.calibredb.org.links."
1bf20 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 63 61 6e 64 69 64 ...(interactive)...(let.((candid
1bf40 61 74 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 6d 61 72 6b 65 64 2d 63 61 6e 64 ates.(calibredb-find-marked-cand
1bf60 69 64 61 74 65 73 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 63 61 6e 64 69 64 61 74 65 73 idates))).....(unless.candidates
1bf80 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 73 20 28 63 61 6c 69 62 72 65 .......(setq.candidates.(calibre
1bfa0 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 29 0a 20 20 db-find-candidate-at-point)))...
1bfc0 20 20 28 6b 69 6c 6c 2d 6e 65 77 0a 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 ..(kill-new......(with-temp-buff
1bfe0 65 72 0a 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 63 61 6e 64 20 63 61 6e 64 69 64 61 74 er........(dolist.(cand.candidat
1c000 65 73 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 64 20 28 63 61 6c 69 62 72 65 es)..........(let*.((id.(calibre
1c020 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 20 3a 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 db-getattr.cand.:id))...........
1c040 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 ......(title.(calibredb-getattr.
1c060 63 61 6e 64 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 cand.:book-title))..............
1c080 20 20 20 28 6c 69 6e 6b 20 28 66 6f 72 6d 61 74 20 22 5b 5b 63 61 6c 69 62 72 65 64 62 3a 25 73 ...(link.(format."[[calibredb:%s
1c0a0 5d 5b 25 73 5d 5d 5c 6e 22 20 69 64 20 74 69 74 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 ][%s]]\n".id.title)))...........
1c0c0 20 28 69 6e 73 65 72 74 20 6c 69 6e 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 .(insert.link)............(messa
1c0e0 67 65 20 22 43 6f 70 69 65 64 20 28 6f 72 67 20 6c 69 6e 6b 29 3a 20 25 73 22 20 6c 69 6e 6b 29 ge."Copied.(org.link):.%s".link)
1c100 29 29 0a 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 ))........(buffer-string))).....
1c120 3b 3b 20 72 65 6d 6f 76 65 20 6f 76 65 72 6c 61 79 73 20 61 6e 64 20 74 65 78 74 20 70 72 6f 70 ;;.remove.overlays.and.text.prop
1c140 65 72 74 69 65 73 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 62 65 67 20 28 70 6f 69 6e 74 2d 6d 69 erties.....(let*.((beg.(point-mi
1c160 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 n))............(end.(point-max))
1c180 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 ............(inhibit-read-only.t
1c1a0 29 29 0a 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 6f 76 65 72 6c 61 79 73 20 62 65 67 20 65 6e )).......(remove-overlays.beg.en
1c1c0 64 29 0a 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 d).......(remove-text-properties
1c1e0 20 62 65 67 20 65 6e 64 20 27 28 63 61 6c 69 62 72 65 64 62 2d 6d 61 72 6b 20 6e 69 6c 29 29 29 .beg.end.'(calibredb-mark.nil)))
1c200 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 2d 74 69 74 6c 65 2d 63 ))..(defun.calibredb-org-title-c
1c220 6f 70 79 20 28 29 0a 20 20 22 43 6f 70 79 20 74 68 65 20 6d 61 72 6b 65 64 20 69 74 65 6d 73 27 opy.()..."Copy.the.marked.items'
1c240 20 74 69 74 6c 65 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 .titles."...(interactive)...(let
1c260 20 28 28 63 61 6e 64 69 64 61 74 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 6d 61 .((candidates.(calibredb-find-ma
1c280 72 6b 65 64 2d 63 61 6e 64 69 64 61 74 65 73 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 63 rked-candidates))).....(unless.c
1c2a0 61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 73 andidates.......(setq.candidates
1c2c0 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f .(calibredb-find-candidate-at-po
1c2e0 69 6e 74 29 29 29 0a 20 20 20 20 28 6b 69 6c 6c 2d 6e 65 77 0a 20 20 20 20 20 28 77 69 74 68 2d int))).....(kill-new......(with-
1c300 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 63 61 6e 64 temp-buffer........(dolist.(cand
1c320 20 63 61 6e 64 69 64 61 74 65 73 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 74 69 .candidates)..........(let*.((ti
1c340 74 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 20 3a 62 6f 6f tle.(calibredb-getattr.cand.:boo
1c360 6b 2d 74 69 74 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 74 69 k-title)))............(insert.ti
1c380 74 6c 65 20 28 69 66 20 28 3e 20 28 6c 65 6e 67 74 68 20 63 61 6e 64 69 64 61 74 65 73 29 20 31 tle.(if.(>.(length.candidates).1
1c3a0 29 20 22 5c 6e 22 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 )."\n".""))............(message.
1c3c0 22 43 6f 70 69 65 64 20 28 74 69 74 6c 65 29 3a 20 25 73 22 20 74 69 74 6c 65 29 29 29 0a 20 20 "Copied.(title):.%s".title)))...
1c3e0 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 3b 3b 20 72 65 .....(buffer-string))).....;;.re
1c400 6d 6f 76 65 20 6f 76 65 72 6c 61 79 73 20 61 6e 64 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 move.overlays.and.text.propertie
1c420 73 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 62 65 67 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 s.....(let*.((beg.(point-min))..
1c440 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 ..........(end.(point-max)).....
1c460 20 20 20 20 20 20 20 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 29 0a 20 20 .......(inhibit-read-only.t))...
1c480 20 20 20 20 28 72 65 6d 6f 76 65 2d 6f 76 65 72 6c 61 79 73 20 62 65 67 20 65 6e 64 29 0a 20 20 ....(remove-overlays.beg.end)...
1c4a0 20 20 20 20 28 72 65 6d 6f 76 65 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 20 62 65 67 20 ....(remove-text-properties.beg.
1c4c0 65 6e 64 20 27 28 63 61 6c 69 62 72 65 64 62 2d 6d 61 72 6b 20 6e 69 6c 29 29 29 29 29 0a 0a 28 end.'(calibredb-mark.nil)))))..(
1c4e0 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 2d 6c 69 6e defun.calibredb-org-protocol-lin
1c500 6b 2d 63 6f 70 79 20 28 29 0a 20 20 22 43 6f 70 79 20 74 68 65 20 6d 61 72 6b 65 64 20 69 74 65 k-copy.()..."Copy.the.marked.ite
1c520 6d 73 20 61 73 20 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 20 6c 69 6e 6b 73 2e 22 0a 20 20 28 69 6e ms.as.org-protocol.links."...(in
1c540 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 63 61 6e 64 69 64 61 74 65 73 20 28 teractive)...(let.((candidates.(
1c560 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 6d 61 72 6b 65 64 2d 63 61 6e 64 69 64 61 74 65 73 calibredb-find-marked-candidates
1c580 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 63 61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 20 ))).....(unless.candidates......
1c5a0 20 28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e .(setq.candidates.(calibredb-fin
1c5c0 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 28 6b 69 6c d-candidate-at-point))).....(kil
1c5e0 6c 2d 6e 65 77 0a 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 l-new......(with-temp-buffer....
1c600 20 20 20 20 28 64 6f 6c 69 73 74 20 28 63 61 6e 64 20 63 61 6e 64 69 64 61 74 65 73 29 0a 20 20 ....(dolist.(cand.candidates)...
1c620 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 64 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 .......(let*.((id.(calibredb-get
1c640 61 74 74 72 20 63 61 6e 64 20 3a 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 attr.cand.:id)).................
1c660 28 74 69 74 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 20 3a (title.(calibredb-getattr.cand.:
1c680 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 book-title)).................(or
1c6a0 67 2d 70 72 6f 74 6f 63 6f 6c 2d 6c 69 6e 6b 20 28 75 72 6c 2d 65 6e 63 6f 64 65 2d 75 72 6c 20 g-protocol-link.(url-encode-url.
1c6c0 28 66 6f 72 6d 61 74 20 22 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 3a 2f 2f 63 61 6c 69 62 72 65 64 (format."org-protocol://calibred
1c6e0 62 3f 69 64 3d 25 73 26 74 69 74 6c 65 3d 25 73 22 20 69 64 20 28 75 72 6c 2d 68 65 78 69 66 79 b?id=%s&title=%s".id.(url-hexify
1c700 2d 73 74 72 69 6e 67 20 74 69 74 6c 65 29 29 20 29 20 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 -string.title)).).))............
1c720 3b 3b 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 5b 5b 63 61 6c 69 62 72 65 64 62 3a ;;.(insert.(format."[[calibredb:
1c740 25 73 5d 5b 25 73 5d 5d 5c 6e 22 20 69 64 20 74 69 74 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 %s][%s]]\n".id.title))..........
1c760 20 20 28 69 6e 73 65 72 74 20 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 2d 6c 69 6e 6b 20 28 69 66 20 ..(insert.org-protocol-link.(if.
1c780 28 3e 20 28 6c 65 6e 67 74 68 20 63 61 6e 64 69 64 61 74 65 73 29 20 31 29 20 22 5c 6e 22 20 22 (>.(length.candidates).1)."\n"."
1c7a0 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 43 6f 70 69 65 64 20 "))............(message."Copied.
1c7c0 28 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 29 3a 20 25 73 22 20 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c (org-protocol):.%s".org-protocol
1c7e0 2d 6c 69 6e 6b 29 29 29 0a 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 -link)))........(buffer-string))
1c800 29 0a 20 20 20 20 3b 3b 20 72 65 6d 6f 76 65 20 6f 76 65 72 6c 61 79 73 20 61 6e 64 20 74 65 78 ).....;;.remove.overlays.and.tex
1c820 74 20 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 62 65 67 20 28 70 6f t.properties.....(let*.((beg.(po
1c840 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 20 28 70 6f 69 6e 74 int-min))............(end.(point
1c860 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d -max))............(inhibit-read-
1c880 6f 6e 6c 79 20 74 29 29 0a 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 6f 76 65 72 6c 61 79 73 20 only.t)).......(remove-overlays.
1c8a0 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 74 65 78 74 2d 70 72 6f 70 beg.end).......(remove-text-prop
1c8c0 65 72 74 69 65 73 20 62 65 67 20 65 6e 64 20 27 28 63 61 6c 69 62 72 65 64 62 2d 6d 61 72 6b 20 erties.beg.end.'(calibredb-mark.
1c8e0 6e 69 6c 29 29 29 29 29 0a 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 2d nil)))))...(defun.calibredb-org-
1c900 70 72 6f 74 6f 63 6f 6c 2d 6c 69 6e 6b 2d 6d 61 72 6b 64 6f 77 6e 2d 63 6f 70 79 20 28 29 0a 20 protocol-link-markdown-copy.()..
1c920 20 22 43 6f 70 79 20 74 68 65 20 6d 61 72 6b 65 64 20 69 74 65 6d 73 20 61 73 20 6f 72 67 2d 70 ."Copy.the.marked.items.as.org-p
1c940 72 6f 74 6f 63 6f 6c 20 6d 61 72 6b 64 6f 77 6e 20 6c 69 6e 6b 73 2e 22 0a 20 20 28 69 6e 74 65 rotocol.markdown.links."...(inte
1c960 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 63 61 6e 64 69 64 61 74 65 73 20 28 63 61 ractive)...(let.((candidates.(ca
1c980 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 6d 61 72 6b 65 64 2d 63 61 6e 64 69 64 61 74 65 73 29 29 libredb-find-marked-candidates))
1c9a0 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 63 61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 20 20 28 ).....(unless.candidates.......(
1c9c0 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d setq.candidates.(calibredb-find-
1c9e0 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 28 6b 69 6c 6c 2d candidate-at-point))).....(kill-
1ca00 6e 65 77 0a 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 new......(with-temp-buffer......
1ca20 20 20 28 64 6f 6c 69 73 74 20 28 63 61 6e 64 20 63 61 6e 64 69 64 61 74 65 73 29 0a 20 20 20 20 ..(dolist.(cand.candidates).....
1ca40 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 64 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 .....(let*.((id.(calibredb-getat
1ca60 74 72 20 63 61 6e 64 20 3a 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 tr.cand.:id)).................(t
1ca80 69 74 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 20 3a 62 6f itle.(calibredb-getattr.cand.:bo
1caa0 6f 6b 2d 74 69 74 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d ok-title)).................(org-
1cac0 70 72 6f 74 6f 63 6f 6c 2d 6c 69 6e 6b 20 28 66 6f 72 6d 61 74 20 22 5b 25 73 5d 28 25 73 29 22 protocol-link.(format."[%s](%s)"
1cae0 20 74 69 74 6c 65 20 28 75 72 6c 2d 65 6e 63 6f 64 65 2d 75 72 6c 20 28 66 6f 72 6d 61 74 20 22 .title.(url-encode-url.(format."
1cb00 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 3a 2f 2f 63 61 6c 69 62 72 65 64 62 3f 69 64 3d 25 73 26 74 org-protocol://calibredb?id=%s&t
1cb20 69 74 6c 65 3d 25 73 22 20 69 64 20 28 75 72 6c 2d 68 65 78 69 66 79 2d 73 74 72 69 6e 67 20 74 itle=%s".id.(url-hexify-string.t
1cb40 69 74 6c 65 29 29 20 29 29 20 20 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 itle)).))..))............(insert
1cb60 20 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 2d 6c 69 6e 6b 20 28 69 66 20 28 3e 20 28 6c 65 6e 67 74 .org-protocol-link.(if.(>.(lengt
1cb80 68 20 63 61 6e 64 69 64 61 74 65 73 29 20 31 29 20 22 5c 6e 22 20 22 22 29 29 0a 20 20 20 20 20 h.candidates).1)."\n".""))......
1cba0 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 43 6f 70 69 65 64 20 28 6f 72 67 2d 70 72 6f 74 ......(message."Copied.(org-prot
1cbc0 6f 63 6f 6c 20 6d 61 72 6b 64 6f 77 6e 29 3a 20 25 73 22 20 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c ocol.markdown):.%s".org-protocol
1cbe0 2d 6c 69 6e 6b 29 29 29 0a 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 -link)))........(buffer-string))
1cc00 29 0a 20 20 20 20 3b 3b 20 72 65 6d 6f 76 65 20 6f 76 65 72 6c 61 79 73 20 61 6e 64 20 74 65 78 ).....;;.remove.overlays.and.tex
1cc20 74 20 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 62 65 67 20 28 70 6f t.properties.....(let*.((beg.(po
1cc40 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 20 28 70 6f 69 6e 74 int-min))............(end.(point
1cc60 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d -max))............(inhibit-read-
1cc80 6f 6e 6c 79 20 74 29 29 0a 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 6f 76 65 72 6c 61 79 73 20 only.t)).......(remove-overlays.
1cca0 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 74 65 78 74 2d 70 72 6f 70 beg.end).......(remove-text-prop
1ccc0 65 72 74 69 65 73 20 62 65 67 20 65 6e 64 20 27 28 63 61 6c 69 62 72 65 64 62 2d 6d 61 72 6b 20 erties.beg.end.'(calibredb-mark.
1cce0 6e 69 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 2d 6d nil)))))..(defun.calibredb-org-m
1cd00 61 72 6b 64 6f 77 6e 2d 63 6f 70 79 20 28 29 0a 20 20 22 43 6f 70 79 20 74 68 65 20 6d 61 72 6b arkdown-copy.()..."Copy.the.mark
1cd20 65 64 20 69 74 65 6d 73 20 61 73 20 6d 61 72 6b 64 6f 77 6e 20 6c 69 6e 6b 73 2e 22 0a 20 20 28 ed.items.as.markdown.links."...(
1cd40 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 63 61 6e 64 69 64 61 74 65 73 interactive)...(let.((candidates
1cd60 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 6d 61 72 6b 65 64 2d 63 61 6e 64 69 64 61 74 .(calibredb-find-marked-candidat
1cd80 65 73 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 63 61 6e 64 69 64 61 74 65 73 0a 20 20 20 es))).....(unless.candidates....
1cda0 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d 66 ...(setq.candidates.(calibredb-f
1cdc0 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 28 6b ind-candidate-at-point))).....(k
1cde0 69 6c 6c 2d 6e 65 77 0a 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 ill-new......(with-temp-buffer..
1ce00 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 63 61 6e 64 20 63 61 6e 64 69 64 61 74 65 73 ........(dolist.(cand.candidates
1ce20 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 64 20 28 63 61 6c 69 62 72 65 )............(let*.((id.(calibre
1ce40 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 20 3a 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 db-getattr.cand.:id))...........
1ce60 20 20 20 20 20 20 20 20 28 70 61 74 68 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 66 69 6c ........(path.(calibredb-get-fil
1ce80 65 2d 70 61 74 68 20 63 61 6e 64 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-path.cand.t)).................
1cea0 20 20 28 74 69 74 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 ..(title.(calibredb-getattr.cand
1cec0 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .:book-title))..................
1cee0 20 28 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 2d 6c 69 6e 6b 20 28 66 6f 72 6d 61 74 20 22 5b 25 73 .(org-protocol-link.(format."[%s
1cf00 5d 28 25 73 29 22 20 74 69 74 6c 65 20 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ](%s)".title.path)))............
1cf20 28 69 6e 73 65 72 74 20 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 2d 6c 69 6e 6b 20 28 69 66 20 28 3e (insert.org-protocol-link.(if.(>
1cf40 20 28 6c 65 6e 67 74 68 20 63 61 6e 64 69 64 61 74 65 73 29 20 31 29 20 22 5c 6e 22 20 22 22 29 .(length.candidates).1)."\n"."")
1cf60 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 43 6f 70 69 65 64 20 28 6d )............(message."Copied.(m
1cf80 61 72 6b 64 6f 77 6e 29 3a 20 25 73 22 20 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 2d 6c 69 6e 6b 29 arkdown):.%s".org-protocol-link)
1cfa0 29 29 0a 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 0a 20 20 ))..........(buffer-string)))...
1cfc0 20 20 3b 3b 20 72 65 6d 6f 76 65 20 6f 76 65 72 6c 61 79 73 20 61 6e 64 20 74 65 78 74 20 70 72 ..;;.remove.overlays.and.text.pr
1cfe0 6f 70 65 72 74 69 65 73 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 62 65 67 20 28 70 6f 69 6e 74 2d operties.....(let*.((beg.(point-
1d000 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 20 28 70 6f 69 6e 74 2d 6d 61 78 min))............(end.(point-max
1d020 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 ))............(inhibit-read-only
1d040 20 74 29 29 0a 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 6f 76 65 72 6c 61 79 73 20 62 65 67 20 .t)).......(remove-overlays.beg.
1d060 65 6e 64 29 0a 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 end).......(remove-text-properti
1d080 65 73 20 62 65 67 20 65 6e 64 20 27 28 63 61 6c 69 62 72 65 64 62 2d 6d 61 72 6b 20 6e 69 6c 29 es.beg.end.'(calibredb-mark.nil)
1d0a0 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 2d 70 72 6f 74 6f ))))..(defun.calibredb-org-proto
1d0c0 63 6f 6c 20 28 64 61 74 61 29 0a 20 20 28 6c 65 74 2a 20 28 28 69 64 20 28 70 6c 69 73 74 2d 67 col.(data)...(let*.((id.(plist-g
1d0e0 65 74 20 64 61 74 61 20 3a 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 70 et.data.:id))..........(title.(p
1d100 6c 69 73 74 2d 67 65 74 20 64 61 74 61 20 3a 74 69 74 6c 65 29 29 29 0a 20 20 20 20 28 63 61 6c list-get.data.:title))).....(cal
1d120 69 62 72 65 64 62 2d 73 68 6f 77 2d 65 6e 74 72 79 0a 20 20 20 20 20 28 63 6f 6e 64 20 28 28 61 ibredb-show-entry......(cond.((a
1d140 6e 64 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e nd.(file-exists-p.(expand-file-n
1d160 61 6d 65 20 22 2e 6d 65 74 61 64 61 74 61 2e 63 61 6c 69 62 72 65 22 20 63 61 6c 69 62 72 65 64 ame.".metadata.calibre".calibred
1d180 62 2d 72 6f 6f 74 2d 64 69 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 61 72 20 b-root-dir))).............(cdar.
1d1a0 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 63 61 6e 64 69 64 61 74 65 20 69 64 29 29 (calibredb-folder-candidate.id))
1d1c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 63 64 61 72 20 28 63 61 6c 69 62 72 65 64 62 )............(t.(cdar.(calibredb
1d1e0 2d 63 61 6e 64 69 64 61 74 65 20 69 64 29 29 29 29 29 0a 20 20 20 20 6e 69 6c 29 29 0a 0a 0a 28 -candidate.id))))).....nil))...(
1d200 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 2d 73 65 74 75 70 2d 6f 72 67 2d 70 72 defun.calibredb-org-setup-org-pr
1d220 6f 74 6f 63 6f 6c 28 29 0a 20 20 28 72 65 71 75 69 72 65 20 27 6f 72 67 2d 70 72 6f 74 6f 63 6f otocol()...(require.'org-protoco
1d240 6c 29 0a 20 20 28 61 64 64 2d 74 6f 2d 6c 69 73 74 20 27 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 2d l)...(add-to-list.'org-protocol-
1d260 70 72 6f 74 6f 63 6f 6c 2d 61 6c 69 73 74 20 27 28 22 63 61 6c 69 62 72 65 64 62 22 0a 20 20 20 protocol-alist.'("calibredb"....
1d280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1d2a0 20 20 20 20 20 20 20 20 20 20 20 3a 70 72 6f 74 6f 63 6f 6c 20 22 63 61 6c 69 62 72 65 64 62 22 ...........:protocol."calibredb"
1d2c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1d2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 ...............:function.calibre
1d300 64 62 2d 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 db-org-protocol.................
1d320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6b ..............................:k
1d340 69 6c 6c 2d 63 6c 69 65 6e 74 20 74 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 63 61 6c 69 62 ill-client.t)))..(provide.'calib
1d360 72 65 64 62 2d 6f 72 67 29 0a 0a 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 2e 65 6c 20 redb-org)..;;;.calibredb-org.el.
1d380 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ends.here.......................
1d3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d400 63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37 30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62 calibredb-20250705.225/calibredb
1d420 2d 70 6b 67 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -pkg.el.........................
1d440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1d480 30 30 30 31 30 35 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 36 35 30 00 20 30 00 00 00 0001057.00000000000.015650..0...
1d4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1d520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1d540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d600 3b 3b 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 3b 20 6c 65 78 69 63 ;;.-*-.no-byte-compile:.t;.lexic
1d620 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 6e 69 6c 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b al-binding:.nil.-*-.(define-pack
1d640 61 67 65 20 22 63 61 6c 69 62 72 65 64 62 22 20 22 32 30 32 35 30 37 30 35 2e 32 32 35 22 0a 20 age."calibredb"."20250705.225"..
1d660 20 22 59 65 74 20 61 6e 6f 74 68 65 72 20 63 61 6c 69 62 72 65 20 63 6c 69 65 6e 74 2e 22 0a 20 ."Yet.another.calibre.client."..
1d680 20 27 28 28 65 6d 61 63 73 20 20 20 20 20 22 32 39 2e 31 22 29 0a 20 20 20 20 28 6f 72 67 20 20 .'((emacs....."29.1").....(org..
1d6a0 20 20 20 20 20 22 39 2e 33 22 29 0a 20 20 20 20 28 74 72 61 6e 73 69 65 6e 74 20 22 30 2e 31 2e ....."9.3").....(transient."0.1.
1d6c0 30 22 29 0a 20 20 20 20 28 73 20 20 20 20 20 20 20 20 20 22 31 2e 31 32 2e 30 22 29 0a 20 20 20 0").....(s........."1.12.0")....
1d6e0 20 28 64 61 73 68 20 20 20 20 20 20 22 32 2e 31 37 2e 30 22 29 0a 20 20 20 20 28 72 65 71 75 65 .(dash......"2.17.0").....(reque
1d700 73 74 20 20 20 22 30 2e 33 2e 33 22 29 0a 20 20 20 20 28 65 73 78 6d 6c 20 20 20 20 20 22 30 2e st..."0.3.3").....(esxml....."0.
1d720 33 2e 37 22 29 29 0a 20 20 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 3.7"))...:url."https://github.co
1d740 6d 2f 63 68 65 6e 79 61 6e 6d 69 6e 67 2f 63 61 6c 69 62 72 65 64 62 2e 65 6c 22 0a 20 20 3a 63 m/chenyanming/calibredb.el"...:c
1d760 6f 6d 6d 69 74 20 22 62 62 63 39 64 35 37 33 64 35 35 33 36 62 65 35 62 33 35 33 30 66 32 37 35 ommit."bbc9d573d5536be5b3530f275
1d780 33 39 63 36 30 37 66 39 62 30 33 30 62 38 30 22 0a 20 20 3a 72 65 76 64 65 73 63 20 22 62 62 63 39c607f9b030b80"...:revdesc."bbc
1d7a0 39 64 35 37 33 64 35 35 33 22 0a 20 20 3a 6b 65 79 77 6f 72 64 73 20 27 28 22 74 6f 6f 6c 73 22 9d573d553"...:keywords.'("tools"
1d7c0 29 0a 20 20 3a 61 75 74 68 6f 72 73 20 27 28 28 22 44 61 6d 6f 6e 20 43 68 61 6e 22 20 2e 20 22 )...:authors.'(("Damon.Chan"..."
1d7e0 65 6c 65 63 6d 69 6e 67 40 67 6d 61 69 6c 2e 63 6f 6d 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 elecming@gmail.com"))...:maintai
1d800 6e 65 72 73 20 27 28 28 22 44 61 6d 6f 6e 20 43 68 61 6e 22 20 2e 20 22 65 6c 65 63 6d 69 6e 67 ners.'(("Damon.Chan"..."elecming
1d820 40 67 6d 61 69 6c 2e 63 6f 6d 22 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @gmail.com")))..................
1d840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1da00 63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37 30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62 calibredb-20250705.225/calibredb
1da20 2d 73 65 61 72 63 68 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -search.el......................
1da40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1da60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1da80 30 31 35 36 32 31 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 33 34 30 00 20 30 00 00 00 0156212.00000000000.016340..0...
1daa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1db00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1db20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1db40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1db60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1db80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dc00 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2e 65 6c 20 2d 2d 2d 20 42 6f 6f 6b ;;;.calibredb-search.el.---.Book
1dc20 73 20 73 65 61 72 63 68 20 62 75 66 66 65 72 20 66 6f 72 20 63 61 6c 69 62 72 65 64 62 20 2d 2a s.search.buffer.for.calibredb.-*
1dc40 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f -.lexical-binding:.t;.-*-..;;.Co
1dc60 70 79 72 69 67 68 74 20 28 43 29 20 32 30 32 30 20 44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b 20 pyright.(C).2020.Damon.Chan..;;.
1dc80 41 75 74 68 6f 72 3a 20 44 61 6d 6f 6e 20 43 68 61 6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67 6d 61 Author:.Damon.Chan.<elecming@gma
1dca0 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 il.com>.;;.URL:.https://github.c
1dcc0 6f 6d 2f 63 68 65 6e 79 61 6e 6d 69 6e 67 2f 63 61 6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b 20 4b om/chenyanming/calibredb.el.;;.K
1dce0 65 79 77 6f 72 64 73 3a 20 74 6f 6f 6c 73 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 eywords:.tools..;;.This.file.is.
1dd00 4e 4f 54 20 70 61 72 74 20 6f 66 20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73 20 NOT.part.of.GNU.Emacs...;;.This.
1dd20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 program.is.free.software;.you.ca
1dd40 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a n.redistribute.it.and/or.modify.
1dd60 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 ;;.it.under.the.terms.of.the.GNU
1dd80 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 .General.Public.License.as.publi
1dda0 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 shed.by.;;.the.Free.Software.Fou
1ddc0 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 ndation,.either.version.3.of.the
1dde0 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 .License,.or.;;.(at.your.option)
1de00 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f .any.later.version...;;.This.pro
1de20 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 gram.is.distributed.in.the.hope.
1de40 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 that.it.will.be.useful,.;;.but.W
1de60 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 ITHOUT.ANY.WARRANTY;.without.eve
1de80 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 n.the.implied.warranty.of.;;.MER
1dea0 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 CHANTABILITY.or.FITNESS.FOR.A.PA
1dec0 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e RTICULAR.PURPOSE...See.the.;;.GN
1dee0 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 U.General.Public.License.for.mor
1df00 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 e.details...;;.You.should.have.r
1df20 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 eceived.a.copy.of.the.GNU.Genera
1df40 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 l.Public.License.;;.along.with.t
1df60 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 his.program...If.not,.see.<https
1df80 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 ://www.gnu.org/licenses/>...;;;.
1dfa0 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 Commentary:..;;;.Code:..(require
1dfc0 20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f 72 65 29 0a 0a 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f .'calibredb-core)..(eval-when-co
1dfe0 6d 70 69 6c 65 20 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 65 6e 74 mpile.(defvar.calibredb-show-ent
1e000 72 79 29 29 0a 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 20 28 64 65 66 76 61 72 20 ry)).(eval-when-compile.(defvar.
1e020 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 65 6e 74 72 79 2d 73 77 69 74 63 68 29 29 0a 28 65 calibredb-show-entry-switch)).(e
1e040 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 20 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 val-when-compile.(defvar.calibre
1e060 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 0a 0a 28 64 65 63 db-virtual-library-alist))..(dec
1e080 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 20 22 63 61 6c 69 62 72 65 lare-function.calibredb."calibre
1e0a0 64 62 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 db.el").(declare-function.calibr
1e0c0 65 64 62 2d 66 69 6e 64 2d 66 69 6c 65 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 edb-find-file."calibredb-utils.e
1e0e0 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d l").(declare-function.calibredb-
1e100 61 64 64 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 add."calibredb-utils.el").(decla
1e120 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 61 64 64 2d 64 69 72 20 22 63 re-function.calibredb-add-dir."c
1e140 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e alibredb-utils.el").(declare-fun
1e160 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 6c 6f 6e 65 20 22 63 61 6c 69 62 72 65 64 62 ction.calibredb-clone."calibredb
1e180 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 -utils.el").(declare-function.ca
1e1a0 6c 69 62 72 65 64 62 2d 72 65 6d 6f 76 65 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e libredb-remove."calibredb-utils.
1e1c0 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 el").(declare-function.calibredb
1e1e0 2d 72 65 6d 6f 76 65 2d 6d 61 72 6b 65 64 2d 69 74 65 6d 73 20 22 63 61 6c 69 62 72 65 64 62 2d -remove-marked-items."calibredb-
1e200 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c utils.el").(declare-function.cal
1e220 69 62 72 65 64 62 2d 73 77 69 74 63 68 2d 6c 69 62 72 61 72 79 20 22 63 61 6c 69 62 72 65 64 62 ibredb-switch-library."calibredb
1e240 2d 6c 69 62 72 61 72 79 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 -library.el").(declare-function.
1e260 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 6c 69 73 74 20 22 63 61 6c 69 62 72 65 64 calibredb-library-list."calibred
1e280 62 2d 6c 69 62 72 61 72 79 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e b-library.el").(declare-function
1e2a0 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 6e 65 78 74 20 22 63 61 6c 69 62 72 65 .calibredb-library-next."calibre
1e2c0 64 62 2d 6c 69 62 72 61 72 79 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f db-library.el").(declare-functio
1e2e0 6e 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 70 72 65 76 69 6f 75 73 20 22 63 61 n.calibredb-library-previous."ca
1e300 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 libredb-library.el").(declare-fu
1e320 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 64 69 nction.calibredb-set-metadata-di
1e340 73 70 61 74 63 68 20 22 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2e 65 6c 22 29 spatch."calibredb-transient.el")
1e360 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e .(declare-function.calibredb-fin
1e380 64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 66 72 61 6d 65 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 d-file-other-frame."calibredb-ut
1e3a0 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 ils.el").(declare-function.calib
1e3c0 72 65 64 62 2d 6f 70 65 6e 2d 66 69 6c 65 2d 77 69 74 68 2d 64 65 66 61 75 6c 74 2d 74 6f 6f 6c redb-open-file-with-default-tool
1e3e0 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d ."calibredb-utils.el").(declare-
1e400 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 65 6e 2d 64 69 72 65 64 20 22 63 function.calibredb-open-dired."c
1e420 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e alibredb-utils.el").(declare-fun
1e440 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 69 6e 66 69 6c 65 2d 63 6f 76 65 72 2d 70 61 74 ction.calibredb-infile-cover-pat
1e460 68 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 h."calibredb-utils.el").(declare
1e480 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 65 78 74 72 61 63 74 2d 63 6f 76 65 -function.calibredb-extract-cove
1e4a0 72 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 r."calibredb-utils.el").(declare
1e4c0 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 61 74 61 6c 6f 67 2d 62 69 62 2d -function.calibredb-catalog-bib-
1e4e0 64 69 73 70 61 74 63 68 20 22 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2e 65 6c dispatch."calibredb-transient.el
1e500 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 65 ").(declare-function.calibredb-e
1e520 78 70 6f 72 74 2d 64 69 73 70 61 74 63 68 20 22 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 xport-dispatch."calibredb-transi
1e540 65 6e 74 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 ent.el").(declare-function.calib
1e560 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 20 22 63 61 6c 69 62 72 65 64 62 2d redb-edit-annotation."calibredb-
1e580 61 6e 6e 6f 74 61 74 69 6f 6e 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f annotation.el").(declare-functio
1e5a0 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 61 67 73 20 22 n.calibredb-set-metadata--tags."
1e5c0 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 calibredb-utils.el").(declare-fu
1e5e0 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 61 nction.calibredb-set-metadata--a
1e600 75 74 68 6f 72 5f 73 6f 72 74 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 uthor_sort."calibredb-utils.el")
1e620 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 .(declare-function.calibredb-set
1e640 2d 6d 65 74 61 64 61 74 61 2d 2d 61 75 74 68 6f 72 73 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 -metadata--authors."calibredb-ut
1e660 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 ils.el").(declare-function.calib
1e680 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 69 74 6c 65 20 22 63 61 6c 69 62 72 redb-set-metadata--title."calibr
1e6a0 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e edb-utils.el").(declare-function
1e6c0 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 63 6f 6d 6d 65 6e 74 .calibredb-set-metadata--comment
1e6e0 73 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 s."calibredb-utils.el").(declare
1e700 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74 -function.calibredb-edit-annotat
1e720 69 6f 6e 2d 68 65 61 64 65 72 20 22 63 61 6c 69 62 72 65 64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e ion-header."calibredb-annotation
1e740 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 .el").(declare-function.calibred
1e760 62 2d 73 68 6f 77 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 22 63 61 6c 69 62 72 65 64 62 2d 73 b-show--buffer-name."calibredb-s
1e780 68 6f 77 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 how.el").(declare-function.calib
1e7a0 72 65 64 62 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 redb-insert-image."calibredb-uti
1e7c0 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 ls.el").(declare-function.calibr
1e7e0 65 64 62 2d 73 68 6f 77 2d 6d 6f 64 65 20 22 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2e 65 6c edb-show-mode."calibredb-show.el
1e800 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 ").(declare-function.calibredb-f
1e820 69 6e 64 2d 6d 61 72 6b 65 64 2d 63 61 6e 64 69 64 61 74 65 73 20 22 63 61 6c 69 62 72 65 64 62 ind-marked-candidates."calibredb
1e840 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 -utils.el").(declare-function.ca
1e860 6c 69 62 72 65 64 62 2d 72 65 61 64 2d 6d 65 74 61 64 61 74 61 73 20 22 63 61 6c 69 62 72 65 64 libredb-read-metadatas."calibred
1e880 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 b-utils.el").(declare-function.c
1e8a0 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 alibredb-find-candidate-at-point
1e8c0 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d ."calibredb-utils.el").(declare-
1e8e0 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 72 65 66 72 65 73 68 20 function.calibredb-show-refresh.
1e900 22 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 "calibredb-show.el").(declare-fu
1e920 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 69 6e 69 74 20 22 63 61 6c 69 62 nction.calibredb-get-init."calib
1e940 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f redb-utils.el").(declare-functio
1e960 6e 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6c 69 73 74 n.calibredb-virtual-library-list
1e980 20 22 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 ."calibredb-library.el").(declar
1e9a0 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 e-function.calibredb-virtual-lib
1e9c0 72 61 72 79 2d 6e 65 78 74 20 22 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2e 65 6c 22 rary-next."calibredb-library.el"
1e9e0 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 76 69 ).(declare-function.calibredb-vi
1ea00 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 70 72 65 76 69 6f 75 73 20 22 63 61 6c 69 62 72 65 64 rtual-library-previous."calibred
1ea20 62 2d 6c 69 62 72 61 72 79 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e b-library.el").(declare-function
1ea40 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 63 61 6e 64 69 64 61 74 65 73 20 22 63 61 .calibredb-folder-candidates."ca
1ea60 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e libredb-folder.el").(declare-fun
1ea80 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 75 70 64 61 74 65 2d 74 61 ction.calibredb-folder-update-ta
1eaa0 67 73 2d 62 79 2d 6c 70 61 74 68 20 22 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2e 65 6c gs-by-lpath."calibredb-folder.el
1eac0 22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d ")..(defcustom.calibredb-search-
1eae0 66 69 6c 74 65 72 20 22 22 0a 20 20 22 51 75 65 72 79 20 73 74 72 69 6e 67 20 66 69 6c 74 65 72 filter.""..."Query.string.filter
1eb00 69 6e 67 20 73 68 6f 77 6e 20 65 6e 74 72 69 65 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 ing.shown.entries."...:group.'ca
1eb20 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 76 61 libredb...:type.'string)..(defva
1eb40 72 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 2d 61 63 74 69 76 65 r.calibredb-search-filter-active
1eb60 20 6e 69 6c 0a 20 20 22 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 63 61 6c 69 62 72 65 64 62 20 .nil..."When.non-nil,.calibredb.
1eb80 69 73 20 63 75 72 72 65 6e 74 6c 79 20 72 65 61 64 69 6e 67 20 61 20 66 69 6c 74 65 72 20 66 72 is.currently.reading.a.filter.fr
1eba0 6f 6d 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 2e 0a 57 68 65 6e 20 6c 69 76 65 20 65 64 69 om.the.minibuffer..When.live.edi
1ebc0 74 69 6e 67 20 74 68 65 20 66 69 6c 74 65 72 2c 20 69 74 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 ting.the.filter,.it.is.bound.to.
1ebe0 3a 6c 69 76 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 :live.")..(defvar.calibredb-sear
1ec00 63 68 2d 6c 61 73 74 2d 75 70 64 61 74 65 20 30 0a 20 20 22 54 68 65 20 6c 61 73 74 20 74 69 6d ch-last-update.0..."The.last.tim
1ec20 65 20 74 68 65 20 62 75 66 66 65 72 20 77 61 73 20 72 65 64 72 61 77 6e 20 69 6e 20 65 70 6f 63 e.the.buffer.was.redrawn.in.epoc
1ec40 68 20 73 65 63 6f 6e 64 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d h.seconds.")..(defvar.calibredb-
1ec60 73 65 61 72 63 68 2d 70 72 69 6e 74 2d 65 6e 74 72 79 2d 66 75 6e 63 74 69 6f 6e 20 23 27 63 61 search-print-entry-function.#'ca
1ec80 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 70 72 69 6e 74 2d 65 6e 74 72 79 2d 2d 64 65 66 61 libredb-search-print-entry--defa
1eca0 75 6c 74 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 74 6f 20 70 72 69 6e 74 20 65 6e 74 72 69 65 73 ult..."Function.to.print.entries
1ecc0 20 69 6e 74 6f 20 74 68 65 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 20 62 75 66 .into.the.*calibredb-search*.buf
1ece0 66 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66 69 fer.")..(defvar.calibredb-tag-fi
1ed00 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 66 61 lter-p.nil).(defvar.calibredb-fa
1ed20 76 6f 72 69 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 28 64 65 66 76 61 72 20 63 61 6c vorite-filter-p.nil).(defvar.cal
1ed40 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 28 64 65 66 ibredb-author-filter-p.nil).(def
1ed60 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 var.calibredb-date-filter-p.nil)
1ed80 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 69 6c 74 65 72 .(defvar.calibredb-format-filter
1eda0 2d 70 20 6e 69 6c 29 0a 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 -p.nil)..(defvar.calibredb-searc
1edc0 68 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 28 6c 65 74 20 28 28 6d 61 70 20 28 6d 61 6b 65 2d 73 70 h-mode-map...(let.((map.(make-sp
1ede0 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d arse-keymap))).....(define-key.m
1ee00 61 70 20 5b 6d 6f 75 73 65 2d 33 5d 20 23 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d ap.[mouse-3].#'calibredb-search-
1ee20 6d 6f 75 73 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 mouse).....(define-key.map.(kbd.
1ee40 22 3c 52 45 54 3e 22 29 20 23 27 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 66 69 6c 65 29 0a "<RET>").#'calibredb-find-file).
1ee60 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 3f 22 20 23 27 63 61 6c 69 62 72 ....(define-key.map."?".#'calibr
1ee80 65 64 62 2d 64 69 73 70 61 74 63 68 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 edb-dispatch).....(define-key.ma
1eea0 70 20 22 61 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 61 64 64 29 0a 20 20 20 20 28 64 65 66 69 p."a".#'calibredb-add).....(defi
1eec0 6e 65 2d 6b 65 79 20 6d 61 70 20 22 41 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 61 64 64 2d 64 ne-key.map."A".#'calibredb-add-d
1eee0 69 72 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 63 22 20 23 27 63 61 ir).....(define-key.map."c".#'ca
1ef00 6c 69 62 72 65 64 62 2d 63 6c 6f 6e 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d libredb-clone).....(define-key.m
1ef20 61 70 20 22 64 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 72 65 6d 6f 76 65 29 0a 20 20 20 20 28 ap."d".#'calibredb-remove).....(
1ef40 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 44 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 72 define-key.map."D".#'calibredb-r
1ef60 65 6d 6f 76 65 2d 6d 61 72 6b 65 64 2d 69 74 65 6d 73 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d emove-marked-items).....(define-
1ef80 6b 65 79 20 6d 61 70 20 22 6a 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 6e 65 78 74 2d 65 6e 74 key.map."j".#'calibredb-next-ent
1efa0 72 79 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 6b 22 20 23 27 63 61 ry).....(define-key.map."k".#'ca
1efc0 6c 69 62 72 65 64 62 2d 70 72 65 76 69 6f 75 73 2d 65 6e 74 72 79 29 0a 20 20 20 20 28 64 65 66 libredb-previous-entry).....(def
1efe0 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 6c 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 ine-key.map."l".#'calibredb-virt
1f000 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6c 69 73 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 ual-library-list).....(define-ke
1f020 79 20 6d 61 70 20 22 4c 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 6c 69 y.map."L".#'calibredb-library-li
1f040 73 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 6e 22 20 23 27 63 61 st).....(define-key.map."n".#'ca
1f060 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6e 65 78 74 29 0a 20 20 libredb-virtual-library-next)...
1f080 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 4e 22 20 23 27 63 61 6c 69 62 72 65 64 ..(define-key.map."N".#'calibred
1f0a0 62 2d 6c 69 62 72 61 72 79 2d 6e 65 78 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 b-library-next).....(define-key.
1f0c0 6d 61 70 20 22 70 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 map."p".#'calibredb-virtual-libr
1f0e0 61 72 79 2d 70 72 65 76 69 6f 75 73 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 ary-previous).....(define-key.ma
1f100 70 20 22 50 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 70 72 65 76 69 6f p."P".#'calibredb-library-previo
1f120 75 73 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 73 22 20 23 27 63 61 us).....(define-key.map."s".#'ca
1f140 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 64 69 73 70 61 74 63 68 29 0a 20 libredb-set-metadata-dispatch)..
1f160 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 53 22 20 23 27 63 61 6c 69 62 72 65 ...(define-key.map."S".#'calibre
1f180 64 62 2d 73 77 69 74 63 68 2d 6c 69 62 72 61 72 79 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b db-switch-library).....(define-k
1f1a0 65 79 20 6d 61 70 20 22 67 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 66 69 6c 74 65 72 2d 64 69 ey.map."g".#'calibredb-filter-di
1f1c0 73 70 61 74 63 68 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 6f 22 20 spatch).....(define-key.map."o".
1f1e0 23 27 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 64 69 73 70 61 74 63 68 29 0a 20 20 20 20 28 #'calibredb-sort-dispatch).....(
1f200 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 4f 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 66 define-key.map."O".#'calibredb-f
1f220 69 6e 64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 66 72 61 6d 65 29 0a 20 20 20 20 28 64 65 66 69 6e ind-file-other-frame).....(defin
1f240 65 2d 6b 65 79 20 6d 61 70 20 22 76 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 76 69 65 77 29 0a e-key.map."v".#'calibredb-view).
1f260 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 56 22 20 23 27 63 61 6c 69 62 72 ....(define-key.map."V".#'calibr
1f280 65 64 62 2d 6f 70 65 6e 2d 66 69 6c 65 2d 77 69 74 68 2d 64 65 66 61 75 6c 74 2d 74 6f 6f 6c 29 edb-open-file-with-default-tool)
1f2a0 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 2c 22 20 23 27 63 61 6c 69 62 .....(define-key.map.",".#'calib
1f2c0 72 65 64 62 2d 71 75 69 63 6b 2d 6c 6f 6f 6b 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 redb-quick-look).....(define-key
1f2e0 20 6d 61 70 20 22 2e 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 64 69 72 65 64 2d 6f 70 65 6e 29 .map.".".#'calibredb-dired-open)
1f300 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 79 22 20 23 27 63 61 6c 69 62 .....(define-key.map."y".#'calib
1f320 72 65 64 62 2d 79 61 6e 6b 2d 64 69 73 70 61 74 63 68 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d redb-yank-dispatch).....(define-
1f340 6b 65 79 20 6d 61 70 20 22 62 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 63 61 74 61 6c 6f 67 2d key.map."b".#'calibredb-catalog-
1f360 62 69 62 2d 64 69 73 70 61 74 63 68 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 bib-dispatch).....(define-key.ma
1f380 70 20 22 65 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72 74 2d 64 69 73 70 61 74 63 p."e".#'calibredb-export-dispatc
1f3a0 68 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 72 22 20 23 27 63 61 6c h).....(define-key.map."r".#'cal
1f3c0 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d 61 6e 64 2d 63 6c 65 61 72 2d ibredb-search-refresh-and-clear-
1f3e0 66 69 6c 74 65 72 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 52 22 20 filter).....(define-key.map."R".
1f400 23 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63 6c 65 61 72 2d 66 69 6c 74 65 72 29 #'calibredb-search-clear-filter)
1f420 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 71 22 20 23 27 63 61 6c 69 62 .....(define-key.map."q".#'calib
1f440 72 65 64 62 2d 73 65 61 72 63 68 2d 71 75 69 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 redb-search-quit).....(define-ke
1f460 79 20 6d 61 70 20 22 6d 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 6d 61 72 6b 2d 61 6e 64 2d 66 y.map."m".#'calibredb-mark-and-f
1f480 6f 72 77 61 72 64 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 2a 22 20 orward).....(define-key.map."*".
1f4a0 23 27 63 61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 66 61 76 6f 72 69 74 65 2d 61 74 2d 70 #'calibredb-toggle-favorite-at-p
1f4c0 6f 69 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 78 22 20 23 27 oint).....(define-key.map."x".#'
1f4e0 63 61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 61 72 63 68 69 76 65 2d 61 74 2d 70 6f 69 6e calibredb-toggle-archive-at-poin
1f500 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 68 22 20 23 27 63 61 6c t).....(define-key.map."h".#'cal
1f520 69 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 68 69 67 68 6c 69 67 68 74 2d 61 74 2d 70 6f 69 6e 74 ibredb-toggle-highlight-at-point
1f540 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 75 22 20 23 27 63 61 6c 69 ).....(define-key.map."u".#'cali
1f560 62 72 65 64 62 2d 75 6e 6d 61 72 6b 2d 61 6e 64 2d 66 6f 72 77 61 72 64 29 0a 20 20 20 20 28 64 bredb-unmark-and-forward).....(d
1f580 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 69 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 65 64 efine-key.map."i".#'calibredb-ed
1f5a0 69 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d it-annotation).....(define-key.m
1f5c0 61 70 20 28 6b 62 64 20 22 3c 44 45 4c 3e 22 29 20 23 27 63 61 6c 69 62 72 65 64 62 2d 75 6e 6d ap.(kbd."<DEL>").#'calibredb-unm
1f5e0 61 72 6b 2d 61 6e 64 2d 62 61 63 6b 77 61 72 64 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 ark-and-backward).....(define-ke
1f600 79 20 6d 61 70 20 28 6b 62 64 20 22 3c 62 61 63 6b 74 61 62 3e 22 29 20 23 27 63 61 6c 69 62 72 y.map.(kbd."<backtab>").#'calibr
1f620 65 64 62 2d 74 6f 67 67 6c 65 2d 76 69 65 77 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 edb-toggle-view).....(define-key
1f640 20 6d 61 70 20 28 6b 62 64 20 22 54 41 42 22 29 20 23 27 63 61 6c 69 62 72 65 64 62 2d 74 6f 67 .map.(kbd."TAB").#'calibredb-tog
1f660 67 6c 65 2d 76 69 65 77 2d 61 74 2d 70 6f 69 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b gle-view-at-point).....(define-k
1f680 65 79 20 6d 61 70 20 22 5c 4d 2d 6e 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6e ey.map."\M-n".#'calibredb-show-n
1f6a0 65 78 74 2d 65 6e 74 72 79 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 ext-entry).....(define-key.map."
1f6c0 5c 4d 2d 70 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 70 72 65 76 69 6f 75 73 2d \M-p".#'calibredb-show-previous-
1f6e0 65 6e 74 72 79 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 2f 22 20 23 entry).....(define-key.map."/".#
1f700 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6c 69 76 65 2d 66 69 6c 74 65 72 29 0a 20 'calibredb-search-live-filter)..
1f720 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c 4d 2d 74 22 20 23 27 63 61 6c 69 ...(define-key.map."\M-t".#'cali
1f740 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 61 67 73 29 0a 20 20 20 20 28 64 bredb-set-metadata--tags).....(d
1f760 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c 4d 2d 61 22 20 23 27 63 61 6c 69 62 72 65 64 62 efine-key.map."\M-a".#'calibredb
1f780 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 61 75 74 68 6f 72 5f 73 6f 72 74 29 0a 20 20 20 20 -set-metadata--author_sort).....
1f7a0 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c 4d 2d 41 22 20 23 27 63 61 6c 69 62 72 65 (define-key.map."\M-A".#'calibre
1f7c0 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 61 75 74 68 6f 72 73 29 0a 20 20 20 20 28 64 db-set-metadata--authors).....(d
1f7e0 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c 4d 2d 54 22 20 23 27 63 61 6c 69 62 72 65 64 62 efine-key.map."\M-T".#'calibredb
1f800 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 69 74 6c 65 29 0a 20 20 20 20 28 64 65 66 69 6e -set-metadata--title).....(defin
1f820 65 2d 6b 65 79 20 6d 61 70 20 22 5c 4d 2d 63 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 73 65 74 e-key.map."\M-c".#'calibredb-set
1f840 2d 6d 65 74 61 64 61 74 61 2d 2d 63 6f 6d 6d 65 6e 74 73 29 0a 20 20 20 20 6d 61 70 29 0a 20 20 -metadata--comments).....map)...
1f860 22 4b 65 79 6d 61 70 20 66 6f 72 20 60 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f "Keymap.for.`calibredb-search-mo
1f880 64 65 27 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 de'.")..(defvar.calibredb-edit-a
1f8a0 6e 6e 6f 74 61 74 69 6f 6e 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 28 6c 65 74 20 28 28 6d 61 70 20 nnotation-mode-map...(let.((map.
1f8c0 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 29 0a 20 20 20 20 28 64 65 66 69 (make-sparse-keymap))).....(defi
1f8e0 6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c 43 2d 63 5c 43 2d 63 22 20 27 63 61 6c 69 62 72 65 64 62 ne-key.map."\C-c\C-c".'calibredb
1f900 2d 73 65 6e 64 2d 65 64 69 74 65 64 2d 61 6e 6e 6f 74 61 74 69 6f 6e 29 0a 20 20 20 20 28 64 65 -send-edited-annotation).....(de
1f920 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c 43 2d 63 5c 43 2d 6b 22 20 27 63 61 6c 69 62 72 65 fine-key.map."\C-c\C-k".'calibre
1f940 64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 71 75 69 74 29 0a 20 20 20 20 6d 61 70 29 0a 20 20 22 db-annotation-quit).....map)..."
1f960 4b 65 79 6d 61 70 20 66 6f 72 20 60 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 Keymap.for.`calibredb-edit-annot
1f980 61 74 69 6f 6e 2d 6d 6f 64 65 27 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 ation-mode'.")..(defvar.calibred
1f9a0 62 2d 73 65 61 72 63 68 2d 68 65 61 64 65 72 2d 66 75 6e 63 74 69 6f 6e 20 23 27 63 61 6c 69 62 b-search-header-function.#'calib
1f9c0 72 65 64 62 2d 73 65 61 72 63 68 2d 68 65 61 64 65 72 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 74 redb-search-header..."Function.t
1f9e0 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 73 74 72 69 6e 67 20 74 6f 20 62 65 20 75 73 65 hat.returns.the.string.to.be.use
1fa00 64 20 66 6f 72 20 74 68 65 20 43 61 6c 69 62 72 65 64 62 20 73 65 61 72 63 68 20 68 65 61 64 65 d.for.the.Calibredb.search.heade
1fa20 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 69 6d 61 67 65 73 2d 70 r.")..(defvar.calibredb-images-p
1fa40 61 74 68 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 ath.(concat.(file-name-directory
1fa60 20 6c 6f 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 29 20 22 69 6d 67 22 29 0a 20 20 22 52 65 6c 61 74 .load-file-name)."img")..."Relat
1fa80 69 76 65 20 70 61 74 68 20 74 6f 20 69 6d 61 67 65 73 2e 22 29 0a 0a 28 64 65 66 63 75 73 74 6f ive.path.to.images.")..(defcusto
1faa0 6d 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 75 6e 69 71 75 65 2d 62 75 66 66 65 72 m.calibredb-search-unique-buffer
1fac0 73 20 6e 69 6c 0a 20 20 22 54 4f 44 4f 3a 20 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 76 65 s.nil..."TODO:.When.non-nil,.eve
1fae0 72 79 20 65 6e 74 72 79 20 62 75 66 66 65 72 20 67 65 74 73 20 61 20 75 6e 69 71 75 65 20 6e 61 ry.entry.buffer.gets.a.unique.na
1fb00 6d 65 2e 0a 54 68 69 73 20 61 6c 6c 6f 77 73 20 66 6f 72 20 64 69 73 70 6c 61 79 69 6e 67 20 6d me..This.allows.for.displaying.m
1fb20 75 6c 74 69 70 6c 65 20 73 65 72 63 68 20 62 75 66 66 65 72 73 20 61 74 20 74 68 65 20 73 61 6d ultiple.serch.buffers.at.the.sam
1fb40 65 0a 74 69 6d 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a e.time."...:group.'calibredb...:
1fb60 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 type.'boolean)..(define-obsolete
1fb80 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 23 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 -function-alias.#'calibredb-sear
1fba0 63 68 2d 72 65 74 0a 20 20 27 63 61 6c 69 62 72 65 64 62 2d 76 69 65 77 20 22 63 61 6c 69 62 72 ch-ret...'calibredb-view."calibr
1fbc0 65 64 62 20 32 2e 30 2e 30 22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 edb.2.0.0")..(defcustom.calibred
1fbe0 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 20 6e 69 6c 0a 20 20 22 53 65 74 20 4e 6f 6e 2d 6e b-detailed-view.nil..."Set.Non-n
1fc00 69 6c 20 74 6f 20 63 68 61 6e 67 65 20 64 65 74 61 69 6c 20 76 69 65 77 2c 20 6e 69 6c 20 74 6f il.to.change.detail.view,.nil.to
1fc20 20 63 6f 6d 70 61 63 74 20 76 69 65 77 20 2d 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 .compact.view.-.*calibredb-searc
1fc40 68 2a 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 h*."...:group.'calibredb...:type
1fc60 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 76 61 72 .'boolean)..(define-obsolete-var
1fc80 69 61 62 6c 65 2d 61 6c 69 61 73 20 27 63 61 6c 69 62 72 65 64 62 2d 64 65 74 69 61 6c 2d 76 69 iable-alias.'calibredb-detial-vi
1fca0 65 77 20 27 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 0a 20 20 22 53 ew.'calibredb-detailed-view..."S
1fcc0 65 65 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 65 6e 79 61 6e 6d 69 6e ee.https://github.com/chenyanmin
1fce0 67 2f 63 61 6c 69 62 72 65 64 62 2e 65 6c 2f 70 75 6c 6c 2f 34 35 22 20 22 46 69 78 69 6e 67 20 g/calibredb.el/pull/45"."Fixing.
1fd00 74 79 70 6f 73 2e 22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 64 typos.")..(defcustom.calibredb-d
1fd20 65 74 61 69 6c 65 64 2d 76 69 65 77 2d 69 6d 61 67 65 2d 73 68 6f 77 20 74 0a 20 20 22 53 65 74 etailed-view-image-show.t..."Set
1fd40 20 4e 6f 6e 2d 6e 69 6c 20 74 6f 20 73 68 6f 77 20 69 6d 61 67 65 73 20 69 6e 20 64 65 74 61 69 .Non-nil.to.show.images.in.detai
1fd60 6c 65 64 20 76 69 65 77 20 2d 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 2e 22 0a led.view.-.*calibredb-search*.".
1fd80 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f ..:group.'calibredb...:type.'boo
1fda0 6c 65 61 6e 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 lean)..(defcustom.calibredb-deta
1fdc0 69 6c 65 64 2d 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78 2d 77 69 64 74 68 20 32 35 30 0a 20 20 iled-view-image-max-width.250...
1fde0 22 4d 61 78 20 57 69 64 74 68 20 66 6f 72 20 69 6d 61 67 65 73 20 69 6e 20 64 65 74 61 69 6c 65 "Max.Width.for.images.in.detaile
1fe00 64 20 76 69 65 77 20 2d 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 2e 0a 46 6f 72 d.view.-.*calibredb-search*..For
1fe20 20 45 6d 61 63 73 20 32 37 2e 31 2b 2c 20 69 66 20 69 6d 61 67 65 6d 61 67 69 63 6b 20 69 73 20 .Emacs.27.1+,.if.imagemagick.is.
1fe40 64 69 73 61 62 6c 65 64 2c 20 69 74 20 77 6f 75 6c 64 20 74 68 65 20 69 6d 61 67 65 20 77 69 64 disabled,.it.would.the.image.wid
1fe60 74 68 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 th."...:group.'calibredb...:type
1fe80 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 .'integer)..(defcustom.calibredb
1fea0 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78 2d 68 65 69 67 68 74 20 -detailed-view-image-max-height.
1fec0 32 35 30 0a 20 20 22 4d 61 78 20 68 65 69 67 68 74 20 66 6f 72 20 69 6d 61 67 65 73 20 69 6e 20 250..."Max.height.for.images.in.
1fee0 64 65 74 61 69 6c 65 64 20 76 69 65 77 20 2d 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 detailed.view.-.*calibredb-searc
1ff00 68 2a 2e 0a 46 6f 72 20 45 6d 61 63 73 20 32 37 2e 31 2b 2c 20 69 66 20 69 6d 61 67 65 6d 61 67 h*..For.Emacs.27.1+,.if.imagemag
1ff20 69 63 6b 20 69 73 20 64 69 73 61 62 6c 65 64 2c 20 74 68 65 20 69 6d 61 67 65 20 68 65 69 67 68 ick.is.disabled,.the.image.heigh
1ff40 74 20 69 73 20 69 67 6e 6f 72 65 64 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 t.is.ignored."...:group.'calibre
1ff60 64 62 0a 20 20 3a 74 79 70 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d db...:type.'integer)..(defcustom
1ff80 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 73 74 2d 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78 2d 77 .calibredb-list-view-image-max-w
1ffa0 69 64 74 68 20 35 30 30 0a 20 20 22 4d 61 78 20 57 69 64 74 68 20 66 6f 72 20 69 6d 61 67 65 73 idth.500..."Max.Width.for.images
1ffc0 20 69 6e 20 6c 69 73 74 20 76 69 65 77 20 2d 20 2a 63 61 6c 69 62 72 65 64 62 2d 6c 69 73 74 2a .in.list.view.-.*calibredb-list*
1ffe0 2e 0a 46 6f 72 20 45 6d 61 63 73 20 32 37 2e 31 2b 2c 20 69 66 20 69 6d 61 67 65 6d 61 67 69 63 ..For.Emacs.27.1+,.if.imagemagic
20000 6b 20 69 73 20 64 69 73 61 62 6c 65 64 2c 20 69 74 20 69 73 20 74 68 65 20 69 6d 61 67 65 20 77 k.is.disabled,.it.is.the.image.w
20020 69 64 74 68 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 idth."...:group.'calibredb...:ty
20040 70 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 pe.'integer)..(defcustom.calibre
20060 64 62 2d 6c 69 73 74 2d 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78 2d 68 65 69 67 68 74 20 35 30 db-list-view-image-max-height.50
20080 30 0a 20 20 22 4d 61 78 20 68 65 69 67 68 74 20 66 6f 72 20 69 6d 61 67 65 73 20 69 6e 20 6c 69 0..."Max.height.for.images.in.li
200a0 73 74 20 76 69 65 77 20 2d 20 2a 63 61 6c 69 62 72 65 64 62 2d 6c 69 73 74 2a 2e 0a 46 6f 72 20 st.view.-.*calibredb-list*..For.
200c0 45 6d 61 63 73 20 32 37 2e 31 2b 2c 20 69 66 20 69 6d 61 67 65 6d 61 67 69 63 6b 20 69 73 20 64 Emacs.27.1+,.if.imagemagick.is.d
200e0 69 73 61 62 6c 65 64 2c 20 74 68 65 20 69 6d 61 67 65 20 68 65 69 67 68 74 20 69 73 20 69 67 6e isabled,.the.image.height.is.ign
20100 6f 72 65 64 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 ored."...:group.'calibredb...:ty
20120 70 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 pe.'integer)..(defun.calibredb-s
20140 65 61 72 63 68 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 earch--buffer-name.()..."Return.
20160 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 62 75 66 66 65 72 20 6e 61 6d 65 20 66 6f 72 20 the.appropriate.buffer.name.for.
20180 45 4e 54 52 59 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 ENTRY..The.result.depends.on.the
201a0 20 76 61 6c 75 65 20 6f 66 20 60 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 75 6e 69 71 .value.of.`calibredb-search-uniq
201c0 75 65 2d 62 75 66 66 65 72 73 27 2e 22 0a 20 20 28 69 66 20 63 61 6c 69 62 72 65 64 62 2d 73 65 ue-buffers'."...(if.calibredb-se
201e0 61 72 63 68 2d 75 6e 69 71 75 65 2d 62 75 66 66 65 72 73 0a 20 20 20 20 20 20 28 66 6f 72 6d 61 arch-unique-buffers.......(forma
20200 74 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 3c 25 73 3e 2a 22 20 63 61 6c 69 t."*calibredb-search-<%s>*".cali
20220 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 0a 20 20 20 20 22 2a 63 61 6c 69 62 72 65 64 62 2d bredb-root-dir)....."*calibredb-
20240 73 65 61 72 63 68 2a 22 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f search*"))..(defun.calibredb-sho
20260 77 2d 65 6e 74 72 79 20 28 65 6e 74 72 79 20 26 6f 70 74 69 6f 6e 61 6c 20 73 77 69 74 63 68 29 w-entry.(entry.&optional.switch)
20280 0a 20 20 22 44 69 73 70 6c 61 79 20 45 4e 54 52 59 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 ..."Display.ENTRY.in.the.current
202a0 20 62 75 66 66 65 72 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 53 57 49 54 43 .buffer..Optional.argument.SWITC
202c0 48 20 74 6f 20 73 77 69 74 63 68 20 74 6f 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 H.to.switch.to.*calibredb-search
202e0 2a 20 62 75 66 66 65 72 20 74 6f 20 6f 74 68 65 72 20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 75 6e *.buffer.to.other.window."...(un
20300 6c 65 73 73 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 less.(eq.major-mode.'calibredb-s
20320 68 6f 77 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 67 65 74 2d 62 75 66 66 65 how-mode).......(when.(get-buffe
20340 72 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 65 r.(calibredb-show--buffer-name.e
20360 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 28 63 61 6c ntry)).........(kill-buffer.(cal
20380 69 62 72 65 64 62 2d 73 68 6f 77 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 65 6e 74 72 79 29 29 ibredb-show--buffer-name.entry))
203a0 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 62 75 66 66 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 ))...(let*.((buff.(get-buffer-cr
203c0 65 61 74 65 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 2d 62 75 66 66 65 72 2d 6e 61 6d eate.(calibredb-show--buffer-nam
203e0 65 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 64 20 28 63 61 6c 69 62 72 65 e.entry)))..........(id.(calibre
20400 64 62 2d 67 65 74 61 74 74 72 20 65 6e 74 72 79 20 3a 69 64 29 29 20 3b 20 6f 6e 6c 79 20 67 65 db-getattr.entry.:id)).;.only.ge
20420 74 20 74 68 65 20 69 64 0a 20 20 20 20 20 20 20 20 20 28 74 61 67 20 28 63 61 6c 69 62 72 65 64 t.the.id..........(tag.(calibred
20440 62 2d 67 65 74 61 74 74 72 20 65 6e 74 72 79 20 3a 74 61 67 29 29 0a 20 20 20 20 20 20 20 20 20 b-getattr.entry.:tag))..........
20460 28 63 6f 6d 6d 65 6e 74 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 65 6e 74 72 (comment.(calibredb-getattr.entr
20480 79 20 3a 63 6f 6d 6d 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 75 74 68 6f 72 2d 73 6f y.:comment))..........(author-so
204a0 72 74 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 65 6e 74 72 79 20 3a 61 75 74 rt.(calibredb-getattr.entry.:aut
204c0 68 6f 72 2d 73 6f 72 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 63 61 6c 69 hor-sort))..........(title.(cali
204e0 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 65 6e 74 72 79 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 bredb-getattr.entry.:book-title)
20500 29 0a 20 20 20 20 20 20 20 20 20 28 70 75 62 64 61 74 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 )..........(pubdate.(calibredb-g
20520 65 74 61 74 74 72 20 65 6e 74 72 79 20 3a 62 6f 6f 6b 2d 70 75 62 64 61 74 65 29 29 0a 20 20 20 etattr.entry.:book-pubdate))....
20540 20 20 20 20 20 20 3b 3b 20 28 71 75 65 72 79 2d 72 65 73 75 6c 74 20 28 63 64 72 20 28 63 61 72 ......;;.(query-result.(cdr.(car
20560 20 28 63 61 6c 69 62 72 65 64 62 2d 63 61 6e 64 69 64 61 74 65 20 69 64 29 29 29 29 20 3b 20 67 .(calibredb-candidate.id)))).;.g
20580 65 74 20 74 68 65 20 6e 65 77 20 65 6e 74 72 79 20 74 68 72 6f 75 67 68 20 53 51 4c 20 71 75 65 et.the.new.entry.through.SQL.que
205a0 72 79 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 ry..........(file.(calibredb-get
205c0 61 74 74 72 20 65 6e 74 72 79 20 3a 66 69 6c 65 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 attr.entry.:file-path)).........
205e0 20 28 63 6f 76 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 63 6f 76 65 72 20 65 6e 74 .(cover.(calibredb-get-cover.ent
20600 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 28 63 61 6c 69 62 72 65 64 62 ry))..........(format.(calibredb
20620 2d 67 65 74 61 74 74 72 20 65 6e 74 72 79 20 3a 62 6f 6f 6b 2d 66 6f 72 6d 61 74 29 29 0a 20 20 -getattr.entry.:book-format))...
20640 20 20 20 20 20 20 20 28 73 69 7a 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 .......(size.(calibredb-getattr.
20660 65 6e 74 72 79 20 3a 73 69 7a 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 64 73 20 28 63 61 6c entry.:size))..........(ids.(cal
20680 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 65 6e 74 72 79 20 3a 69 64 73 29 29 0a 20 20 20 20 ibredb-getattr.entry.:ids)).....
206a0 20 20 20 20 20 28 70 75 62 6c 69 73 68 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 .....(publisher.(calibredb-getat
206c0 74 72 20 65 6e 74 72 79 20 3a 70 75 62 6c 69 73 68 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 28 tr.entry.:publisher))..........(
206e0 73 65 72 69 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 65 6e 74 72 79 20 series.(calibredb-getattr.entry.
20700 3a 73 65 72 69 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 61 6e 67 5f 63 6f 64 65 20 28 63 :series))..........(lang_code.(c
20720 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 65 6e 74 72 79 20 3a 6c 61 6e 67 5f 63 6f 64 alibredb-getattr.entry.:lang_cod
20740 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 20 28 63 61 6c e))..........(last_modified.(cal
20760 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 65 6e 74 72 79 20 3a 6c 61 73 74 5f 6d 6f 64 69 66 ibredb-getattr.entry.:last_modif
20780 69 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 6f 72 69 67 69 6e 61 6c 20 28 70 6f 69 6e 74 29 ied))..........(original.(point)
207a0 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6d 61 70 20 28 6d 61 6b 65 2d 73 70 61 72 73 )..........(file-map.(make-spars
207c0 65 2d 6b 65 79 6d 61 70 29 29 0a 20 20 20 20 20 20 20 20 20 62 65 67 20 65 6e 64 29 0a 20 20 20 e-keymap))..........beg.end)....
207e0 20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 20 63 2d 62 .(let.((inhibit-read-only.t).c-b
20800 65 67 20 63 2d 65 6e 64 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 eg.c-end).......(with-current-bu
20820 66 66 65 72 20 62 75 66 66 0a 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 66 69 ffer.buff.........(define-key.fi
20840 6c 65 2d 6d 61 70 20 5b 6d 6f 75 73 65 2d 31 5d 20 27 63 61 6c 69 62 72 65 64 62 2d 66 69 6c 65 le-map.[mouse-1].'calibredb-file
20860 2d 6d 6f 75 73 65 2d 31 29 0a 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 66 69 -mouse-1).........(define-key.fi
20880 6c 65 2d 6d 61 70 20 5b 6d 6f 75 73 65 2d 33 5d 20 27 63 61 6c 69 62 72 65 64 62 2d 66 69 6c 65 le-map.[mouse-3].'calibredb-file
208a0 2d 6d 6f 75 73 65 2d 33 29 0a 20 20 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 -mouse-3).........(erase-buffer)
208c0 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 62 65 67 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 .........(setq.beg.(point)).....
208e0 20 20 20 20 3b 3b 20 28 69 6e 73 65 72 74 20 28 70 72 6f 70 65 72 74 69 7a 65 20 28 63 61 6c 69 ....;;.(insert.(propertize.(cali
20900 62 72 65 64 62 2d 73 68 6f 77 2d 6d 65 74 61 64 61 74 61 20 65 6e 74 72 79 29 20 27 63 61 6c 69 bredb-show-metadata.entry).'cali
20920 62 72 65 64 62 2d 65 6e 74 72 79 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 bredb-entry.entry)).........(ins
20940 65 72 74 20 28 66 6f 72 6d 61 74 20 22 49 44 20 20 20 20 20 20 20 20 20 20 25 73 5c 6e 22 20 28 ert.(format."ID..........%s\n".(
20960 70 72 6f 70 65 72 74 69 7a 65 20 69 64 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 69 propertize.id.'face.'calibredb-i
20980 64 2d 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6e 64 20 28 70 6f 69 d-face))).........(setq.end.(poi
209a0 6e 74 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 nt)).........(put-text-property.
209c0 62 65 67 20 65 6e 64 20 27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 20 65 6e 74 72 79 29 0a beg.end.'calibredb-entry.entry).
209e0 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 54 69 74 6c 65 20 20 ........(insert.(format."Title..
20a00 20 20 20 20 20 25 73 5c 6e 22 20 28 70 72 6f 70 65 72 74 69 7a 65 20 74 69 74 6c 65 20 27 66 61 .....%s\n".(propertize.title.'fa
20a20 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 74 69 74 6c 65 2d 66 61 63 65 29 29 29 0a 20 20 20 20 ce.'calibredb-title-face))).....
20a40 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 41 75 74 68 6f 72 5f 73 6f 72 74 ....(insert.(format."Author_sort
20a60 20 25 73 5c 6e 22 20 28 70 72 6f 70 65 72 74 69 7a 65 20 61 75 74 68 6f 72 2d 73 6f 72 74 20 27 .%s\n".(propertize.author-sort.'
20a80 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 66 61 63 65 29 29 29 0a 20 face.'calibredb-author-face)))..
20aa0 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 54 61 67 73 20 20 20 20 .......(insert.(format."Tags....
20ac0 20 20 20 20 25 73 5c 6e 22 20 28 70 72 6f 70 65 72 74 69 7a 65 20 74 61 67 20 27 66 61 63 65 20 ....%s\n".(propertize.tag.'face.
20ae0 27 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 'calibredb-tag-face))).........(
20b00 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 49 64 73 20 20 20 20 20 20 20 20 20 25 73 5c 6e insert.(format."Ids.........%s\n
20b20 22 20 28 70 72 6f 70 65 72 74 69 7a 65 20 69 64 73 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 ".(propertize.ids.'face.'calibre
20b40 64 62 2d 69 64 73 2d 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 db-ids-face))).........(insert.(
20b60 66 6f 72 6d 61 74 20 22 44 61 74 65 20 20 20 20 20 20 20 20 25 73 5c 6e 22 20 28 70 72 6f 70 65 format."Date........%s\n".(prope
20b80 72 74 69 7a 65 20 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 20 27 66 61 63 65 20 27 63 61 6c 69 62 rtize.last_modified.'face.'calib
20ba0 72 65 64 62 2d 64 61 74 65 2d 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 redb-date-face))).........(inser
20bc0 74 20 28 66 6f 72 6d 61 74 20 22 50 75 62 6c 69 73 68 65 64 20 20 20 25 73 5c 6e 22 20 28 70 72 t.(format."Published...%s\n".(pr
20be0 6f 70 65 72 74 69 7a 65 20 70 75 62 64 61 74 65 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 opertize.pubdate.'face.'calibred
20c00 62 2d 70 75 62 64 61 74 65 2d 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 b-pubdate-face))).........(inser
20c20 74 20 28 66 6f 72 6d 61 74 20 22 50 75 62 6c 69 73 68 65 72 20 20 20 25 73 5c 6e 22 20 28 70 72 t.(format."Publisher...%s\n".(pr
20c40 6f 70 65 72 74 69 7a 65 20 70 75 62 6c 69 73 68 65 72 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 opertize.publisher.'face.'calibr
20c60 65 64 62 2d 70 75 62 6c 69 73 68 65 72 2d 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 edb-publisher-face))).........(i
20c80 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 53 65 72 69 65 73 20 20 20 20 20 20 25 73 5c 6e 22 nsert.(format."Series......%s\n"
20ca0 20 28 70 72 6f 70 65 72 74 69 7a 65 20 73 65 72 69 65 73 20 27 66 61 63 65 20 27 63 61 6c 69 62 .(propertize.series.'face.'calib
20cc0 72 65 64 62 2d 73 65 72 69 65 73 2d 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 redb-series-face))).........(ins
20ce0 65 72 74 20 28 66 6f 72 6d 61 74 20 22 4c 61 6e 67 75 61 67 65 20 20 20 20 25 73 5c 6e 22 20 28 ert.(format."Language....%s\n".(
20d00 70 72 6f 70 65 72 74 69 7a 65 20 6c 61 6e 67 5f 63 6f 64 65 20 27 66 61 63 65 20 27 63 61 6c 69 propertize.lang_code.'face.'cali
20d20 62 72 65 64 62 2d 6c 61 6e 67 75 61 67 65 2d 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 3b bredb-language-face))).........;
20d40 3b 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 46 69 6c 65 20 20 20 20 20 20 20 20 25 ;.(insert.(format."File........%
20d60 73 5c 6e 22 20 28 70 72 6f 70 65 72 74 69 7a 65 20 66 69 6c 65 20 27 66 61 63 65 20 27 63 61 6c s\n".(propertize.file.'face.'cal
20d80 69 62 72 65 64 62 2d 66 69 6c 65 2d 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 ibredb-file-face))).........(ins
20da0 65 72 74 20 28 66 6f 72 6d 61 74 20 22 46 6f 72 6d 61 74 20 20 20 20 20 20 25 73 5c 6e 22 20 28 ert.(format."Format......%s\n".(
20dc0 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mapconcat.......................
20de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 69 64 65 6e 74 69 74 79 ......................#'identity
20e00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
20e20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 65 78 74 29 .............(-map.(lambda.(ext)
20e40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
20e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 .....................(propertize
20e80 20 65 78 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .ext............................
20ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
20ec0 20 20 20 20 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 61 63 .....'face.'calibredb-format-fac
20ee0 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e...............................
20f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
20f20 20 20 27 6d 6f 75 73 65 2d 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 6d 6f 75 73 65 2d 66 ..'mouse-face.'calibredb-mouse-f
20f40 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ace.............................
20f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
20f80 20 20 20 20 27 68 65 6c 70 2d 65 63 68 6f 20 28 69 66 20 28 73 74 72 69 6e 67 2d 70 72 65 66 69 ....'help-echo.(if.(string-prefi
20fa0 78 2d 70 20 22 68 74 74 70 22 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 x-p."http".file)................
20fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
20fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
21000 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 file............................
21020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
21040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e ..................(expand-file-n
21060 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ame.............................
21080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
210a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d ..................(concat.(file-
210c0 6e 61 6d 65 2d 62 61 73 65 20 66 69 6c 65 29 20 22 2e 22 20 65 78 74 29 0a 20 20 20 20 20 20 20 name-base.file).".".ext)........
210e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
21100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
21120 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 .......(file-name-directory.file
21140 29 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )).)............................
21160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
21180 20 20 20 20 20 27 6b 65 79 6d 61 70 20 66 69 6c 65 2d 6d 61 70 29 29 20 28 73 2d 73 70 6c 69 74 .....'keymap.file-map)).(s-split
211a0 20 22 2c 22 20 66 6f 72 6d 61 74 29 29 20 22 2c 20 22 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 .",".format)).",."))).........(i
211c0 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 53 69 7a 65 20 20 20 20 20 20 20 20 25 73 5c 6e 22 nsert.(format."Size........%s\n"
211e0 20 28 70 72 6f 70 65 72 74 69 7a 65 20 28 63 6f 6e 63 61 74 20 73 69 7a 65 20 22 4d 62 22 29 20 .(propertize.(concat.size."Mb").
21200 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 69 7a 65 2d 66 61 63 65 29 29 29 0a 20 20 'face.'calibredb-size-face)))...
21220 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 75 61 6c 20 63 61 6c 69 62 72 65 64 62 2d 65 6e ......(cond.((equal.calibredb-en
21240 74 72 79 2d 72 65 6e 64 65 72 2d 63 6f 6d 6d 65 6e 74 73 20 22 66 61 63 65 22 29 0a 20 20 20 20 try-render-comments."face").....
21260 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 43 6f 6d 6d ...........(insert.(format."Comm
21280 65 6e 74 73 20 20 20 20 25 73 5c 6e 22 20 28 70 72 6f 70 65 72 74 69 7a 65 20 63 6f 6d 6d 65 6e ents....%s\n".(propertize.commen
212a0 74 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 29 t.'face.'calibredb-comment-face)
212c0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 75 61 6c 20 63 61 6c 69 62 72 )))...............((equal.calibr
212e0 65 64 62 2d 65 6e 74 72 79 2d 72 65 6e 64 65 72 2d 63 6f 6d 6d 65 6e 74 73 20 22 73 68 72 22 29 edb-entry-render-comments."shr")
21300 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 27 73 68 72 29 0a 20 ................(require.'shr)..
21320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 43 6f 6d 6d 65 6e 74 73 5c ..............(insert."Comments\
21340 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 2d 62 65 67 20 28 n")................(setq.c-beg.(
21360 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 63 point))................(insert.c
21380 6f 6d 6d 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 2d 65 omment)................(setq.c-e
213a0 6e 64 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 nd.(point))................(if.(
213c0 66 62 6f 75 6e 64 70 20 27 73 68 72 2d 72 65 6e 64 65 72 2d 72 65 67 69 6f 6e 29 0a 20 20 20 20 fboundp.'shr-render-region).....
213e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 68 72 2d 72 65 6e 64 65 72 2d 72 65 67 69 6f ...............(shr-render-regio
21400 6e 20 63 2d 62 65 67 20 63 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 n.c-beg.c-end))................(
21420 69 6e 73 65 72 74 20 22 5c 6e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 insert."\n"))...............((eq
21440 75 61 6c 20 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2d 72 65 6e 64 65 72 2d 63 6f 6d 6d 65 ual.calibredb-entry-render-comme
21460 6e 74 73 20 22 61 6e 6e 6f 74 61 74 69 6f 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nts."annotation")...............
21480 20 28 69 6e 73 65 72 74 20 22 43 6f 6d 6d 65 6e 74 73 5c 6e 5c 6e 22 29 0a 20 20 20 20 20 20 20 .(insert."Comments\n\n")........
214a0 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 27 66 6f 6e 74 2d 6c 6f 63 6b 29 0a 20 20 20 ........(require.'font-lock)....
214c0 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 63 61 6c 69 62 72 65 64 62 2d 66 ............(insert.(calibredb-f
214e0 6f 6e 74 69 66 79 20 63 6f 6d 6d 65 6e 74 20 27 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 ontify.comment.'calibredb-edit-a
21500 6e 6e 6f 74 61 74 69 6f 6e 2d 6d 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nnotation-mode))................
21520 28 69 6e 73 65 72 74 20 22 5c 6e 5c 6e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (insert."\n\n"))...............(
21540 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 t................(insert.(format
21560 20 22 43 6f 6d 6d 65 6e 74 73 20 20 20 20 25 73 5c 6e 22 20 28 70 72 6f 70 65 72 74 69 7a 65 20 ."Comments....%s\n".(propertize.
21580 63 6f 6d 6d 65 6e 74 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 65 6e 74 comment.'face.'calibredb-comment
215a0 2d 66 61 63 65 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 -face))))).........(insert."\n")
215c0 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 .........(calibredb-insert-image
215e0 20 63 6f 76 65 72 20 22 22 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 73 74 2d 76 69 65 77 2d 69 6d .cover."".calibredb-list-view-im
21600 61 67 65 2d 6d 61 78 2d 77 69 64 74 68 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 73 74 2d 76 69 65 age-max-width.calibredb-list-vie
21620 77 2d 69 6d 61 67 65 2d 6d 61 78 2d 68 65 69 67 68 74 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 28 w-image-max-height).........;;.(
21640 73 65 74 71 20 65 6e 64 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 setq.end.(point)).........(calib
21660 72 65 64 62 2d 73 68 6f 77 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 redb-show-mode).........(setq.ca
21680 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 65 6e 74 72 79 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 libredb-show-entry.entry).......
216a0 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 29 0a 20 20 20 20 ..(goto-char.(point-min)))).....
216c0 28 75 6e 6c 65 73 73 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 (unless.(eq.major-mode.'calibred
216e0 62 2d 73 68 6f 77 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 63 61 6c 69 b-show-mode).......(funcall.cali
21700 62 72 65 64 62 2d 73 68 6f 77 2d 65 6e 74 72 79 2d 73 77 69 74 63 68 20 62 75 66 66 29 0a 20 20 bredb-show-entry-switch.buff)...
21720 20 20 20 20 28 77 68 65 6e 20 73 77 69 74 63 68 0a 20 20 20 20 20 20 20 20 28 73 77 69 74 63 68 ....(when.switch.........(switch
21740 2d 74 6f 2d 62 75 66 66 65 72 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 28 73 65 74 2d 62 75 66 -to-buffer-other-window.(set-buf
21760 66 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 2d 62 75 66 66 65 72 2d 6e 61 fer.(calibredb-search--buffer-na
21780 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6f 72 69 67 69 6e 61 me))).........(goto-char.origina
217a0 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6e 65 78 74 2d 65 6e l)))))..(defun.calibredb-next-en
217c0 74 72 79 20 28 29 0a 20 20 22 4d 6f 76 65 20 74 6f 20 6e 65 78 74 20 65 6e 74 72 79 2e 22 0a 20 try.()..."Move.to.next.entry."..
217e0 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 6f 72 69 20 22 22 29 20 .(interactive)...(let.((ori."").
21800 28 6e 65 77 20 22 22 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 65 71 75 61 6c (new."")).....(while.(and.(equal
21820 20 6e 65 77 20 6f 72 69 29 20 6e 65 77 20 6f 72 69 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6f .new.ori).new.ori).......(setq.o
21840 72 69 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 63 61 72 20 28 63 61 6c 69 ri.(calibredb-getattr.(car.(cali
21860 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 20 bredb-find-candidate-at-point)).
21880 3a 69 64 29 29 0a 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 31 29 0a 20 20 20 :id)).......(forward-line.1)....
218a0 20 20 20 28 73 65 74 71 20 6e 65 77 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 ...(setq.new.(calibredb-getattr.
218c0 28 63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 (car.(calibredb-find-candidate-a
218e0 74 2d 70 6f 69 6e 74 29 29 20 3a 69 64 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 t-point)).:id)))))..(defun.calib
21900 72 65 64 62 2d 70 72 65 76 69 6f 75 73 2d 65 6e 74 72 79 20 28 29 0a 20 20 22 4d 6f 76 65 20 74 redb-previous-entry.()..."Move.t
21920 6f 20 70 72 65 76 69 6f 75 73 20 65 6e 74 72 79 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 o.previous.entry."...(interactiv
21940 65 29 0a 20 20 28 6c 65 74 20 28 28 6f 72 69 20 22 22 29 20 28 6e 65 77 20 22 22 29 29 0a 20 20 e)...(let.((ori."").(new.""))...
21960 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 65 71 75 61 6c 20 6e 65 77 20 6f 72 69 29 20 6e 65 ..(while.(and.(equal.new.ori).ne
21980 77 20 6f 72 69 20 28 3e 20 28 6c 69 6e 65 2d 6e 75 6d 62 65 72 2d 61 74 2d 70 6f 73 29 20 31 29 w.ori.(>.(line-number-at-pos).1)
219a0 29 0a 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 2d 31 29 0a 20 20 20 20 20 20 ).......(forward-line.-1).......
219c0 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6f 72 (save-excursion.........(setq.or
219e0 69 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 63 61 72 20 28 63 61 6c 69 62 i.(calibredb-getattr.(car.(calib
21a00 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 20 3a redb-find-candidate-at-point)).:
21a20 69 64 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 2d 31 29 0a 20 id)).........(forward-line.-1)..
21a40 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 65 77 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 .......(setq.new.(calibredb-geta
21a60 74 74 72 20 28 63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 ttr.(car.(calibredb-find-candida
21a80 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 20 3a 69 64 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 te-at-point)).:id))))))..(defun.
21aa0 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6e 65 78 74 2d 65 6e 74 72 79 20 28 29 0a 20 20 22 calibredb-show-next-entry.()..."
21ac0 53 68 6f 77 20 6e 65 78 74 20 65 6e 74 72 79 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 Show.next.entry."...(interactive
21ae0 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 6e 65 78 74 2d 65 6e 74 72 79 29 0a 20 20 28 63 61 )...(calibredb-next-entry)...(ca
21b00 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 65 6e 74 72 79 20 28 63 61 72 20 28 63 61 6c 69 62 72 65 libredb-show-entry.(car.(calibre
21b20 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 20 3a 73 77 db-find-candidate-at-point)).:sw
21b40 69 74 63 68 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 70 72 itch))..(defun.calibredb-show-pr
21b60 65 76 69 6f 75 73 2d 65 6e 74 72 79 20 28 29 0a 20 20 22 53 68 6f 77 20 70 72 65 76 69 6f 75 73 evious-entry.()..."Show.previous
21b80 20 65 6e 74 72 79 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 63 61 6c 69 .entry."...(interactive)...(cali
21ba0 62 72 65 64 62 2d 70 72 65 76 69 6f 75 73 2d 65 6e 74 72 79 29 0a 20 20 28 63 61 6c 69 62 72 65 bredb-previous-entry)...(calibre
21bc0 64 62 2d 73 68 6f 77 2d 65 6e 74 72 79 20 28 63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 db-show-entry.(car.(calibredb-fi
21be0 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 20 3a 73 77 69 74 63 68 29 nd-candidate-at-point)).:switch)
21c00 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 62 75 66 66 65 )..(defun.calibredb-search-buffe
21c20 72 20 28 29 0a 20 20 22 43 72 65 61 74 65 20 62 75 66 66 65 72 20 63 61 6c 69 62 72 65 64 62 2d r.()..."Create.buffer.calibredb-
21c40 73 65 61 72 63 68 2e 22 0a 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 search."...(let.((buffer.(get-bu
21c60 66 66 65 72 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 22 29 29 29 0a 20 20 20 ffer."*calibredb-search*")))....
21c80 20 28 69 66 20 28 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 20 62 75 66 66 65 72 29 0a 20 20 20 20 .(if.(buffer-live-p.buffer).....
21ca0 20 20 20 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 75 66 66 65 72 20 28 67 ....buffer.......(setq.buffer.(g
21cc0 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 et-buffer-create."*calibredb-sea
21ce0 72 63 68 2a 22 29 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 rch*")).......(with-current-buff
21d00 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 er.buffer.........(calibredb-sea
21d20 72 63 68 2d 6d 6f 64 65 29 29 29 0a 20 20 20 20 62 75 66 66 65 72 29 29 0a 0a 28 64 65 66 75 6e rch-mode))).....buffer))..(defun
21d40 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 68 65 61 64 65 72 20 28 29 0a 20 20 22 54 .calibredb-search-header.()..."T
21d60 4f 44 4f 3a 20 52 65 74 75 72 6e 20 74 68 65 20 73 74 72 69 6e 67 20 74 6f 20 62 65 20 75 73 65 ODO:.Return.the.string.to.be.use
21d80 64 20 61 73 20 74 68 65 20 43 61 6c 69 62 72 65 64 62 20 68 65 61 64 65 72 2e 0a 49 6e 64 69 63 d.as.the.Calibredb.header..Indic
21da0 61 74 69 6e 67 20 74 68 65 20 6c 69 62 72 61 72 79 20 79 6f 75 20 75 73 65 2e 22 0a 20 20 28 66 ating.the.library.you.use."...(f
21dc0 6f 72 6d 61 74 20 22 25 73 3a 20 25 73 20 20 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 28 70 ormat."%s:.%s...%s"...........(p
21de0 72 6f 70 65 72 74 69 7a 65 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 ropertize.calibredb-virtual-libr
21e00 61 72 79 2d 6e 61 6d 65 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 ary-name.'face.'calibredb-search
21e20 2d 68 65 61 64 65 72 2d 6c 69 62 72 61 72 79 2d 6e 61 6d 65 2d 66 61 63 65 29 0a 20 20 20 20 20 -header-library-name-face)......
21e40 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d .....(propertize.calibredb-root-
21e60 64 69 72 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 68 65 61 64 dir.'face.'calibredb-search-head
21e80 65 72 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 2d 66 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 er-library-path-face)...........
21ea0 28 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 28 (concat............(propertize.(
21ec0 66 6f 72 6d 61 74 20 22 54 6f 74 61 6c 3a 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 format."Total:.%s"..............
21ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 75 61 6c 20 63 61 6c ..................(if.(equal.cal
21f00 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 65 6e 74 72 69 65 73 2d 6c 65 6e 67 74 68 20 30 29 0a ibredb-search-entries-length.0).
21f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
21f40 20 20 20 22 30 20 20 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."0...".......................
21f60 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 28 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 ...........(concat.(number-to-st
21f80 72 69 6e 67 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 65 6e 74 72 69 65 73 2d 6c 65 ring.calibredb-search-entries-le
21fa0 6e 67 74 68 29 20 22 20 20 22 29 29 29 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 ngth).".."))).'face.'calibredb-s
21fc0 65 61 72 63 68 2d 68 65 61 64 65 72 2d 74 6f 74 61 6c 2d 66 61 63 65 29 0a 20 20 20 20 20 20 20 earch-header-total-face)........
21fe0 20 20 20 20 28 66 6f 72 6d 61 74 20 22 50 61 67 65 3a 20 25 73 2f 25 73 20 20 22 0a 20 20 20 20 ....(format."Page:.%s/%s..".....
22000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 28 6e 75 6d 62 ...............(propertize.(numb
22020 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63 75 er-to-string.calibredb-search-cu
22040 72 72 65 6e 74 2d 70 61 67 65 29 20 27 66 61 63 65 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 74 79 70 rrent-page).'face.'font-lock-typ
22060 65 2d 66 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 e-face)....................(prop
22080 65 72 74 69 7a 65 20 28 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 63 61 6c 69 62 72 65 ertize.(number-to-string.calibre
220a0 64 62 2d 73 65 61 72 63 68 2d 70 61 67 65 73 29 20 27 66 61 63 65 20 27 66 6f 6e 74 2d 6c 6f 63 db-search-pages).'face.'font-loc
220c0 6b 2d 74 79 70 65 2d 66 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 k-type-face))............(cond.(
220e0 28 65 71 20 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 20 27 69 64 29 0a 20 20 20 20 20 (eq.calibredb-sort-by.'id)......
22100 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 6f 72 74 3a 20 69 64 20 22 29 0a 20 20 20 20 20 20 ............."Sort:.id.").......
22120 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 ...........((eq.calibredb-sort-b
22140 79 20 27 74 69 74 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 6f 72 y.'title)..................."Sor
22160 74 3a 20 74 69 74 6c 65 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 t:.title.")..................((e
22180 71 20 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 20 27 61 75 74 68 6f 72 29 0a 20 20 20 q.calibredb-sort-by.'author)....
221a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 6f 72 74 3a 20 61 75 74 68 6f 72 20 22 29 0a ..............."Sort:.author.").
221c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 63 61 6c 69 62 72 65 64 62 2d .................((eq.calibredb-
221e0 73 6f 72 74 2d 62 79 20 27 66 6f 72 6d 61 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sort-by.'format)................
22200 20 20 20 22 53 6f 72 74 3a 20 66 6f 72 6d 61 74 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..."Sort:.format.").............
22220 20 20 20 20 20 28 28 65 71 20 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 20 27 64 61 74 .....((eq.calibredb-sort-by.'dat
22240 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 6f 72 74 3a 20 64 61 74 65 e)..................."Sort:.date
22260 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 63 61 6c 69 62 72 .")..................((eq.calibr
22280 65 64 62 2d 73 6f 72 74 2d 62 79 20 27 70 75 62 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 edb-sort-by.'pubdate)...........
222a0 20 20 20 20 20 20 20 20 22 53 6f 72 74 3a 20 70 75 62 64 61 74 65 20 22 29 0a 20 20 20 20 20 20 ........"Sort:.pubdate.").......
222c0 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 ...........((eq.calibredb-sort-b
222e0 79 20 27 74 61 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 6f 72 74 3a y.'tag)..................."Sort:
22300 20 74 61 67 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 63 61 .tag.")..................((eq.ca
22320 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 20 27 73 69 7a 65 29 0a 20 20 20 20 20 20 20 20 20 libredb-sort-by.'size)..........
22340 20 20 20 20 20 20 20 20 20 22 53 6f 72 74 3a 20 73 69 7a 65 20 22 29 0a 20 20 20 20 20 20 20 20 ........."Sort:.size.").........
22360 20 20 20 20 20 20 20 20 20 28 28 65 71 20 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 20 .........((eq.calibredb-sort-by.
22380 27 6c 61 6e 67 75 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 6f 'language)..................."So
223a0 72 74 3a 20 6c 61 6e 67 75 61 67 65 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rt:.language.").................
223c0 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 6f 72 74 3a 20 69 64 20 .(t..................."Sort:.id.
223e0 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 20 63 61 6c 69 62 72 "))............(cond.((eq.calibr
22400 65 64 62 2d 6f 72 64 65 72 20 27 64 65 73 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 edb-order.'desc)................
22420 20 20 20 22 e2 86 93 20 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 ...".....")..................((e
22440 71 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 64 65 72 20 27 61 73 63 29 0a 20 20 20 20 20 20 20 20 q.calibredb-order.'asc).........
22460 20 20 20 20 20 20 20 20 20 20 22 e2 86 91 20 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........".....")..............
22480 20 20 20 20 28 74 20 22 e2 86 93 20 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f ....(t."....."))............(pro
224a0 70 65 72 74 69 7a 65 20 28 66 6f 72 6d 61 74 20 22 25 73 25 73 22 0a 20 20 20 20 20 20 20 20 20 pertize.(format."%s%s"..........
224c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 ......................(cond.....
224e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c ............................(cal
22500 69 62 72 65 64 62 2d 74 61 67 2d 66 69 6c 74 65 72 2d 70 20 22 54 61 67 3a 20 22 29 0a 20 20 20 ibredb-tag-filter-p."Tag:.")....
22520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 .............................(ca
22540 6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d 66 69 6c 74 65 72 2d 70 20 22 46 61 76 6f 72 libredb-favorite-filter-p."Favor
22560 69 74 65 3a 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ite:.").........................
22580 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 66 69 6c 74 65 72 ........(calibredb-author-filter
225a0 2d 70 20 22 41 75 74 68 6f 72 3a 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -p."Author:.")..................
225c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 2d 66 ...............(calibredb-date-f
225e0 69 6c 74 65 72 2d 70 20 22 44 61 74 65 3a 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ilter-p."Date:.")...............
22600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 ..................(calibredb-for
22620 6d 61 74 2d 66 69 6c 74 65 72 2d 70 20 22 46 6f 72 6d 61 74 3a 20 22 29 0a 20 20 20 20 20 20 20 mat-filter-p."Format:.")........
22640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 22 22 29 29 .........................(t.""))
22660 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
22680 28 69 66 20 28 65 71 75 61 6c 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 66 69 6c 74 (if.(equal.calibredb-search-filt
226a0 65 72 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 er."")..........................
226c0 20 20 20 20 20 20 20 20 20 20 22 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........""....................
226e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 63 61 6c 69 62 72 65 64 62 2d ..............(concat.calibredb-
22700 73 65 61 72 63 68 2d 66 69 6c 74 65 72 20 22 20 20 20 22 29 29 29 20 27 66 61 63 65 20 27 63 61 search-filter."..."))).'face.'ca
22720 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 68 65 61 64 65 72 2d 73 6f 72 74 2d 66 61 63 65 29 libredb-search-header-sort-face)
22740 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 28 6c 65 74 20 28 28 6c ............(propertize.(let.((l
22760 65 6e 20 28 6c 65 6e 67 74 68 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 6d 61 72 6b 65 en.(length.(calibredb-find-marke
22780 64 2d 63 61 6e 64 69 64 61 74 65 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d-candidates))))................
227a0 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3e 20 6c 65 6e 20 30 29 0a 20 20 20 20 20 20 20 20 ..........(if.(>.len.0).........
227c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 4d 61 .....................(concat."Ma
227e0 72 6b 65 64 3a 20 22 20 28 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 6c 65 6e 29 29 20 rked:.".(number-to-string.len)).
22800 22 22 29 29 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 68 65 61 "")).'face.'calibredb-search-hea
22820 64 65 72 2d 66 69 6c 74 65 72 2d 66 61 63 65 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 64 65 72 der-filter-face))))..(define-der
22840 69 76 65 64 2d 6d 6f 64 65 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 20 ived-mode.calibredb-search-mode.
22860 66 75 6e 64 61 6d 65 6e 74 61 6c 2d 6d 6f 64 65 20 22 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 fundamental-mode."calibredb-sear
22880 63 68 22 0a 20 20 22 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 6c 69 73 74 69 6e 67 20 63 61 ch"..."Major.mode.for.listing.ca
228a0 6c 69 62 72 65 20 65 6e 74 72 69 65 73 2e 0a 5c 5c 7b 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 libre.entries..\\{calibredb-sear
228c0 63 68 2d 6d 6f 64 65 2d 6d 61 70 7d 22 0a 20 20 28 73 65 74 71 20 74 72 75 6e 63 61 74 65 2d 6c ch-mode-map}"...(setq.truncate-l
228e0 69 6e 65 73 20 74 0a 20 20 20 20 20 20 20 20 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 20 ines.t.........buffer-read-only.
22900 74 0a 20 20 20 20 20 20 20 20 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 20 27 28 3a t.........header-line-format.'(:
22920 65 76 61 6c 20 28 66 75 6e 63 61 6c 6c 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 68 eval.(funcall.calibredb-search-h
22940 65 61 64 65 72 2d 66 75 6e 63 74 69 6f 6e 29 29 29 0a 20 20 28 62 75 66 66 65 72 2d 64 69 73 61 eader-function)))...(buffer-disa
22960 62 6c 65 2d 75 6e 64 6f 29 0a 20 20 28 72 65 71 75 69 72 65 20 27 68 6c 2d 6c 69 6e 65 29 0a 20 ble-undo)...(require.'hl-line)..
22980 20 28 73 65 74 20 28 6d 61 6b 65 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 27 68 6c 2d 6c .(set.(make-local-variable.'hl-l
229a0 69 6e 65 2d 66 61 63 65 29 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 68 65 61 64 ine-face).'calibredb-search-head
229c0 65 72 2d 68 69 67 68 6c 69 67 68 74 2d 66 61 63 65 29 0a 20 20 28 68 6c 2d 6c 69 6e 65 2d 6d 6f er-highlight-face)...(hl-line-mo
229e0 64 65 29 0a 20 20 28 69 66 20 28 62 6f 75 6e 64 70 20 27 69 76 79 2d 73 6f 72 74 2d 6d 61 74 63 de)...(if.(boundp.'ivy-sort-matc
22a00 68 65 73 2d 66 75 6e 63 74 69 6f 6e 73 2d 61 6c 69 73 74 29 0a 20 20 20 20 20 20 28 61 64 64 2d hes-functions-alist).......(add-
22a20 74 6f 2d 6c 69 73 74 20 27 69 76 79 2d 73 6f 72 74 2d 6d 61 74 63 68 65 73 2d 66 75 6e 63 74 69 to-list.'ivy-sort-matches-functi
22a40 6f 6e 73 2d 61 6c 69 73 74 20 27 28 63 61 6c 69 62 72 65 64 62 2d 61 64 64 20 2e 20 69 76 79 2d ons-alist.'(calibredb-add...ivy-
22a60 2d 73 6f 72 74 2d 66 69 6c 65 73 2d 62 79 2d 64 61 74 65 29 29 29 0a 20 20 28 69 66 20 28 62 6f -sort-files-by-date)))...(if.(bo
22a80 75 6e 64 70 20 27 69 76 79 2d 61 6c 74 2d 64 6f 6e 65 2d 66 75 6e 63 74 69 6f 6e 73 2d 61 6c 69 undp.'ivy-alt-done-functions-ali
22aa0 73 74 29 0a 20 20 20 20 20 20 28 61 64 64 2d 74 6f 2d 6c 69 73 74 20 27 69 76 79 2d 61 6c 74 2d st).......(add-to-list.'ivy-alt-
22ac0 64 6f 6e 65 2d 66 75 6e 63 74 69 6f 6e 73 2d 61 6c 69 73 74 20 27 28 63 61 6c 69 62 72 65 64 62 done-functions-alist.'(calibredb
22ae0 2d 61 64 64 20 2e 20 69 76 79 2d 2d 64 69 72 65 63 74 6f 72 79 2d 64 6f 6e 65 29 29 29 0a 20 20 -add...ivy--directory-done)))...
22b00 28 61 64 64 2d 68 6f 6f 6b 20 27 6d 69 6e 69 62 75 66 66 65 72 2d 73 65 74 75 70 2d 68 6f 6f 6b (add-hook.'minibuffer-setup-hook
22b20 20 23 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 2d 6d 69 6e 69 62 75 66 66 65 72 2d .#'calibredb-search--minibuffer-
22b40 73 65 74 75 70 29 0a 20 20 28 61 64 64 2d 74 6f 2d 6c 69 73 74 20 27 6d 61 69 6c 63 61 70 2d 6d setup)...(add-to-list.'mailcap-m
22b60 69 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 73 20 27 28 22 2e 65 70 75 62 22 20 2e 20 22 61 70 70 6c ime-extensions.'(".epub"..."appl
22b80 69 63 61 74 69 6f 6e 2f 65 70 75 62 2b 7a 69 70 22 29 29 0a 20 20 28 61 64 64 2d 74 6f 2d 6c 69 ication/epub+zip"))...(add-to-li
22ba0 73 74 20 27 6d 61 69 6c 63 61 70 2d 6d 69 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 73 20 27 28 22 2e st.'mailcap-mime-extensions.'(".
22bc0 61 7a 77 33 22 20 2e 20 22 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 2d 6d 6f 62 69 38 2d 65 62 6f azw3"..."application/x-mobi8-ebo
22be0 6f 6b 22 29 29 0a 20 20 28 61 64 64 2d 74 6f 2d 6c 69 73 74 20 27 6d 61 69 6c 63 61 70 2d 6d 69 ok"))...(add-to-list.'mailcap-mi
22c00 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 73 20 27 28 22 2e 6d 6f 62 69 22 20 2e 20 22 61 70 70 6c 69 me-extensions.'(".mobi"..."appli
22c20 63 61 74 69 6f 6e 2f 78 2d 6d 6f 62 69 70 6f 63 6b 65 74 2d 65 62 6f 6f 6b 22 29 29 29 0a 0a 28 cation/x-mobipocket-ebook")))..(
22c40 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 75 73 65 20 28 65 76 defun.calibredb-search-mouse.(ev
22c60 65 6e 74 29 0a 20 20 22 56 69 73 69 74 20 74 68 65 20 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 ent)..."Visit.the.calibredb-entr
22c80 79 20 63 6c 69 63 6b 20 6f 6e 2e 0a 41 72 67 75 6d 65 6e 74 20 45 56 45 4e 54 20 6d 6f 75 73 65 y.click.on..Argument.EVENT.mouse
22ca0 20 65 76 65 6e 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 65 22 29 0a 20 20 28 .event."...(interactive."e")...(
22cc0 6c 65 74 20 28 28 77 69 6e 64 6f 77 20 28 70 6f 73 6e 2d 77 69 6e 64 6f 77 20 28 65 76 65 6e 74 let.((window.(posn-window.(event
22ce0 2d 65 6e 64 20 65 76 65 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 6f 73 20 28 70 6f 73 6e -end.event))).........(pos.(posn
22d00 2d 70 6f 69 6e 74 20 28 65 76 65 6e 74 2d 65 6e 64 20 65 76 65 6e 74 29 29 29 29 0a 20 20 20 20 -point.(event-end.event)))).....
22d20 28 69 66 20 28 6e 6f 74 20 28 77 69 6e 64 6f 77 70 20 77 69 6e 64 6f 77 29 29 0a 20 20 20 20 20 (if.(not.(windowp.window))......
22d40 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 20 65 62 6f 6f 6b 20 63 68 6f 73 65 6e 22 29 29 0a 20 20 ...(error."No.ebook.chosen"))...
22d60 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 65 6e 74 72 79 20 28 63 61 72 20 28 63 61 ..(calibredb-show-entry.(car.(ca
22d80 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 libredb-find-candidate-at-point)
22da0 29 29 0a 20 20 20 20 28 73 65 6c 65 63 74 2d 77 69 6e 64 6f 77 20 77 69 6e 64 6f 77 29 0a 20 20 )).....(select-window.window)...
22dc0 20 20 28 73 65 74 2d 62 75 66 66 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d ..(set-buffer.(calibredb-search-
22de0 2d 62 75 66 66 65 72 2d 6e 61 6d 65 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f -buffer-name)).....(goto-char.po
22e00 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 76 69 65 77 20 28 29 0a 20 s)))..(defun.calibredb-view.()..
22e20 20 22 56 69 73 69 74 20 74 68 65 20 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2e 22 0a 20 20 ."Visit.the.calibredb-entry."...
22e40 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d (interactive)...(calibredb-show-
22e60 65 6e 74 72 79 20 28 63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 entry.(car.(calibredb-find-candi
22e80 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 20 3a 73 77 69 74 63 68 29 29 0a 0a 28 64 65 66 75 date-at-point)).:switch))..(defu
22ea0 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 20 28 29 0a 20 20 n.calibredb-search-refresh.()...
22ec0 22 52 65 66 72 65 73 68 20 63 61 6c 69 62 72 65 64 62 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 "Refresh.calibredb."...(interact
22ee0 69 76 65 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 ive)...(calibredb))..(defun.cali
22f00 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d 72 65 73 75 6d 65 20 28 bredb-search-refresh-or-resume.(
22f20 26 6f 70 74 69 6f 6e 61 6c 20 62 65 67 69 6e 20 70 6f 73 69 74 69 6f 6e 29 0a 20 20 22 52 65 66 &optional.begin.position)..."Ref
22f40 72 65 73 68 20 63 61 6c 69 62 72 65 64 62 20 6f 72 20 72 65 73 75 6d 65 20 74 68 65 20 42 45 47 resh.calibredb.or.resume.the.BEG
22f60 49 4e 20 70 6f 69 6e 74 20 61 6e 64 20 77 69 6e 64 6f 77 73 20 50 4f 53 49 54 49 4f 4e 2e 22 0a IN.point.and.windows.POSITION.".
22f80 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 62 65 67 20 70 6f 73 29 ..(interactive)...(let.(beg.pos)
22fa0 0a 20 20 20 20 28 73 65 74 71 20 62 65 67 20 28 6f 72 20 62 65 67 69 6e 20 28 70 6f 69 6e 74 29 .....(setq.beg.(or.begin.(point)
22fc0 29 29 0a 20 20 20 20 28 73 65 74 71 20 70 6f 73 20 28 6f 72 20 70 6f 73 69 74 69 6f 6e 20 28 77 )).....(setq.pos.(or.position.(w
22fe0 69 6e 64 6f 77 2d 73 74 61 72 74 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 65 71 75 indow-start))).....(if.(not.(equ
23000 61 6c 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 20 22 22 29 29 0a al.calibredb-search-filter."")).
23020 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 ........(progn...........(calibr
23040 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 edb-search-refresh)...........(c
23060 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 62 75 66 66 65 72 2d 62 79 alibredb-search-update-buffer-by
23080 2d 6c 69 62 72 61 72 79 2d 74 79 70 65 29 29 0a 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 -library-type)).......(calibredb
230a0 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 29 29 0a 20 20 20 20 28 73 65 74 2d 77 69 6e 64 6f -search-refresh)).....(set-windo
230c0 77 2d 73 74 61 72 74 20 28 73 65 6c 65 63 74 65 64 2d 77 69 6e 64 6f 77 29 20 70 6f 73 29 0a 20 w-start.(selected-window).pos)..
230e0 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 62 65 67 29 0a 20 20 20 20 28 68 6c 2d 6c 69 6e 65 2d ...(goto-char.beg).....(hl-line-
23100 6d 6f 64 65 20 31 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 mode.1)))..(defun.calibredb-sear
23120 63 68 2d 74 6f 67 67 6c 65 2d 76 69 65 77 2d 72 65 66 72 65 73 68 20 28 29 0a 20 20 22 54 4f 44 ch-toggle-view-refresh.()..."TOD
23140 4f 20 52 65 66 72 65 73 68 20 63 61 6c 69 62 72 65 64 62 20 77 68 65 6e 20 74 6f 67 67 6c 65 20 O.Refresh.calibredb.when.toggle.
23160 76 69 65 77 20 67 6f 74 6f 20 74 68 65 20 74 68 65 20 73 61 6d 65 20 69 64 20 65 62 6f 6f 6b 2e view.goto.the.the.same.id.ebook.
23180 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 69 64 20 28 63 "...(interactive)...(let.((id.(c
231a0 61 6c 69 62 72 65 64 62 2d 72 65 61 64 2d 6d 65 74 61 64 61 74 61 73 20 22 69 64 22 29 29 29 0a alibredb-read-metadatas."id"))).
231c0 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 65 71 75 61 6c 20 63 61 6c 69 62 72 65 64 62 2d 73 65 ....(if.(not.(equal.calibredb-se
231e0 61 72 63 68 2d 66 69 6c 74 65 72 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a arch-filter."")).........(progn.
23200 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 ..........(calibredb-search-refr
23220 65 73 68 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 esh)...........(calibredb-search
23240 2d 75 70 64 61 74 65 2d 62 75 66 66 65 72 2d 62 79 2d 6c 69 62 72 61 72 79 2d 74 79 70 65 29 29 -update-buffer-by-library-type))
23260 0a 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 .......(calibredb-search-refresh
23280 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 65 71 75 61 6c 20 69 64 20 28 63 61 )).....(while.(not.(equal.id.(ca
232a0 6c 69 62 72 65 64 62 2d 72 65 61 64 2d 6d 65 74 61 64 61 74 61 73 20 22 69 64 22 29 29 29 0a 20 libredb-read-metadatas."id")))..
232c0 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 31 29 29 0a 20 20 20 20 28 62 65 67 69 .....(forward-line.1)).....(begi
232e0 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 28 72 65 63 65 6e 74 65 72 29 29 29 0a nning-of-line).....(recenter))).
23300 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 .(defun.calibredb-search-refresh
23320 2d 61 6e 64 2d 63 6c 65 61 72 2d 66 69 6c 74 65 72 20 28 29 0a 20 20 22 52 65 66 72 65 73 68 20 -and-clear-filter.()..."Refresh.
23340 63 61 6c 69 62 72 65 64 62 20 61 6e 64 20 63 6c 65 61 72 20 74 68 65 20 66 69 74 6c 65 72 20 6b calibredb.and.clear.the.fitler.k
23360 65 79 77 6f 72 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 63 61 6c 69 eyword."...(interactive)...(cali
23380 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 29 0a 20 20 28 73 65 74 71 20 63 61 bredb-search-refresh)...(setq.ca
233a0 6c 69 62 72 65 64 62 2d 74 61 67 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 28 73 65 74 libredb-tag-filter-p.nil)...(set
233c0 71 20 63 61 6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e 69 q.calibredb-favorite-filter-p.ni
233e0 6c 29 0a 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 66 69 6c 74 l)...(setq.calibredb-author-filt
23400 65 72 2d 70 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 er-p.nil)...(setq.calibredb-date
23420 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 -filter-p.nil)...(setq.calibredb
23440 2d 66 6f 72 6d 61 74 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 20 63 61 -format-filter-p.nil)...(setq.ca
23460 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e 74 2d 70 61 67 65 20 31 29 0a 20 libredb-search-current-page.1)..
23480 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6b 65 79 77 6f 72 64 2d 66 69 6c 74 65 .(calibredb-search-keyword-filte
234a0 72 20 22 22 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d r.""))..(defun.calibredb-search-
234c0 63 6c 65 61 72 2d 66 69 6c 74 65 72 20 28 29 0a 20 20 22 43 6c 65 61 72 20 74 68 65 20 66 69 74 clear-filter.()..."Clear.the.fit
234e0 6c 65 72 20 6b 65 79 77 6f 72 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 ler.keyword."...(interactive)...
23500 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c (setq.calibredb-tag-filter-p.nil
23520 29 0a 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d 66 69 6c )...(setq.calibredb-favorite-fil
23540 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 61 75 74 ter-p.nil)...(setq.calibredb-aut
23560 68 6f 72 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 hor-filter-p.nil)...(setq.calibr
23580 65 64 62 2d 64 61 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 20 63 edb-date-filter-p.nil)...(setq.c
235a0 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 alibredb-format-filter-p.nil)...
235c0 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e 74 2d 70 (setq.calibredb-search-current-p
235e0 61 67 65 20 31 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6b 65 79 77 6f age.1)...(calibredb-search-keywo
23600 72 64 2d 66 69 6c 74 65 72 20 22 22 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 rd-filter.""))..(defun.calibredb
23620 2d 73 65 61 72 63 68 2d 71 75 69 74 20 28 29 0a 20 20 22 51 75 69 74 20 2a 63 61 6c 69 62 72 65 -search-quit.()..."Quit.*calibre
23640 64 62 2d 65 6e 74 72 79 2a 20 6f 72 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 2e db-entry*.or.*calibredb-search*.
23660 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 77 68 65 6e 20 28 65 71 20 6d 61 "...(interactive)...(when.(eq.ma
23680 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 jor-mode.'calibredb-search-mode)
236a0 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 67 65 74 2d 62 75 66 66 65 72 20 22 2a 63 61 6c 69 62 72 .....(cond.((get-buffer."*calibr
236c0 65 64 62 2d 65 6e 74 72 79 2a 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 70 2d 74 6f 2d edb-entry*")............(pop-to-
236e0 62 75 66 66 65 72 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2a 22 29 0a 20 20 20 20 buffer."*calibredb-entry*").....
23700 20 20 20 20 20 20 20 28 69 66 20 28 3c 20 28 6c 65 6e 67 74 68 20 28 77 69 6e 64 6f 77 2d 70 72 .......(if.(<.(length.(window-pr
23720 65 76 2d 62 75 66 66 65 72 73 29 29 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ev-buffers)).2)................(
23740 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 71 75 69 74 2d 77 69 6e progn..................(quit-win
23760 64 6f 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 dow)..................(kill-buff
23780 65 72 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2a 22 29 29 0a 20 20 20 20 20 20 20 er."*calibredb-entry*"))........
237a0 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 65 ......(kill-buffer."*calibredb-e
237c0 6e 74 72 79 2a 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 67 65 74 2d 62 75 66 66 65 72 ntry*")))...........((get-buffer
237e0 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 22 29 0a 20 20 20 20 20 20 20 20 20 ."*calibredb-search*")..........
23800 20 20 28 71 75 69 74 2d 77 69 6e 64 6f 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c ..(quit-window)............(kill
23820 2d 62 75 66 66 65 72 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 22 29 29 29 29 -buffer."*calibredb-search*"))))
23840 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6d 61 72 6b 2d 61 74 2d 70 6f 69 6e )..(defun.calibredb-mark-at-poin
23860 74 20 28 29 0a 20 20 22 4d 61 72 6b 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 6e 65 2e 22 0a t.()..."Mark.the.current.line.".
23880 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 72 65 6d 6f 76 65 2d 6f 76 65 72 6c 61 ..(interactive)...(remove-overla
238a0 79 73 20 28 6c 69 6e 65 2d 62 65 67 69 6e 6e 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 29 20 28 6c 69 ys.(line-beginning-position).(li
238c0 6e 65 2d 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 62 65 67 20 ne-end-position))...(let*.((beg.
238e0 28 6c 69 6e 65 2d 62 65 67 69 6e 6e 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 (line-beginning-position))......
23900 20 20 20 20 28 65 6e 64 20 28 6c 69 6e 65 2d 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 ....(end.(line-end-position))...
23920 20 20 20 20 20 20 20 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 0a 20 20 20 .......(inhibit-read-only.t)....
23940 20 20 20 20 20 20 28 6f 76 65 72 6c 61 79 20 28 6d 61 6b 65 2d 6f 76 65 72 6c 61 79 20 62 65 67 ......(overlay.(make-overlay.beg
23960 20 65 6e 64 29 29 29 0a 20 20 20 20 28 6f 76 65 72 6c 61 79 2d 70 75 74 20 6f 76 65 72 6c 61 79 .end))).....(overlay-put.overlay
23980 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 6d 61 72 6b 2d 66 61 63 65 29 0a 20 20 20 .'face.'calibredb-mark-face)....
239a0 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 65 6e 64 20 27 63 61 6c .(put-text-property.beg.end.'cal
239c0 69 62 72 65 64 62 2d 6d 61 72 6b 20 3f 3e 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 ibredb-mark.?>)))..(defun.calibr
239e0 65 64 62 2d 6d 61 72 6b 2d 61 6e 64 2d 66 6f 72 77 61 72 64 20 28 29 0a 20 20 22 4d 61 72 6b 20 edb-mark-and-forward.()..."Mark.
23a00 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 6e 65 20 61 6e 64 20 66 6f 72 77 61 72 64 2e 22 0a 20 the.current.line.and.forward."..
23a20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 6d 61 72 6b .(interactive)...(calibredb-mark
23a40 2d 61 74 2d 70 6f 69 6e 74 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 6e 65 78 74 2d 65 6e 74 -at-point)...(calibredb-next-ent
23a60 72 79 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 75 6e 6d 61 72 6b 2d 61 6e ry))..(defun.calibredb-unmark-an
23a80 64 2d 66 6f 72 77 61 72 64 20 28 29 0a 20 20 22 55 6e 6d 61 72 6b 20 74 68 65 20 63 75 72 72 65 d-forward.()..."Unmark.the.curre
23aa0 6e 74 20 6c 69 6e 65 20 61 6e 64 20 66 6f 72 77 61 72 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 nt.line.and.forward."...(interac
23ac0 74 69 76 65 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 75 6e 6d 61 72 6b 2d 61 74 2d 70 6f 69 tive)...(calibredb-unmark-at-poi
23ae0 6e 74 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 6e 65 78 74 2d 65 6e 74 72 79 29 29 0a 0a 28 nt)...(calibredb-next-entry))..(
23b00 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 75 6e 6d 61 72 6b 2d 61 6e 64 2d 62 61 63 6b 77 defun.calibredb-unmark-and-backw
23b20 61 72 64 20 28 29 0a 20 20 22 55 6e 6d 61 72 6b 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 6e ard.()..."Unmark.the.current.lin
23b40 65 20 61 6e 64 20 62 61 63 6b 77 61 72 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 e.and.backward."...(interactive)
23b60 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 70 72 65 76 69 6f 75 73 2d 65 6e 74 72 79 29 0a 20 20 ...(calibredb-previous-entry)...
23b80 28 63 61 6c 69 62 72 65 64 62 2d 75 6e 6d 61 72 6b 2d 61 74 2d 70 6f 69 6e 74 29 29 0a 0a 28 64 (calibredb-unmark-at-point))..(d
23ba0 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 75 6e 6d 61 72 6b 2d 61 74 2d 70 6f 69 6e 74 20 28 efun.calibredb-unmark-at-point.(
23bc0 29 0a 20 20 22 55 6e 6d 61 72 6b 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 6e 65 2e 22 0a 20 )..."Unmark.the.current.line."..
23be0 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 62 65 67 20 28 6c 69 .(interactive)...(let*.((beg.(li
23c00 6e 65 2d 62 65 67 69 6e 6e 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 ne-beginning-position)).........
23c20 20 28 65 6e 64 20 28 6c 69 6e 65 2d 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 .(end.(line-end-position))......
23c40 20 20 20 20 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 29 0a 20 20 20 20 28 ....(inhibit-read-only.t)).....(
23c60 72 65 6d 6f 76 65 2d 6f 76 65 72 6c 61 79 73 20 28 6c 69 6e 65 2d 62 65 67 69 6e 6e 69 6e 67 2d remove-overlays.(line-beginning-
23c80 70 6f 73 69 74 69 6f 6e 29 20 28 6c 69 6e 65 2d 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 position).(line-end-position))..
23ca0 20 20 20 28 72 65 6d 6f 76 65 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 20 62 65 67 20 65 ...(remove-text-properties.beg.e
23cc0 6e 64 20 27 28 63 61 6c 69 62 72 65 64 62 2d 6d 61 72 6b 20 6e 69 6c 29 29 29 29 0a 0a 28 64 65 nd.'(calibredb-mark.nil))))..(de
23ce0 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 64 65 6e 73 65 2d 63 6f 6d 6d 65 6e 74 73 20 fun.calibredb-condense-comments.
23d00 28 73 74 72 29 0a 20 20 22 43 6f 6e 64 65 6e 73 65 20 77 68 69 74 65 73 70 61 63 65 20 69 6e 20 (str)..."Condense.whitespace.in.
23d20 53 54 52 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 73 70 61 63 65 2e 22 0a 20 20 28 72 65 70 STR.into.a.single.space."...(rep
23d40 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 22 5b 5b 3a 73 70 61 lace-regexp-in-string...."[[:spa
23d60 63 65 3a 5d 5c 6e 5c 72 5d 2b 22 20 22 20 22 0a 20 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 ce:]\n\r]+"."."....(replace-rege
23d80 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 3c 5b 5e 3e 5d 2b 3e 22 20 22 22 20 73 74 72 29 29 29 xp-in-string."<[^>]+>"."".str)))
23da0 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d 6d 6f 75 73 ..(defun.calibredb-favorite-mous
23dc0 65 2d 31 20 28 65 76 65 6e 74 29 0a 20 20 22 56 69 73 69 74 20 74 68 65 20 6c 6f 63 61 74 69 6f e-1.(event)..."Visit.the.locatio
23de0 6e 20 63 6c 69 63 6b 20 6f 6e 2e 0a 41 72 67 75 6d 65 6e 74 20 45 56 45 4e 54 20 6d 6f 75 73 65 n.click.on..Argument.EVENT.mouse
23e00 20 65 76 65 6e 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 65 22 29 0a 20 20 28 .event."...(interactive."e")...(
23e20 6c 65 74 20 28 28 77 69 6e 64 6f 77 20 28 70 6f 73 6e 2d 77 69 6e 64 6f 77 20 28 65 76 65 6e 74 let.((window.(posn-window.(event
23e40 2d 65 6e 64 20 65 76 65 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 6f 73 20 28 70 6f 73 6e -end.event))).........(pos.(posn
23e60 2d 70 6f 69 6e 74 20 28 65 76 65 6e 74 2d 65 6e 64 20 65 76 65 6e 74 29 29 29 29 0a 20 20 20 20 -point.(event-end.event)))).....
23e80 28 69 66 20 28 6e 6f 74 20 28 77 69 6e 64 6f 77 70 20 77 69 6e 64 6f 77 29 29 0a 20 20 20 20 20 (if.(not.(windowp.window))......
23ea0 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 20 66 61 76 6f 72 69 74 65 20 63 68 6f 73 65 6e 22 29 29 ...(error."No.favorite.chosen"))
23ec0 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 77 69 6e 64 6f .....(with-current-buffer.(windo
23ee0 77 2d 62 75 66 66 65 72 20 77 69 6e 64 6f 77 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 w-buffer.window).......(goto-cha
23f00 72 20 70 6f 73 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 74 61 67 r.pos).......(setq.calibredb-tag
23f20 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 -filter-p.nil).......(setq.calib
23f40 72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d 66 69 6c 74 65 72 2d 70 20 74 29 0a 20 20 20 20 20 20 redb-favorite-filter-p.t).......
23f60 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 66 69 6c 74 65 72 2d 70 20 (setq.calibredb-author-filter-p.
23f80 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 2d nil).......(setq.calibredb-date-
23fa0 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 filter-p.nil).......(setq.calibr
23fc0 65 64 62 2d 66 6f 72 6d 61 74 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 edb-format-filter-p.nil).......(
23fe0 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6b 65 79 77 6f 72 64 2d 66 69 6c 74 65 72 20 calibredb-search-keyword-filter.
24000 63 61 6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d 6b 65 79 77 6f 72 64 29 29 29 29 0a 0a calibredb-favorite-keyword))))..
24020 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 6d 6f 75 73 65 2d 31 20 28 65 76 (defun.calibredb-tag-mouse-1.(ev
24040 65 6e 74 29 0a 20 20 22 56 69 73 69 74 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 63 6c 69 63 6b ent)..."Visit.the.location.click
24060 20 6f 6e 2e 0a 41 72 67 75 6d 65 6e 74 20 45 56 45 4e 54 20 6d 6f 75 73 65 20 65 76 65 6e 74 2e .on..Argument.EVENT.mouse.event.
24080 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 65 22 29 0a 20 20 28 6c 65 74 20 28 28 77 "...(interactive."e")...(let.((w
240a0 69 6e 64 6f 77 20 28 70 6f 73 6e 2d 77 69 6e 64 6f 77 20 28 65 76 65 6e 74 2d 65 6e 64 20 65 76 indow.(posn-window.(event-end.ev
240c0 65 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 6f 73 20 28 70 6f 73 6e 2d 70 6f 69 6e 74 20 ent))).........(pos.(posn-point.
240e0 28 65 76 65 6e 74 2d 65 6e 64 20 65 76 65 6e 74 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 6f (event-end.event)))).....(if.(no
24100 74 20 28 77 69 6e 64 6f 77 70 20 77 69 6e 64 6f 77 29 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 t.(windowp.window)).........(err
24120 6f 72 20 22 4e 6f 20 74 61 67 20 63 68 6f 73 65 6e 22 29 29 0a 20 20 20 20 28 77 69 74 68 2d 63 or."No.tag.chosen")).....(with-c
24140 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 77 69 6e 64 6f 77 2d 62 75 66 66 65 72 20 77 69 6e urrent-buffer.(window-buffer.win
24160 64 6f 77 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 73 29 0a 20 20 20 20 20 dow).......(goto-char.pos)......
24180 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66 69 6c 74 65 72 2d 70 20 74 29 .(setq.calibredb-tag-filter-p.t)
241a0 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d .......(setq.calibredb-favorite-
241c0 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 filter-p.nil).......(setq.calibr
241e0 65 64 62 2d 61 75 74 68 6f 72 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 edb-author-filter-p.nil).......(
24200 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c setq.calibredb-date-filter-p.nil
24220 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 ).......(setq.calibredb-format-f
24240 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 ilter-p.nil).......(calibredb-se
24260 61 72 63 68 2d 6b 65 79 77 6f 72 64 2d 66 69 6c 74 65 72 20 28 67 65 74 2d 74 65 78 74 2d 70 72 arch-keyword-filter.(get-text-pr
24280 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 74 61 67 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64 operty.(point).'tag.nil)))))..(d
242a0 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 6d 6f 75 73 65 2d 31 20 28 65 efun.calibredb-author-mouse-1.(e
242c0 76 65 6e 74 29 0a 20 20 22 56 69 73 69 74 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 63 6c 69 63 vent)..."Visit.the.location.clic
242e0 6b 20 6f 6e 2e 0a 41 72 67 75 6d 65 6e 74 20 45 56 45 4e 54 20 6d 6f 75 73 65 20 65 76 65 6e 74 k.on..Argument.EVENT.mouse.event
24300 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 65 22 29 0a 20 20 28 6c 65 74 20 28 28 ."...(interactive."e")...(let.((
24320 77 69 6e 64 6f 77 20 28 70 6f 73 6e 2d 77 69 6e 64 6f 77 20 28 65 76 65 6e 74 2d 65 6e 64 20 65 window.(posn-window.(event-end.e
24340 76 65 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 6f 73 20 28 70 6f 73 6e 2d 70 6f 69 6e 74 vent))).........(pos.(posn-point
24360 20 28 65 76 65 6e 74 2d 65 6e 64 20 65 76 65 6e 74 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e .(event-end.event)))).....(if.(n
24380 6f 74 20 28 77 69 6e 64 6f 77 70 20 77 69 6e 64 6f 77 29 29 0a 20 20 20 20 20 20 20 20 28 65 72 ot.(windowp.window)).........(er
243a0 72 6f 72 20 22 4e 6f 20 61 75 74 68 6f 72 20 63 68 6f 73 65 6e 22 29 29 0a 20 20 20 20 28 77 69 ror."No.author.chosen")).....(wi
243c0 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 77 69 6e 64 6f 77 2d 62 75 66 66 65 72 th-current-buffer.(window-buffer
243e0 20 77 69 6e 64 6f 77 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 73 29 0a 20 .window).......(goto-char.pos)..
24400 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66 69 6c 74 65 72 2d .....(setq.calibredb-tag-filter-
24420 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 66 61 76 p.nil).......(setq.calibredb-fav
24440 6f 72 69 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 orite-filter-p.nil).......(setq.
24460 63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 66 69 6c 74 65 72 2d 70 20 74 29 0a 20 20 20 calibredb-author-filter-p.t)....
24480 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 2d 66 69 6c 74 65 72 2d 70 ...(setq.calibredb-date-filter-p
244a0 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d .nil).......(setq.calibredb-form
244c0 61 74 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 at-filter-p.nil).......(calibred
244e0 62 2d 73 65 61 72 63 68 2d 6b 65 79 77 6f 72 64 2d 66 69 6c 74 65 72 20 28 67 65 74 2d 74 65 78 b-search-keyword-filter.(get-tex
24500 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 61 75 74 68 6f 72 20 6e 69 6c 29 29 t-property.(point).'author.nil))
24520 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 6d 6f 75 )))..(defun.calibredb-format-mou
24540 73 65 2d 31 20 28 65 76 65 6e 74 29 0a 20 20 22 56 69 73 69 74 20 74 68 65 20 6c 6f 63 61 74 69 se-1.(event)..."Visit.the.locati
24560 6f 6e 20 63 6c 69 63 6b 20 6f 6e 2e 0a 41 72 67 75 6d 65 6e 74 20 45 56 45 4e 54 20 6d 6f 75 73 on.click.on..Argument.EVENT.mous
24580 65 20 65 76 65 6e 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 65 22 29 0a 20 20 e.event."...(interactive."e")...
245a0 28 6c 65 74 20 28 28 77 69 6e 64 6f 77 20 28 70 6f 73 6e 2d 77 69 6e 64 6f 77 20 28 65 76 65 6e (let.((window.(posn-window.(even
245c0 74 2d 65 6e 64 20 65 76 65 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 6f 73 20 28 70 6f 73 t-end.event))).........(pos.(pos
245e0 6e 2d 70 6f 69 6e 74 20 28 65 76 65 6e 74 2d 65 6e 64 20 65 76 65 6e 74 29 29 29 29 0a 20 20 20 n-point.(event-end.event))))....
24600 20 28 69 66 20 28 6e 6f 74 20 28 77 69 6e 64 6f 77 70 20 77 69 6e 64 6f 77 29 29 0a 20 20 20 20 .(if.(not.(windowp.window)).....
24620 20 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 20 66 6f 72 6d 61 74 20 63 68 6f 73 65 6e 22 29 29 0a ....(error."No.format.chosen")).
24640 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 77 69 6e 64 6f 77 ....(with-current-buffer.(window
24660 2d 62 75 66 66 65 72 20 77 69 6e 64 6f 77 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 -buffer.window).......(goto-char
24680 20 70 6f 73 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d .pos).......(setq.calibredb-tag-
246a0 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 filter-p.nil).......(setq.calibr
246c0 65 64 62 2d 66 61 76 6f 72 69 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 edb-favorite-filter-p.nil)......
246e0 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 66 69 6c 74 65 72 2d 70 .(setq.calibredb-author-filter-p
24700 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 .nil).......(setq.calibredb-date
24720 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 -filter-p.nil).......(setq.calib
24740 72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 69 6c 74 65 72 2d 70 20 74 29 0a 20 20 20 20 20 20 28 63 redb-format-filter-p.t).......(c
24760 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6b 65 79 77 6f 72 64 2d 66 69 6c 74 65 72 20 28 alibredb-search-keyword-filter.(
24780 77 6f 72 64 2d 61 74 2d 70 6f 69 6e 74 20 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c word-at-point.t)))))..(defun.cal
247a0 69 62 72 65 64 62 2d 64 61 74 65 2d 6d 6f 75 73 65 2d 31 20 28 65 76 65 6e 74 29 0a 20 20 22 56 ibredb-date-mouse-1.(event)..."V
247c0 69 73 69 74 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 63 6c 69 63 6b 20 6f 6e 2e 0a 41 72 67 75 isit.the.location.click.on..Argu
247e0 6d 65 6e 74 20 45 56 45 4e 54 20 6d 6f 75 73 65 20 65 76 65 6e 74 2e 22 0a 20 20 28 69 6e 74 65 ment.EVENT.mouse.event."...(inte
24800 72 61 63 74 69 76 65 20 22 65 22 29 0a 20 20 28 6c 65 74 20 28 28 77 69 6e 64 6f 77 20 28 70 6f ractive."e")...(let.((window.(po
24820 73 6e 2d 77 69 6e 64 6f 77 20 28 65 76 65 6e 74 2d 65 6e 64 20 65 76 65 6e 74 29 29 29 0a 20 20 sn-window.(event-end.event)))...
24840 20 20 20 20 20 20 28 70 6f 73 20 28 70 6f 73 6e 2d 70 6f 69 6e 74 20 28 65 76 65 6e 74 2d 65 6e ......(pos.(posn-point.(event-en
24860 64 20 65 76 65 6e 74 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 77 69 6e 64 6f 77 d.event)))).....(if.(not.(window
24880 70 20 77 69 6e 64 6f 77 29 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 20 61 75 p.window)).........(error."No.au
248a0 74 68 6f 72 20 63 68 6f 73 65 6e 22 29 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 thor.chosen")).....(with-current
248c0 2d 62 75 66 66 65 72 20 28 77 69 6e 64 6f 77 2d 62 75 66 66 65 72 20 77 69 6e 64 6f 77 29 0a 20 -buffer.(window-buffer.window)..
248e0 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 73 29 0a 20 20 20 20 20 20 28 73 65 74 71 .....(goto-char.pos).......(setq
24900 20 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 .calibredb-tag-filter-p.nil)....
24920 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d 66 69 6c 74 ...(setq.calibredb-favorite-filt
24940 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d er-p.nil).......(setq.calibredb-
24960 61 75 74 68 6f 72 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 author-filter-p.nil).......(setq
24980 20 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 2d 66 69 6c 74 65 72 2d 70 20 74 29 0a 20 20 20 20 .calibredb-date-filter-p.t).....
249a0 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 69 6c 74 65 72 2d ..(setq.calibredb-format-filter-
249c0 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6b p.nil).......(calibredb-search-k
249e0 65 79 77 6f 72 64 2d 66 69 6c 74 65 72 20 28 74 68 69 6e 67 2d 61 74 2d 70 6f 69 6e 74 20 27 73 eyword-filter.(thing-at-point.'s
24a00 79 6d 62 6f 6c 20 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 ymbol.t)))))..(defun.calibredb-f
24a20 69 6c 65 2d 6d 6f 75 73 65 2d 31 20 28 65 76 65 6e 74 29 0a 20 20 22 56 69 73 69 74 20 74 68 65 ile-mouse-1.(event)..."Visit.the
24a40 20 66 69 6c 65 20 63 6c 69 63 6b 20 6f 6e 2e 0a 41 72 67 75 6d 65 6e 74 20 45 56 45 4e 54 20 6d .file.click.on..Argument.EVENT.m
24a60 6f 75 73 65 20 65 76 65 6e 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 65 22 29 ouse.event."...(interactive."e")
24a80 0a 20 20 28 6c 65 74 20 28 28 77 69 6e 64 6f 77 20 28 70 6f 73 6e 2d 77 69 6e 64 6f 77 20 28 65 ...(let.((window.(posn-window.(e
24aa0 76 65 6e 74 2d 65 6e 64 20 65 76 65 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 6f 73 20 28 vent-end.event))).........(pos.(
24ac0 70 6f 73 6e 2d 70 6f 69 6e 74 20 28 65 76 65 6e 74 2d 65 6e 64 20 65 76 65 6e 74 29 29 29 29 0a posn-point.(event-end.event)))).
24ae0 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 77 69 6e 64 6f 77 70 20 77 69 6e 64 6f 77 29 29 0a 20 ....(if.(not.(windowp.window))..
24b00 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 20 65 62 6f 6f 6b 20 63 68 6f 73 65 6e 22 29 .......(error."No.ebook.chosen")
24b20 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 77 69 6e 64 ).....(with-current-buffer.(wind
24b40 6f 77 2d 62 75 66 66 65 72 20 77 69 6e 64 6f 77 29 0a 20 20 20 20 20 20 28 66 69 6e 64 2d 66 69 ow-buffer.window).......(find-fi
24b60 6c 65 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 le-other-window.(get-text-proper
24b80 74 79 20 70 6f 73 20 27 68 65 6c 70 2d 65 63 68 6f 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64 65 66 ty.pos.'help-echo.nil)))))..(def
24ba0 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6c 65 2d 6d 6f 75 73 65 2d 33 20 28 65 76 65 6e 74 un.calibredb-file-mouse-3.(event
24bc0 29 0a 20 20 22 56 69 73 69 74 20 74 68 65 20 66 69 6c 65 20 63 6c 69 63 6b 20 6f 6e 20 69 6e 20 )..."Visit.the.file.click.on.in.
24be0 64 65 66 61 75 6c 74 20 74 6f 6f 6c 2e 0a 41 72 67 75 6d 65 6e 74 20 45 56 45 4e 54 20 6d 6f 75 default.tool..Argument.EVENT.mou
24c00 73 65 20 65 76 65 6e 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 65 22 29 0a 20 se.event."...(interactive."e")..
24c20 20 28 6c 65 74 20 28 28 77 69 6e 64 6f 77 20 28 70 6f 73 6e 2d 77 69 6e 64 6f 77 20 28 65 76 65 .(let.((window.(posn-window.(eve
24c40 6e 74 2d 65 6e 64 20 65 76 65 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 6f 73 20 28 70 6f nt-end.event))).........(pos.(po
24c60 73 6e 2d 70 6f 69 6e 74 20 28 65 76 65 6e 74 2d 65 6e 64 20 65 76 65 6e 74 29 29 29 29 0a 20 20 sn-point.(event-end.event))))...
24c80 20 20 28 69 66 20 28 6e 6f 74 20 28 77 69 6e 64 6f 77 70 20 77 69 6e 64 6f 77 29 29 0a 20 20 20 ..(if.(not.(windowp.window))....
24ca0 20 20 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 20 65 62 6f 6f 6b 20 63 68 6f 73 65 6e 22 29 29 0a .....(error."No.ebook.chosen")).
24cc0 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 77 69 6e 64 6f 77 ....(with-current-buffer.(window
24ce0 2d 62 75 66 66 65 72 20 77 69 6e 64 6f 77 29 0a 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 -buffer.window).......(calibredb
24d00 2d 6f 70 65 6e 2d 77 69 74 68 2d 64 65 66 61 75 6c 74 2d 74 6f 6f 6c 20 28 67 65 74 2d 74 65 78 -open-with-default-tool.(get-tex
24d20 74 2d 70 72 6f 70 65 72 74 79 20 70 6f 73 20 27 68 65 6c 70 2d 65 63 68 6f 20 6e 69 6c 29 29 29 t-property.pos.'help-echo.nil)))
24d40 29 29 0a 0a 3b 3b 20 66 61 76 6f 72 69 74 65 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 ))..;;.favorite..(defun.calibred
24d60 62 2d 74 6f 67 67 6c 65 2d 66 61 76 6f 72 69 74 65 2d 61 74 2d 70 6f 69 6e 74 20 28 26 6f 70 74 b-toggle-favorite-at-point.(&opt
24d80 69 6f 6e 61 6c 20 6b 65 79 77 6f 72 64 29 0a 20 20 22 54 6f 67 67 6c 65 20 66 61 76 6f 72 69 74 ional.keyword)..."Toggle.favorit
24da0 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 74 65 6d 2e 0a 41 72 67 75 6d 65 6e 74 20 4b 45 59 e.the.current.item..Argument.KEY
24dc0 57 4f 52 44 20 69 73 20 74 68 65 20 74 61 67 20 6b 65 79 77 6f 72 64 2e 22 0a 20 20 28 69 6e 74 WORD.is.the.tag.keyword."...(int
24de0 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 63 61 6e 64 69 64 61 74 65 73 20 28 63 eractive)...(let.((candidates.(c
24e00 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 6d 61 72 6b 65 64 2d 63 61 6e 64 69 64 61 74 65 73 29 alibredb-find-marked-candidates)
24e20 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 63 61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 20 20 )).....(unless.candidates.......
24e40 28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 (setq.candidates.(calibredb-find
24e60 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 28 63 61 6c 69 -candidate-at-point))).....(cali
24e80 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 6d 65 74 61 64 61 74 61 2d 70 72 6f 63 65 73 73 20 63 61 bredb-toggle-metadata-process.ca
24ea0 6e 64 69 64 61 74 65 73 20 28 6f 72 20 6b 65 79 77 6f 72 64 20 63 61 6c 69 62 72 65 64 62 2d 66 ndidates.(or.keyword.calibredb-f
24ec0 61 76 6f 72 69 74 65 2d 6b 65 79 77 6f 72 64 20 29 29 29 29 0a 0a 3b 3b 20 68 69 67 68 6c 69 67 avorite-keyword.))))..;;.highlig
24ee0 68 74 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 68 69 67 68 6c ht.(defun.calibredb-toggle-highl
24f00 69 67 68 74 2d 61 74 2d 70 6f 69 6e 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6b 65 79 77 6f 72 64 ight-at-point.(&optional.keyword
24f20 29 0a 20 20 22 54 6f 67 67 6c 65 20 68 69 67 68 6c 69 67 68 74 20 74 68 65 20 63 75 72 72 65 6e )..."Toggle.highlight.the.curren
24f40 74 20 69 74 65 6d 2e 0a 41 72 67 75 6d 65 6e 74 20 4b 45 59 57 4f 52 44 20 69 73 20 74 68 65 20 t.item..Argument.KEYWORD.is.the.
24f60 74 61 67 20 6b 65 79 77 6f 72 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 tag.keyword."...(interactive)...
24f80 28 6c 65 74 20 28 28 63 61 6e 64 69 64 61 74 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e (let.((candidates.(calibredb-fin
24fa0 64 2d 6d 61 72 6b 65 64 2d 63 61 6e 64 69 64 61 74 65 73 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 d-marked-candidates))).....(unle
24fc0 73 73 20 63 61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 ss.candidates.......(setq.candid
24fe0 61 74 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 ates.(calibredb-find-candidate-a
25000 74 2d 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c 65 t-point))).....(calibredb-toggle
25020 2d 6d 65 74 61 64 61 74 61 2d 70 72 6f 63 65 73 73 20 63 61 6e 64 69 64 61 74 65 73 20 28 6f 72 -metadata-process.candidates.(or
25040 20 6b 65 79 77 6f 72 64 20 63 61 6c 69 62 72 65 64 62 2d 68 69 67 68 6c 69 67 68 74 2d 6b 65 79 .keyword.calibredb-highlight-key
25060 77 6f 72 64 20 29 29 29 29 0a 0a 3b 3b 20 61 72 63 68 69 76 65 0a 28 64 65 66 75 6e 20 63 61 6c word.))))..;;.archive.(defun.cal
25080 69 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 61 72 63 68 69 76 65 2d 61 74 2d 70 6f 69 6e 74 20 28 ibredb-toggle-archive-at-point.(
250a0 26 6f 70 74 69 6f 6e 61 6c 20 6b 65 79 77 6f 72 64 29 0a 20 20 22 54 6f 67 67 6c 65 20 61 72 63 &optional.keyword)..."Toggle.arc
250c0 68 69 76 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 74 65 6d 2e 0a 41 72 67 75 6d 65 6e 74 20 hive.the.current.item..Argument.
250e0 4b 45 59 57 4f 52 44 20 69 73 20 74 68 65 20 74 61 67 20 6b 65 79 77 6f 72 64 2e 22 0a 20 20 28 KEYWORD.is.the.tag.keyword."...(
25100 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 63 61 6e 64 69 64 61 74 65 73 interactive)...(let.((candidates
25120 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 6d 61 72 6b 65 64 2d 63 61 6e 64 69 64 61 74 .(calibredb-find-marked-candidat
25140 65 73 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 63 61 6e 64 69 64 61 74 65 73 0a 20 20 20 es))).....(unless.candidates....
25160 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d 66 ...(setq.candidates.(calibredb-f
25180 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 28 63 ind-candidate-at-point))).....(c
251a0 61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 6d 65 74 61 64 61 74 61 2d 70 72 6f 63 65 73 73 alibredb-toggle-metadata-process
251c0 20 63 61 6e 64 69 64 61 74 65 73 20 28 6f 72 20 6b 65 79 77 6f 72 64 20 63 61 6c 69 62 72 65 64 .candidates.(or.keyword.calibred
251e0 62 2d 61 72 63 68 69 76 65 2d 6b 65 79 77 6f 72 64 20 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 b-archive-keyword.))))..(defun.c
25200 61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 6d 65 74 61 64 61 74 61 2d 70 72 6f 63 65 73 73 alibredb-toggle-metadata-process
25220 20 28 63 61 6e 64 73 20 6b 65 79 77 6f 72 64 29 0a 20 20 22 52 75 6e 20 73 65 71 75 65 6e 74 69 .(cands.keyword)..."Run.sequenti
25240 61 6c 20 70 72 6f 63 65 73 73 65 73 20 74 6f 20 74 6f 67 67 6c 65 20 6d 65 74 61 64 61 74 61 2e al.processes.to.toggle.metadata.
25260 0a 41 72 67 75 6d 65 6e 74 20 43 41 4e 44 53 20 69 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 63 .Argument.CANDS.is.the.list.of.c
25280 61 6e 64 69 61 74 65 73 2e 0a 41 72 67 75 6d 65 6e 74 20 4b 45 59 57 4f 52 44 20 69 73 20 74 68 andiates..Argument.KEYWORD.is.th
252a0 65 20 6d 65 74 61 64 61 74 61 20 6b 65 79 77 6f 72 64 20 74 6f 20 62 65 20 74 6f 67 67 6c 65 64 e.metadata.keyword.to.be.toggled
252c0 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 63 61 6e 64 20 28 70 6f 70 20 63 61 6e 64 73 29 29 0a 20 ."...(let*.((cand.(pop.cands))..
252e0 20 20 20 20 20 20 20 20 28 74 61 67 73 20 28 63 61 6c 69 62 72 65 64 62 2d 72 65 61 64 2d 6d 65 ........(tags.(calibredb-read-me
25300 74 61 64 61 74 61 73 20 22 74 61 67 73 22 20 63 61 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 tadatas."tags".cand))..........(
25320 6c 70 61 74 68 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 20 3a 6c lpath.(calibredb-getattr.cand.:l
25340 70 61 74 68 29 29 29 0a 20 20 20 20 28 69 66 20 6c 70 61 74 68 0a 20 20 20 20 20 20 20 20 28 70 path))).....(if.lpath.........(p
25360 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 rogn...........(if.(s-contains?.
25380 6b 65 79 77 6f 72 64 20 74 61 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c keyword.tags)...............(cal
253a0 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 75 70 64 61 74 65 2d 74 61 67 73 2d 62 79 2d 6c 70 61 ibredb-folder-update-tags-by-lpa
253c0 74 68 20 6c 70 61 74 68 20 28 73 2d 72 65 70 6c 61 63 65 20 6b 65 79 77 6f 72 64 20 22 22 20 74 th.lpath.(s-replace.keyword."".t
253e0 61 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c ags)).............(calibredb-fol
25400 64 65 72 2d 75 70 64 61 74 65 2d 74 61 67 73 2d 62 79 2d 6c 70 61 74 68 20 6c 70 61 74 68 20 6b der-update-tags-by-lpath.lpath.k
25420 65 79 77 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 75 61 6c eyword))...........(cond.((equal
25440 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6d 6f 64 65 .major-mode.'calibredb-show-mode
25460 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68 )..................(calibredb-sh
25480 6f 77 2d 72 65 66 72 65 73 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 ow-refresh)).................((e
254a0 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d q.major-mode.'calibredb-search-m
254c0 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 ode)..................(calibredb
254e0 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d 72 65 73 75 6d 65 29 29 0a 20 20 20 20 -search-refresh-or-resume)).....
25500 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 28 ............(t.nil))).......;;.(
25520 70 70 20 63 61 6e 64 29 0a 20 20 20 20 20 20 28 69 66 20 63 61 6e 64 0a 20 20 20 20 20 20 20 20 pp.cand).......(if.cand.........
25540 20 20 28 73 65 74 2d 70 72 6f 63 65 73 73 2d 73 65 6e 74 69 6e 65 6c 0a 20 20 20 20 20 20 20 20 ..(set-process-sentinel.........
25560 20 20 20 28 6c 65 74 2a 20 28 28 69 64 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 ...(let*.((id.(calibredb-getattr
25580 20 63 61 6e 64 20 3a 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 73 .cand.:id)))..............(if.(s
255a0 2d 63 6f 6e 74 61 69 6e 73 3f 20 6b 65 79 77 6f 72 64 20 74 61 67 73 29 0a 20 20 20 20 20 20 20 -contains?.keyword.tags)........
255c0 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 70 72 6f 63 65 73 73 20 3a 63 6f ..........(calibredb-process.:co
255e0 6d 6d 61 6e 64 20 22 73 65 74 5f 6d 65 74 61 64 61 74 61 22 0a 20 20 20 20 20 20 20 20 20 20 20 mmand."set_metadata"............
25600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6f 70 74 69 6f 6e .........................:option
25620 20 28 66 6f 72 6d 61 74 20 22 2d 2d 66 69 65 6c 64 20 74 61 67 73 3a 5c 22 25 73 5c 22 22 20 28 .(format."--field.tags:\"%s\"".(
25640 73 2d 72 65 70 6c 61 63 65 20 6b 65 79 77 6f 72 64 20 22 22 20 74 61 67 73 29 29 0a 20 20 20 20 s-replace.keyword."".tags)).....
25660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
25680 3a 69 64 20 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :id.id..........................
256a0 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 62 72 61 72 79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c ...........:library.(format."--l
256c0 69 62 72 61 72 79 2d 70 61 74 68 20 5c 22 25 73 5c 22 22 20 63 61 6c 69 62 72 65 64 62 2d 72 6f ibrary-path.\"%s\"".calibredb-ro
256e0 6f 74 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 ot-dir))................(calibre
25700 64 62 2d 70 72 6f 63 65 73 73 20 3a 63 6f 6d 6d 61 6e 64 20 22 73 65 74 5f 6d 65 74 61 64 61 74 db-process.:command."set_metadat
25720 61 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 a"..............................
25740 20 20 20 20 20 3a 6f 70 74 69 6f 6e 20 28 66 6f 72 6d 61 74 20 22 2d 2d 66 69 65 6c 64 20 74 61 .....:option.(format."--field.ta
25760 67 73 3a 5c 22 25 73 2c 25 73 5c 22 22 20 74 61 67 73 20 6b 65 79 77 6f 72 64 29 0a 20 20 20 20 gs:\"%s,%s\"".tags.keyword).....
25780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 ..............................:i
257a0 64 20 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.id............................
257c0 20 20 20 20 20 20 20 3a 6c 69 62 72 61 72 79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62 72 61 .......:library.(format."--libra
257e0 72 79 2d 70 61 74 68 20 5c 22 25 73 5c 22 22 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 ry-path.\"%s\"".calibredb-root-d
25800 69 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 20 5f 65 29 ir))))............(lambda.(p._e)
25820 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3d 20 30 20 28 70 72 6f 63 65 73 ..............(when.(=.0.(proces
25840 73 2d 65 78 69 74 2d 73 74 61 74 75 73 20 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s-exit-status.p))...............
25860 20 28 63 61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 6d 65 74 61 64 61 74 61 2d 70 72 6f 63 .(calibredb-toggle-metadata-proc
25880 65 73 73 20 63 61 6e 64 73 20 6b 65 79 77 6f 72 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b ess.cands.keyword)))).........;;
258a0 20 69 66 20 6e 6f 20 63 61 6e 64 69 64 61 74 65 20 6c 65 66 74 20 74 6f 20 62 65 20 70 72 6f 63 .if.no.candidate.left.to.be.proc
258c0 65 73 73 65 64 2c 20 72 65 66 72 65 73 68 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 essed,.refresh.*calibredb-search
258e0 2a 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 75 61 6c 20 6d 61 6a 6f 72 2d 6d 6f *.........(cond.((equal.major-mo
25900 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 de.'calibredb-show-mode)........
25920 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 72 65 66 72 65 73 68 29 ........(calibredb-show-refresh)
25940 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 )...............((eq.major-mode.
25960 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 'calibredb-search-mode).........
25980 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 .......(calibredb-search-refresh
259a0 2d 6f 72 2d 72 65 73 75 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 6e 69 -or-resume))...............(t.ni
259c0 6c 29 29 29 29 29 29 0a 0a 3b 3b 20 6c 69 76 65 20 66 69 6c 74 65 72 69 6e 67 0a 0a 28 64 65 66 l))))))..;;.live.filtering..(def
259e0 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 67 65 74 2d 66 69 6c 74 65 72 72 65 un.calibredb-search-get-filterre
25a00 64 2d 65 6e 74 72 69 65 73 20 28 26 72 65 73 74 20 70 72 6f 70 65 72 74 69 65 73 29 0a 20 20 22 d-entries.(&rest.properties)..."
25a20 47 65 74 20 65 62 6f 6f 6b 20 63 61 6e 64 69 64 61 74 65 20 65 6e 74 72 69 65 73 20 62 79 20 44 Get.ebook.candidate.entries.by.D
25a40 42 2c 20 4f 50 44 53 20 6f 72 20 46 4f 4c 44 45 52 2e 22 0a 20 20 28 6c 65 74 20 28 28 64 62 20 B,.OPDS.or.FOLDER."...(let.((db.
25a60 28 70 6c 69 73 74 2d 67 65 74 20 70 72 6f 70 65 72 74 69 65 73 20 3a 64 62 29 29 0a 20 20 20 20 (plist-get.properties.:db)).....
25a80 20 20 20 20 28 70 61 67 65 20 28 70 6c 69 73 74 2d 67 65 74 20 70 72 6f 70 65 72 74 69 65 73 20 ....(page.(plist-get.properties.
25aa0 3a 70 61 67 65 29 29 0a 20 20 20 20 20 20 20 20 28 6f 70 64 73 20 28 70 6c 69 73 74 2d 67 65 74 :page)).........(opds.(plist-get
25ac0 20 70 72 6f 70 65 72 74 69 65 73 20 3a 6f 70 64 73 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f 6c .properties.:opds)).........(fol
25ae0 64 65 72 20 28 70 6c 69 73 74 2d 67 65 74 20 70 72 6f 70 65 72 74 69 65 73 20 3a 66 6f 6c 64 65 der.(plist-get.properties.:folde
25b00 72 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 64 62 0a 20 20 20 20 20 20 28 63 r))).....(cond......(db.......(c
25b20 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63 61 6e 64 69 64 61 74 65 73 20 63 61 6c 69 62 alibredb-search-candidates.calib
25b40 72 65 64 62 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 20 3a 6c 69 6d 69 74 20 28 63 61 6c 69 62 redb-search-filter.:limit.(calib
25b60 72 65 64 62 2d 73 65 61 72 63 68 2d 70 61 67 65 2d 6d 61 78 2d 72 6f 77 73 29 20 3a 70 61 67 65 redb-search-page-max-rows).:page
25b80 20 70 61 67 65 29 29 0a 20 20 20 20 20 28 6f 70 64 73 20 6f 70 64 73 29 0a 20 20 20 20 20 28 66 .page))......(opds.opds)......(f
25ba0 6f 6c 64 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 63 61 6e 64 69 64 61 74 older.(calibredb-folder-candidat
25bc0 65 73 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 29 29 29 29 29 0a es.calibredb-search-filter))))).
25be0 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 70 72 69 6e 74 2d 65 .(defun.calibredb-search-print-e
25c00 6e 74 72 79 2d 2d 64 65 66 61 75 6c 74 20 28 65 6e 74 72 79 29 0a 20 20 22 50 72 69 6e 74 20 45 ntry--default.(entry)..."Print.E
25c20 4e 54 52 59 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 28 NTRY.to.the.buffer."...(unless.(
25c40 65 71 75 61 6c 20 65 6e 74 72 79 20 22 22 29 0a 20 20 20 20 28 6c 65 74 20 28 28 63 6f 6e 74 65 equal.entry."").....(let.((conte
25c60 6e 74 20 28 63 61 72 20 65 6e 74 72 79 29 29 20 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 28 nt.(car.entry)).beg.end).......(
25c80 73 65 74 71 20 62 65 67 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 setq.beg.(point)).......(insert.
25ca0 63 6f 6e 74 65 6e 74 29 0a 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c content).......(calibredb-detail
25cc0 65 64 2d 76 69 65 77 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 65 6e 74 72 79 29 0a 20 20 20 20 ed-view-insert-image.entry).....
25ce0 20 20 28 73 65 74 71 20 65 6e 64 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 70 75 74 2d ..(setq.end.(point)).......(put-
25d00 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 65 6e 64 20 27 63 61 6c 69 62 72 65 64 62 text-property.beg.end.'calibredb
25d20 2d 65 6e 74 72 79 20 65 6e 74 72 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 -entry.entry))))..(defun.calibre
25d40 64 62 2d 73 65 61 72 63 68 2d 2d 6d 69 6e 69 62 75 66 66 65 72 2d 73 65 74 75 70 20 28 29 0a 20 db-search--minibuffer-setup.()..
25d60 20 22 53 65 74 20 75 70 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 20 66 6f 72 20 6c 69 76 65 ."Set.up.the.minibuffer.for.live
25d80 20 66 69 6c 74 65 72 69 6e 67 2e 22 0a 20 20 28 77 68 65 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 .filtering."...(when.calibredb-s
25da0 65 61 72 63 68 2d 66 69 6c 74 65 72 2d 61 63 74 69 76 65 0a 20 20 20 20 28 77 68 65 6e 20 28 65 earch-filter-active.....(when.(e
25dc0 71 20 3a 6c 69 76 65 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 2d q.:live.calibredb-search-filter-
25de0 61 63 74 69 76 65 29 0a 20 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 70 6f 73 74 2d 63 6f active).......(add-hook.'post-co
25e00 6d 6d 61 6e 64 2d 68 6f 6f 6b 20 23 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 2d 6c mmand-hook.#'calibredb-search--l
25e20 69 76 65 2d 75 70 64 61 74 65 20 6e 69 6c 20 3a 6c 6f 63 61 6c 29 29 29 29 0a 0a 28 64 65 66 75 ive-update.nil.:local))))..(defu
25e40 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 2d 6c 69 76 65 2d 75 70 64 61 74 65 20 n.calibredb-search--live-update.
25e60 28 29 0a 20 20 22 55 70 64 61 74 65 20 74 68 65 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 ()..."Update.the.calibredb-searc
25e80 68 20 62 75 66 66 65 72 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f h.buffer.based.on.the.contents.o
25ea0 66 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 2e 22 0a 20 20 28 77 68 65 6e 20 28 65 71 20 3a f.the.minibuffer."...(when.(eq.:
25ec0 6c 69 76 65 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 2d 61 63 74 live.calibredb-search-filter-act
25ee0 69 76 65 29 0a 20 20 20 20 3b 3b 20 28 6d 65 73 73 61 67 65 20 22 48 45 4c 4c 4f 22 29 0a 20 20 ive).....;;.(message."HELLO")...
25f00 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 ..(let.((buffer.(calibredb-searc
25f20 68 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 66 69 h-buffer))...........(current-fi
25f40 6c 74 65 72 20 28 6d 69 6e 69 62 75 66 66 65 72 2d 63 6f 6e 74 65 6e 74 73 2d 6e 6f 2d 70 72 6f lter.(minibuffer-contents-no-pro
25f60 70 65 72 74 69 65 73 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 62 75 66 66 65 72 0a 20 20 perties))).......(when.buffer...
25f80 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 ......(with-current-buffer.buffe
25fa0 72 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 r...........(let.((calibredb-sea
25fc0 72 63 68 2d 66 69 6c 74 65 72 20 63 75 72 72 65 6e 74 2d 66 69 6c 74 65 72 29 29 0a 20 20 20 20 rch-filter.current-filter)).....
25fe0 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63 ........(setq.calibredb-search-c
26000 75 72 72 65 6e 74 2d 70 61 67 65 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 urrent-page.1).............(cali
26020 62 72 65 64 62 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 62 75 66 66 65 72 2d 62 79 2d 6c 69 bredb-search-update-buffer-by-li
26040 62 72 61 72 79 2d 74 79 70 65 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 brary-type)))))))..(defun.calibr
26060 65 64 62 2d 73 65 61 72 63 68 2d 6c 69 76 65 2d 66 69 6c 74 65 72 20 28 29 0a 20 20 22 46 69 6c edb-search-live-filter.()..."Fil
26080 74 65 72 20 74 68 65 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 20 62 75 66 66 65 72 20 ter.the.calibredb-search.buffer.
260a0 61 73 20 74 68 65 20 66 69 6c 74 65 72 20 69 73 20 77 72 69 74 74 65 6e 2e 0a 43 75 72 72 65 6e as.the.filter.is.written..Curren
260c0 74 6c 79 2c 20 74 68 65 20 66 69 6c 74 65 72 69 6e 67 20 69 73 20 63 6f 6c 75 6d 6e 2d 6f 72 69 tly,.the.filtering.is.column-ori
260e0 65 6e 74 65 64 2c 20 6e 6f 74 20 62 75 66 66 65 72 20 6f 72 69 65 6e 74 65 64 2e 0a 54 68 65 20 ented,.not.buffer.oriented..The.
26100 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 20 77 69 6c 6c 20 62 65 20 73 65 61 72 63 68 following.columns.will.be.search
26120 65 64 3a 0a 0a 2d 20 69 64 0a 2d 20 74 65 78 74 0a 2d 20 74 61 67 0a 2d 20 74 69 74 6c 65 0a 2d ed:..-.id.-.text.-.tag.-.title.-
26140 20 66 6f 72 6d 61 74 0a 2d 20 61 75 74 68 6f 72 5f 73 6f 72 74 0a 0a 49 66 20 74 68 65 20 6b 65 .format.-.author_sort..If.the.ke
26160 79 77 6f 72 64 20 6f 63 63 75 72 73 20 69 6e 20 61 6e 79 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d yword.occurs.in.any.of.the.colum
26180 6e 73 20 61 62 6f 76 65 2c 20 74 68 65 20 6d 61 74 63 68 65 64 0a 65 62 6f 6f 6b 20 72 65 63 6f ns.above,.the.matched.ebook.reco
261a0 72 64 20 77 69 6c 6c 20 62 65 20 73 68 6f 77 6e 2e 0a 0a 31 2e 20 4c 69 76 65 20 66 69 6c 74 65 rd.will.be.shown...1..Live.filte
261c0 72 20 64 69 72 65 63 74 6c 79 20 6f 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 0a 0a 32 2e 20 r.directly.on.the.database...2..
261e0 54 68 65 20 6b 65 79 77 6f 72 64 20 73 75 70 70 6f 72 74 73 20 52 45 47 45 58 2e 0a 0a 33 2e 20 The.keyword.supports.REGEX...3..
26200 49 6e 73 65 72 74 69 6e 67 20 53 70 61 63 65 73 20 62 65 74 77 65 65 6e 0a 20 20 20 6b 65 79 77 Inserting.Spaces.between....keyw
26220 6f 72 64 73 20 63 61 6e 20 6e 61 72 72 6f 77 20 64 6f 77 6e 20 74 68 65 20 73 65 61 72 63 68 20 ords.can.narrow.down.the.search.
26240 72 65 73 75 6c 74 73 2e 22 0a 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 75 6e results."....(interactive)...(un
26260 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 61 6c 69 62 72 wind-protect.......(let.((calibr
26280 65 64 62 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 2d 61 63 74 69 76 65 20 3a 6c 69 76 65 29 29 edb-search-filter-active.:live))
262a0 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d .........(setq.calibredb-search-
262c0 66 69 6c 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 66 72 6f 6d 2d filter...............(read-from-
262e0 6d 69 6e 69 62 75 66 66 65 72 20 28 66 6f 72 6d 61 74 20 22 46 69 6c 74 65 72 20 25 73 3a 20 22 minibuffer.(format."Filter.%s:."
26300 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
26320 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .............(cond..............
26340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
26360 28 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66 69 6c 74 65 72 2d 70 20 22 28 74 61 67 29 22 29 (calibredb-tag-filter-p."(tag)")
26380 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
263a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 ..............(calibredb-favorit
263c0 65 2d 66 69 6c 74 65 72 2d 70 20 22 28 66 61 76 6f 72 69 74 65 29 22 29 0a 20 20 20 20 20 20 20 e-filter-p."(favorite)")........
263e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
26400 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 66 69 6c 74 65 72 2d 70 ......(calibredb-author-filter-p
26420 20 22 28 61 75 74 68 6f 72 29 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."(author)")....................
26440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 ..........................(calib
26460 72 65 64 62 2d 64 61 74 65 2d 66 69 6c 74 65 72 2d 70 20 22 28 64 61 74 65 29 22 29 0a 20 20 20 redb-date-filter-p."(date)")....
26480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
264a0 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 69 6c 74 ..........(calibredb-format-filt
264c0 65 72 2d 70 20 22 28 66 6f 72 6d 61 74 29 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 er-p."(format)")................
264e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 ..............................(t
26500 20 22 28 6c 69 76 65 29 22 29 29 29 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 66 69 ."(live)"))).calibredb-search-fi
26520 6c 74 65 72 29 29 0a 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 63 61 6c 69 62 72 65 64 lter)).........(message.calibred
26540 62 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 29 29 0a 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 b-search-filter)).....(calibredb
26560 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 62 75 66 66 65 72 2d 62 79 2d 6c 69 62 72 61 72 79 -search-update-buffer-by-library
26580 2d 74 79 70 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 -type)))..(defun.calibredb-searc
265a0 68 2d 75 70 64 61 74 65 2d 62 75 66 66 65 72 2d 62 79 2d 6c 69 62 72 61 72 79 2d 74 79 70 65 20 h-update-buffer-by-library-type.
265c0 28 29 0a 20 20 22 55 70 64 61 74 65 20 74 68 65 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 ()..."Update.the.calibredb-searc
265e0 68 20 62 75 66 66 65 72 20 62 79 20 6c 69 62 72 61 72 79 20 74 79 70 65 2c 20 6f 70 64 73 2c 20 h.buffer.by.library.type,.opds,.
26600 6d 65 74 61 64 61 74 61 20 6f 72 0a 66 6f 6c 64 65 72 20 6d 65 61 74 61 64 61 74 61 2e 22 0a 20 metadata.or.folder.meatadata."..
26620 20 28 63 6f 6e 64 0a 20 20 20 28 28 73 74 72 69 6e 67 2d 70 72 65 66 69 78 2d 70 20 22 68 74 74 .(cond....((string-prefix-p."htt
26640 70 22 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 0a 20 20 20 20 28 6d 65 73 73 p".calibredb-root-dir).....(mess
26660 61 67 65 20 22 4f 50 44 53 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 70 72 74 20 73 65 61 72 63 age."OPDS.does.not.suppprt.searc
26680 68 20 61 74 20 74 68 69 73 20 6d 6f 6d 65 6e 74 2e 22 29 29 0a 20 20 20 28 28 61 6e 64 20 28 73 h.at.this.moment."))....((and.(s
266a0 74 72 69 6e 67 70 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72 29 0a 20 20 20 20 20 20 20 tringp.calibredb-db-dir)........
266c0 20 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 ..(file-exists-p.calibredb-db-di
266e0 72 29 0a 20 20 20 20 20 20 20 20 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 22 6d 65 74 61 64 61 r)..........(s-contains?."metada
26700 74 61 2e 64 62 22 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72 29 29 0a 20 20 20 20 28 63 ta.db".calibredb-db-dir)).....(c
26720 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 62 75 66 66 65 72 29 29 0a alibredb-search-update-buffer)).
26740 20 20 20 28 28 61 6e 64 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 28 65 78 70 61 6e 64 2d ...((and.(file-exists-p.(expand-
26760 66 69 6c 65 2d 6e 61 6d 65 20 22 2e 6d 65 74 61 64 61 74 61 2e 63 61 6c 69 62 72 65 22 20 63 61 file-name.".metadata.calibre".ca
26780 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 29 29 0a 20 20 20 20 28 63 61 6c 69 62 72 65 libredb-root-dir))).....(calibre
267a0 64 62 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 62 75 66 66 65 72 20 3a 66 6f 6c 64 65 72 20 db-search-update-buffer.:folder.
267c0 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6b t))))..(defun.calibredb-search-k
267e0 65 79 77 6f 72 64 2d 66 69 6c 74 65 72 20 28 6b 65 79 77 6f 72 64 29 0a 20 20 22 46 69 6c 74 65 eyword-filter.(keyword)..."Filte
26800 72 20 74 68 65 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 20 62 75 66 66 65 72 20 77 69 r.the.calibredb-search.buffer.wi
26820 74 68 20 4b 45 59 57 4f 52 44 2e 22 0a 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 73 th.KEYWORD."...(setq.calibredb-s
26840 65 61 72 63 68 2d 66 69 6c 74 65 72 20 6b 65 79 77 6f 72 64 29 0a 20 20 28 63 61 6c 69 62 72 65 earch-filter.keyword)...(calibre
26860 64 62 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 62 75 66 66 65 72 2d 62 79 2d 6c 69 62 72 61 db-search-update-buffer-by-libra
26880 72 79 2d 74 79 70 65 29 29 0a 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 ry-type))..(defvar.calibredb-sea
268a0 72 63 68 2d 65 6e 74 72 69 65 73 2d 6c 65 6e 67 74 68 20 30 0a 20 20 22 54 68 65 20 6e 75 6d 62 rch-entries-length.0..."The.numb
268c0 65 72 20 6f 66 20 65 6e 74 72 69 65 73 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 65 61 er.of.entries.in.the.current.sea
268e0 72 63 68 20 72 65 73 75 6c 74 2e 22 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d rch.result.")..(defun.calibredb-
26900 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 62 75 66 66 65 72 20 28 26 72 65 73 74 20 70 72 6f 70 search-update-buffer.(&rest.prop
26920 65 72 74 69 65 73 29 0a 20 20 22 55 70 64 61 74 65 20 74 68 65 20 63 61 6c 69 62 72 65 64 62 2d erties)..."Update.the.calibredb-
26940 73 65 61 72 63 68 20 62 75 66 66 65 72 20 6c 69 73 74 69 6e 67 20 74 6f 20 6d 61 74 63 68 20 74 search.buffer.listing.to.match.t
26960 68 65 20 64 61 74 61 62 61 73 65 20 77 69 74 68 20 50 41 47 45 2e 22 0a 20 20 28 69 6e 74 65 72 he.database.with.PAGE."...(inter
26980 61 63 74 69 76 65 29 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 active)...(with-current-buffer.(
269a0 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72 29 0a 20 20 20 20 28 6c 65 calibredb-search-buffer).....(le
269c0 74 2a 20 28 28 6f 70 64 73 20 28 70 6c 69 73 74 2d 67 65 74 20 70 72 6f 70 65 72 74 69 65 73 20 t*.((opds.(plist-get.properties.
269e0 3a 6f 70 64 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 6c 64 65 72 20 28 70 6c 69 73 :opds))............(folder.(plis
26a00 74 2d 67 65 74 20 70 72 6f 70 65 72 74 69 65 73 20 3a 66 6f 6c 64 65 72 29 29 0a 20 20 20 20 20 t-get.properties.:folder))......
26a20 20 20 20 20 20 20 28 70 61 67 65 20 28 6f 72 20 28 70 6c 69 73 74 2d 67 65 74 20 70 72 6f 70 65 ......(page.(or.(plist-get.prope
26a40 72 74 69 65 73 20 3a 70 61 67 65 29 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 62 20 rties.:page).1))............(db.
26a60 28 69 66 20 28 6f 72 20 6f 70 64 73 20 66 6f 6c 64 65 72 29 20 6e 69 6c 20 74 29 29 0a 20 20 20 (if.(or.opds.folder).nil.t))....
26a80 20 20 20 20 20 20 20 20 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 0a 20 20 ........(inhibit-read-only.t)...
26aa0 20 20 20 20 20 20 20 20 20 28 73 74 61 6e 64 61 72 64 2d 6f 75 74 70 75 74 20 28 63 75 72 72 65 .........(standard-output.(curre
26ac0 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 64 20 30 29 0a 20 20 nt-buffer))............(id.0)...
26ae0 20 20 20 20 20 20 20 20 20 28 65 6e 74 72 69 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 .........(entries.(calibredb-sea
26b00 72 63 68 2d 67 65 74 2d 66 69 6c 74 65 72 72 65 64 2d 65 6e 74 72 69 65 73 20 3a 64 62 20 64 62 rch-get-filterred-entries.:db.db
26b20 20 3a 70 61 67 65 20 70 61 67 65 20 3a 6f 70 64 73 20 6f 70 64 73 20 3a 66 6f 6c 64 65 72 20 66 .:page.page.:opds.opds.:folder.f
26b40 6f 6c 64 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 20 28 6c 65 6e 67 74 68 20 older))............(len.(length.
26b60 65 6e 74 72 69 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 6f 77 73 20 28 63 61 6c 69 entries))............(rows.(cali
26b80 62 72 65 64 62 2d 73 65 61 72 63 68 2d 70 61 67 65 2d 6d 61 78 2d 72 6f 77 73 29 29 29 0a 20 20 bredb-search-page-max-rows)))...
26ba0 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 65 6e 74 72 69 ....(setq.calibredb-search-entri
26bc0 65 73 2d 6c 65 6e 67 74 68 20 28 69 66 20 64 62 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 es-length.(if.db.(calibredb-sear
26be0 63 68 2d 63 61 6e 64 69 64 61 74 65 73 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 66 ch-candidates.calibredb-search-f
26c00 69 6c 74 65 72 20 3a 63 6f 75 6e 74 20 74 29 20 6c 65 6e 29 29 0a 20 20 20 20 20 20 28 73 65 74 ilter.:count.t).len)).......(set
26c20 71 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 70 61 67 65 73 20 28 69 66 20 64 62 20 q.calibredb-search-pages.(if.db.
26c40 28 63 65 69 6c 69 6e 67 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 65 6e 74 72 69 65 (ceiling.calibredb-search-entrie
26c60 73 2d 6c 65 6e 67 74 68 20 72 6f 77 73 29 20 31 29 29 0a 20 20 20 20 20 20 28 65 72 61 73 65 2d s-length.rows).1)).......(erase-
26c80 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 3b 3b 20 72 65 73 65 74 20 63 61 6c 69 62 72 65 64 62 buffer).......;;.reset.calibredb
26ca0 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6e 61 6d 65 0a 20 20 20 20 20 20 28 75 6e 6c -virtual-library-name.......(unl
26cc0 65 73 73 20 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 28 6d 61 70 63 61 72 20 23 27 63 64 72 20 63 61 ess.(-contains?.(mapcar.#'cdr.ca
26ce0 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 20 63 libredb-virtual-library-alist).c
26d00 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 29 0a 20 20 20 20 20 20 20 20 alibredb-search-filter).........
26d20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d (setq.calibredb-virtual-library-
26d40 6e 61 6d 65 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 64 name.calibredb-virtual-library-d
26d60 65 66 61 75 6c 74 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 65 6e 74 efault-name)).......(dolist.(ent
26d80 72 79 20 65 6e 74 72 69 65 73 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 64 20 28 31 2b ry.entries).........(setq.id.(1+
26da0 20 69 64 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3c 3d 20 69 64 20 28 69 66 20 64 .id)).........(when.(<=.id.(if.d
26dc0 62 20 72 6f 77 73 20 6c 65 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 b.rows.len))...........(funcall.
26de0 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 70 72 69 6e 74 2d 65 6e 74 72 79 2d 66 75 6e calibredb-search-print-entry-fun
26e00 63 74 69 6f 6e 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 ction.entry)...........(insert."
26e20 5c 6e 22 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 3c 20 6c 65 6e 20 63 61 6c 69 62 72 65 64 \n"))).......(if.(<.len.calibred
26e40 62 2d 73 65 61 72 63 68 2d 65 6e 74 72 69 65 73 2d 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 20 b-search-entries-length)........
26e60 20 20 20 28 64 6f 74 69 6d 65 73 20 28 69 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d ...(dotimes.(i.calibredb-search-
26e80 70 61 67 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 62 75 74 74 6f 6e pages).............(let.((button
26ea0 2d 73 74 72 69 6e 67 20 28 66 6f 72 6d 61 74 20 22 25 64 22 20 28 31 2b 20 69 29 29 29 29 0a 20 -string.(format."%d".(1+.i))))..
26ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 75 61 6c 20 28 73 74 72 69 6e 67 2d .............(if.(equal.(string-
26ee0 74 6f 2d 6e 75 6d 62 65 72 20 62 75 74 74 6f 6e 2d 73 74 72 69 6e 67 29 20 63 61 6c 69 62 72 65 to-number.button-string).calibre
26f00 64 62 2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e 74 2d 70 61 67 65 29 0a 20 20 20 20 20 20 20 20 db-search-current-page).........
26f20 20 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 66 61 63 65 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 ..........(add-face-text-propert
26f40 79 20 30 20 28 6c 65 6e 67 74 68 20 62 75 74 74 6f 6e 2d 73 74 72 69 6e 67 29 20 27 63 61 6c 69 y.0.(length.button-string).'cali
26f60 62 72 65 64 62 2d 63 75 72 72 65 6e 74 2d 70 61 67 65 2d 62 75 74 74 6f 6e 2d 66 61 63 65 20 74 bredb-current-page-button-face.t
26f80 20 62 75 74 74 6f 6e 2d 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .button-string))...............(
26fa0 69 6e 73 65 72 74 20 22 20 22 20 28 62 75 74 74 6f 6e 69 7a 65 20 62 75 74 74 6f 6e 2d 73 74 72 insert.".".(buttonize.button-str
26fc0 69 6e 67 20 23 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 72 65 2d 64 61 74 61 ing.#'calibredb-search-more-data
26fe0 20 28 31 2b 20 69 29 29 20 22 20 22 29 20 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 .(1+.i)).".").)).........(insert
27000 20 22 45 6e 64 20 6f 66 20 65 6e 74 72 69 65 73 2e 5c 6e 22 29 29 0a 20 20 20 20 20 20 28 67 6f ."End.of.entries.\n")).......(go
27020 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 20 20 20 20 20 20 20 20 20 3b 20 62 to-char.(point-min)).........;.b
27040 61 63 6b 20 74 6f 20 70 6f 69 6e 74 2d 6d 69 6e 20 61 66 74 65 72 20 66 69 6c 74 65 72 69 6e 67 ack.to.point-min.after.filtering
27060 0a 20 20 20 20 20 20 28 73 65 74 66 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6c 61 .......(setf.calibredb-search-la
27080 73 74 2d 75 70 64 61 74 65 20 28 66 6c 6f 61 74 2d 74 69 6d 65 29 29 0a 20 20 20 20 20 20 65 6e st-update.(float-time)).......en
270a0 74 72 69 65 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 tries)))..(defun.calibredb-searc
270c0 68 2d 6d 6f 72 65 2d 64 61 74 61 20 28 70 61 67 65 29 0a 20 20 22 52 65 6e 64 65 72 20 63 61 6e h-more-data.(page)..."Render.can
270e0 64 69 64 61 74 65 73 20 77 69 74 68 20 50 41 47 45 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 6e 68 didates.with.PAGE."...(let.((inh
27100 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c ibit-read-only.t)).....(setq.cal
27120 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e 74 2d 70 61 67 65 20 70 61 67 65 29 ibredb-search-current-page.page)
27140 0a 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 28 64 65 .....(beginning-of-line).....(de
27160 6c 65 74 65 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 29 20 28 70 72 6f 67 6e 20 28 66 6f 72 77 lete-region.(point).(progn.(forw
27180 61 72 64 2d 6c 69 6e 65 20 31 29 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 28 63 61 6c 69 62 ard-line.1).(point))).....(calib
271a0 72 65 64 62 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 62 75 66 66 65 72 20 3a 70 61 67 65 20 redb-search-update-buffer.:page.
271c0 70 61 67 65 29 29 29 0a 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 page)))...(defun.calibredb-searc
271e0 68 2d 6e 65 78 74 2d 70 61 67 65 20 28 29 0a 20 20 22 52 65 6e 64 65 72 20 6e 65 78 74 20 63 61 h-next-page.()..."Render.next.ca
27200 6c 69 62 72 65 64 62 20 70 61 67 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 libredb.page."...(interactive)..
27220 20 28 69 66 20 28 3c 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e 74 .(if.(<.calibredb-search-current
27240 2d 70 61 67 65 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 70 61 67 65 73 29 0a 20 20 -page.calibredb-search-pages)...
27260 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 ....(progn.........(setq.calibre
27280 64 62 2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e 74 2d 70 61 67 65 20 28 31 2b 20 63 61 6c 69 62 db-search-current-page.(1+.calib
272a0 72 65 64 62 2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e 74 2d 70 61 67 65 29 29 0a 20 20 20 20 20 redb-search-current-page))......
272c0 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 62 75 66 66 ...(calibredb-search-update-buff
272e0 65 72 20 3a 70 61 67 65 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e er.:page.calibredb-search-curren
27300 74 2d 70 61 67 65 29 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 4c 61 73 74 20 70 61 67 65 t-page)).....(message."Last.page
27320 2e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 70 .")))..(defun.calibredb-search-p
27340 72 65 76 69 6f 75 73 2d 70 61 67 65 20 28 29 0a 20 20 22 52 65 6e 64 65 72 20 70 72 65 76 69 6f revious-page.()..."Render.previo
27360 75 73 20 63 61 6c 69 62 72 65 64 62 20 70 61 67 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 us.calibredb.page."...(interacti
27380 76 65 29 0a 20 20 28 69 66 20 28 3e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63 75 ve)...(if.(>.calibredb-search-cu
273a0 72 72 65 6e 74 2d 70 61 67 65 20 31 29 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 rrent-page.1).......(progn......
273c0 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e ...(setq.calibredb-search-curren
273e0 74 2d 70 61 67 65 20 28 31 2d 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63 75 72 72 t-page.(1-.calibredb-search-curr
27400 65 6e 74 2d 70 61 67 65 29 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 ent-page)).........(calibredb-se
27420 61 72 63 68 2d 75 70 64 61 74 65 2d 62 75 66 66 65 72 20 3a 70 61 67 65 20 63 61 6c 69 62 72 65 arch-update-buffer.:page.calibre
27440 64 62 2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e 74 2d 70 61 67 65 29 20 29 0a 20 20 20 20 28 6d db-search-current-page).).....(m
27460 65 73 73 61 67 65 20 22 46 69 72 73 74 20 70 61 67 65 2e 22 29 29 29 0a 0a 0a 28 64 65 66 75 6e essage."First.page.")))...(defun
27480 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 70 61 72 73 65 2d 66 69 6c 74 65 72 20 28 .calibredb-search-parse-filter.(
274a0 66 69 6c 74 65 72 29 0a 20 20 22 50 61 72 73 65 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 filter)..."Parse.the.elements.of
274c0 20 61 20 73 65 61 72 63 68 20 46 49 4c 54 45 52 20 69 6e 74 6f 20 61 20 70 6c 69 73 74 2e 22 0a .a.search.FILTER.into.a.plist.".
274e0 20 20 28 6c 65 74 20 28 28 6d 61 74 63 68 65 73 20 28 29 29 29 0a 20 20 20 20 28 63 6c 2d 6c 6f ..(let.((matches.())).....(cl-lo
27500 6f 70 20 66 6f 72 20 65 6c 65 6d 65 6e 74 20 69 6e 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 op.for.element.in.(split-string.
27520 66 69 6c 74 65 72 29 20 63 6f 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 filter).collect..............(wh
27540 65 6e 20 28 63 61 6c 69 62 72 65 64 62 2d 76 61 6c 69 64 2d 72 65 67 65 78 70 2d 70 20 65 6c 65 en.(calibredb-valid-regexp-p.ele
27560 6d 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 65 6c 65 6d 65 ment)................(push.eleme
27580 6e 74 20 6d 61 74 63 68 65 73 29 29 29 0a 20 20 20 20 60 28 2c 40 28 69 66 20 6d 61 74 63 68 65 nt.matches))).....`(,@(if.matche
275a0 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 6d 61 74 63 68 65 73 20 6d 61 74 s.............(list.:matches.mat
275c0 63 68 65 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 76 61 6c 69 ches)))))..(defun.calibredb-vali
275e0 64 2d 72 65 67 65 78 70 2d 70 20 28 72 65 67 65 78 70 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 d-regexp-p.(regexp)..."Return.t.
27600 69 66 20 52 45 47 45 58 50 20 69 73 20 61 20 76 61 6c 69 64 20 52 45 47 45 58 50 2e 22 0a 20 20 if.REGEXP.is.a.valid.REGEXP."...
27620 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 28 70 72 6f 67 31 20 74 0a 20 20 20 20 (ignore-errors.....(prog1.t.....
27640 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 72 65 67 65 78 70 20 22 22 29 29 29 29 0a ..(string-match-p.regexp."")))).
27660 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 70 61 ..(defcustom.calibredb-search-pa
27680 67 65 2d 6d 61 78 2d 72 6f 77 73 2d 61 75 74 6f 2d 61 64 6a 75 73 74 20 6e 69 6c 0a 20 20 22 57 ge-max-rows-auto-adjust.nil..."W
276a0 4f 52 4b 41 52 4f 55 4e 44 3a 20 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 61 75 74 6f 20 61 64 ORKAROUND:.When.non-nil,.auto.ad
276c0 6a 75 73 74 20 74 68 65 20 6d 61 78 20 72 6f 77 73 20 6f 66 20 74 68 65 20 70 61 67 65 2e 0a 49 just.the.max.rows.of.the.page..I
276e0 74 20 69 73 20 75 6e 73 74 61 62 6c 65 20 77 68 65 6e 20 6c 69 76 65 20 73 65 61 72 63 68 2c 20 t.is.unstable.when.live.search,.
27700 61 6e 64 20 74 68 65 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 61 6c 73 6f 20 69 6e 61 63 63 75 and.the.algorithm.is.also.inaccu
27720 72 61 74 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 rate."...:group.'calibredb...:ty
27740 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 pe.'boolean)..(defcustom.calibre
27760 64 62 2d 73 65 61 72 63 68 2d 70 61 67 65 2d 6d 61 78 2d 72 6f 77 73 2d 61 75 74 6f 2d 61 64 6a db-search-page-max-rows-auto-adj
27780 75 73 74 2d 6f 66 66 73 65 74 20 34 0a 20 20 22 57 4f 52 4b 41 52 4f 55 4e 44 3a 20 54 68 65 20 ust-offset.4..."WORKAROUND:.The.
277a0 6f 66 66 73 65 74 20 77 68 65 6e 20 61 75 74 6f 20 61 64 6a 75 73 74 20 74 68 65 20 6d 61 78 20 offset.when.auto.adjust.the.max.
277c0 72 6f 77 73 2e 0a 49 74 20 6d 61 79 20 6e 6f 74 20 62 65 20 61 63 63 75 72 61 74 65 2c 20 62 75 rows..It.may.not.be.accurate,.bu
277e0 74 20 69 74 20 69 73 20 61 20 67 6f 6f 64 20 67 75 65 73 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 t.it.is.a.good.guess."...:group.
27800 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64 'calibredb...:type.'integer)..(d
27820 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 70 61 67 65 2d 6d efcustom.calibredb-search-page-m
27840 61 78 2d 72 6f 77 73 20 34 34 0a 20 20 22 54 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 ax-rows.44..."The.maximum.number
27860 20 6f 66 20 65 6e 74 72 69 65 73 20 74 6f 20 64 69 73 70 6c 61 79 20 69 6e 20 61 20 73 69 6e 67 .of.entries.to.display.in.a.sing
27880 6c 65 20 70 61 67 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 le.page."...:group.'calibredb...
278a0 3a 74 79 70 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 :type.'integer)..(defvar.calibre
278c0 64 62 2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e 74 2d 70 61 67 65 20 31 0a 20 20 22 54 68 65 20 db-search-current-page.1..."The.
278e0 6e 75 6d 62 65 72 20 6f 66 20 63 75 72 72 65 6e 74 20 70 61 67 65 20 69 6e 20 74 68 65 20 63 75 number.of.current.page.in.the.cu
27900 72 72 65 6e 74 20 73 65 61 72 63 68 20 72 65 73 75 6c 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 rrent.search.result.")..(defvar.
27920 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 70 61 67 65 73 20 30 0a 20 20 22 54 68 65 20 calibredb-search-pages.0..."The.
27940 6e 75 6d 62 65 72 20 6f 66 20 70 61 67 65 73 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 number.of.pages.in.the.current.s
27960 65 61 72 63 68 20 72 65 73 75 6c 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 earch.result.")..(defvar.calibre
27980 64 62 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72 2d 6c 69 6e 65 2d 70 69 78 65 6c 2d 68 65 69 67 db-search-buffer-line-pixel-heig
279a0 68 74 20 6e 69 6c 0a 20 20 22 54 68 65 20 70 69 78 65 6c 20 68 65 69 67 68 74 20 6f 66 20 74 68 ht.nil..."The.pixel.height.of.th
279c0 65 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 20 62 75 66 66 65 72 20 6c 69 6e 65 e.*calibredb-search*.buffer.line
279e0 2e 22 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 70 61 67 .")..(defun.calibredb-search-pag
27a00 65 2d 6d 61 78 2d 72 6f 77 73 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6d 61 78 69 e-max-rows.()..."Return.the.maxi
27a20 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 65 6e 74 72 69 65 73 20 74 6f 20 64 69 73 70 6c 61 79 mum.number.of.entries.to.display
27a40 2e 0a 49 6e 20 74 68 65 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 20 77 69 6e 64 ..In.the.*calibredb-search*.wind
27a60 6f 77 2e 22 0a 20 20 28 6c 65 74 20 28 28 77 69 6e 20 28 67 65 74 2d 62 75 66 66 65 72 2d 77 69 ow."...(let.((win.(get-buffer-wi
27a80 6e 64 6f 77 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 22 20 27 76 69 73 69 62 ndow."*calibredb-search*".'visib
27aa0 6c 65 29 29 29 0a 20 20 20 20 28 69 66 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 70 le))).....(if.calibredb-search-p
27ac0 61 67 65 2d 6d 61 78 2d 72 6f 77 73 2d 61 75 74 6f 2d 61 64 6a 75 73 74 0a 20 20 20 20 20 20 20 age-max-rows-auto-adjust........
27ae0 20 28 69 66 20 28 77 69 6e 64 6f 77 2d 6c 69 76 65 2d 70 20 77 69 6e 29 0a 20 20 20 20 20 20 20 .(if.(window-live-p.win)........
27b00 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 .....(progn...............(unles
27b20 73 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72 2d 6c 69 6e 65 2d 70 s.calibredb-search-buffer-line-p
27b40 69 78 65 6c 2d 68 65 69 67 68 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 ixel-height.................(set
27b60 71 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72 2d 6c 69 6e 65 2d 70 q.calibredb-search-buffer-line-p
27b80 69 78 65 6c 2d 68 65 69 67 68 74 20 28 6c 69 6e 65 2d 70 69 78 65 6c 2d 68 65 69 67 68 74 29 29 ixel-height.(line-pixel-height))
27ba0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 77 69 6e 64 6f 77 2d 70 )...............(let*.((window-p
27bc0 69 78 65 6c 2d 68 65 69 67 68 74 20 28 77 69 6e 64 6f 77 2d 70 69 78 65 6c 2d 68 65 69 67 68 74 ixel-height.(window-pixel-height
27be0 20 77 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 6e .win))......................(fon
27c00 74 2d 68 65 69 67 68 74 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72 t-height.calibredb-search-buffer
27c20 2d 6c 69 6e 65 2d 70 69 78 65 6c 2d 68 65 69 67 68 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 -line-pixel-height).............
27c40 20 20 20 20 20 20 20 20 20 28 6f 66 66 73 65 74 20 28 2a 20 63 61 6c 69 62 72 65 64 62 2d 73 65 .........(offset.(*.calibredb-se
27c60 61 72 63 68 2d 70 61 67 65 2d 6d 61 78 2d 72 6f 77 73 2d 61 75 74 6f 2d 61 64 6a 75 73 74 2d 6f arch-page-max-rows-auto-adjust-o
27c80 66 66 73 65 74 20 66 6f 6e 74 2d 68 65 69 67 68 74 29 29 29 20 20 3b 3b 20 48 65 69 67 68 74 20 ffset.font-height)))..;;.Height.
27ca0 6f 66 20 6d 6f 64 65 20 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 43 61 of.mode.line...............;;.Ca
27cc0 6c 63 75 6c 61 74 65 20 76 69 73 69 62 6c 65 20 68 65 69 67 68 74 20 62 79 20 73 75 62 74 72 61 lculate.visible.height.by.subtra
27ce0 63 74 69 6e 67 20 68 65 61 64 65 72 20 61 6e 64 20 6d 6f 64 65 20 6c 69 6e 65 20 68 65 69 67 68 cting.header.and.mode.line.heigh
27d00 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 69 73 69 62 6c 65 2d ts...............(let.((visible-
27d20 70 69 78 65 6c 2d 68 65 69 67 68 74 20 28 2d 20 77 69 6e 64 6f 77 2d 70 69 78 65 6c 2d 68 65 69 pixel-height.(-.window-pixel-hei
27d40 67 68 74 20 6f 66 66 73 65 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b ght.offset))).................;;
27d60 20 43 61 6c 63 75 6c 61 74 65 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6c 69 6e 65 73 20 74 .Calculate.the.number.of.lines.t
27d80 68 61 74 20 66 69 74 20 69 6e 20 74 68 65 20 76 69 73 69 62 6c 65 20 68 65 69 67 68 74 0a 20 20 hat.fit.in.the.visible.height...
27da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 78 20 31 20 28 66 6c 6f 6f 72 20 76 69 73 69 ..............(max.1.(floor.visi
27dc0 62 6c 65 2d 70 69 78 65 6c 2d 68 65 69 67 68 74 20 66 6f 6e 74 2d 68 65 69 67 68 74 29 29 29 29 ble-pixel-height.font-height))))
27de0 20 29 0a 20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 70 61 .)...........calibredb-search-pa
27e00 67 65 2d 6d 61 78 2d 72 6f 77 73 29 0a 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 ge-max-rows).......calibredb-sea
27e20 72 63 68 2d 70 61 67 65 2d 6d 61 78 2d 72 6f 77 73 29 29 29 0a 0a 0a 28 64 65 66 75 6e 20 63 61 rch-page-max-rows)))...(defun.ca
27e40 6c 69 62 72 65 64 62 2d 73 61 6e 69 74 69 7a 65 2d 66 69 6c 74 65 72 20 28 66 69 6c 74 65 72 29 libredb-sanitize-filter.(filter)
27e60 0a 20 20 22 53 61 6e 69 74 69 7a 65 20 46 49 4c 54 45 52 20 66 6f 72 20 75 73 65 20 69 6e 20 53 ..."Sanitize.FILTER.for.use.in.S
27e80 51 4c 20 71 75 65 72 69 65 73 20 62 79 20 65 73 63 61 70 69 6e 67 20 73 70 65 63 69 61 6c 20 63 QL.queries.by.escaping.special.c
27ea0 68 61 72 61 63 74 65 72 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 61 6e 69 74 69 7a 65 64 20 66 haracters."...(let.((sanitized.f
27ec0 69 6c 74 65 72 29 29 0a 20 20 20 20 3b 3b 20 45 73 63 61 70 65 20 73 69 6e 67 6c 65 20 71 75 6f ilter)).....;;.Escape.single.quo
27ee0 74 65 73 20 62 79 20 64 6f 75 62 6c 69 6e 67 20 74 68 65 6d 0a 20 20 20 20 28 73 65 74 71 20 73 tes.by.doubling.them.....(setq.s
27f00 61 6e 69 74 69 7a 65 64 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 anitized.(replace-regexp-in-stri
27f20 6e 67 20 22 27 22 20 22 27 27 22 20 73 61 6e 69 74 69 7a 65 64 29 29 0a 20 20 20 20 73 61 6e 69 ng."'"."''".sanitized)).....sani
27f40 74 69 7a 65 64 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 tized))..(defun.calibredb-search
27f60 2d 63 61 6e 64 69 64 61 74 65 73 20 28 66 69 6c 74 65 72 20 26 72 65 73 74 20 70 72 6f 70 65 72 -candidates.(filter.&rest.proper
27f80 74 69 65 73 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 65 62 6f 6f 6b 20 63 61 6e 64 69 64 61 74 ties)..."Generate.ebook.candidat
27fa0 65 20 61 6c 69 73 74 2e 0a 41 72 67 75 6d 65 6e 74 3a 20 46 49 4c 54 45 52 20 69 73 20 74 68 65 e.alist..Argument:.FILTER.is.the
27fc0 20 66 69 6c 74 65 72 20 73 74 72 69 6e 67 2e 0a 41 72 67 75 6d 65 6e 74 3a 20 50 52 4f 50 45 52 .filter.string..Argument:.PROPER
27fe0 54 49 45 53 20 69 73 20 74 68 65 20 61 64 64 69 6f 6e 74 61 6c 20 70 61 72 61 6d 65 74 65 72 73 TIES.is.the.addiontal.parameters
28000 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 77 6f 72 64 73 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 ."...(let*.((words.(split-string
28020 20 28 63 61 6c 69 62 72 65 64 62 2d 73 61 6e 69 74 69 7a 65 2d 66 69 6c 74 65 72 20 66 69 6c 74 .(calibredb-sanitize-filter.filt
28040 65 72 29 20 22 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 69 6d 69 74 20 28 70 6c 69 73 74 er)."."))..........(limit.(plist
28060 2d 67 65 74 20 70 72 6f 70 65 72 74 69 65 73 20 3a 6c 69 6d 69 74 29 29 0a 20 20 20 20 20 20 20 -get.properties.:limit))........
28080 20 20 28 63 6f 75 6e 74 20 28 70 6c 69 73 74 2d 67 65 74 20 70 72 6f 70 65 72 74 69 65 73 20 3a ..(count.(plist-get.properties.:
280a0 63 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 61 67 65 20 28 70 6c 69 73 74 2d 67 65 count))..........(page.(plist-ge
280c0 74 20 70 72 6f 70 65 72 74 69 65 73 20 3a 70 61 67 65 29 29 29 0a 20 20 20 20 28 63 61 6c 69 62 t.properties.:page))).....(calib
280e0 72 65 64 62 2d 63 61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 20 3a 77 68 65 72 65 20 28 63 6f 6e redb-candidates......:where.(con
28100 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 63 61 6c 69 62 72 65 64 cat..............(cond.(calibred
28120 62 2d 74 61 67 2d 66 69 6c 74 65 72 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 b-tag-filter-p..................
28140 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(mapconcat...................
28160 20 20 20 28 6c 61 6d 62 64 61 20 28 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(lambda.(word)...............
28180 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 27 69 64 65 6e 74 69 74 79 0a 20 20 .........(mapconcat.'identity...
281a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
281c0 28 64 65 6c 71 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (delq.nil.......................
281e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 0a 20 20 20 20 20 20 20 20 ..................(list.........
28200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
28220 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 77 .(unless.(equal.(calibredb-tag-w
28240 69 64 74 68 29 20 30 29 20 28 66 6f 72 6d 61 74 20 22 74 61 67 20 6c 69 6b 65 20 27 25 25 25 73 idth).0).(format."tag.like.'%%%s
28260 25 25 27 20 22 20 77 6f 72 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 %%'.".word))))..................
28280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 4f 52 20 22 29 29 0a 20 20 20 20 20 20 .................".OR.")).......
282a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 ...............words............
282c0 20 20 20 20 20 20 20 20 20 20 22 20 41 4e 44 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........".AND.")..............
282e0 20 20 20 20 20 20 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c .......)....................(cal
28300 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 69 6c 74 65 72 2d 70 0a 20 20 20 20 20 20 20 20 20 ibredb-format-filter-p..........
28320 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 ...........(mapconcat...........
28340 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 77 6f 72 64 29 0a 20 20 20 20 20 20 ...........(lambda.(word).......
28360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 27 69 64 65 .................(mapconcat.'ide
28380 6e 74 69 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ntity...........................
283a0 20 20 20 20 20 20 20 20 28 64 65 6c 71 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........(delq.nil...............
283c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 0a ..........................(list.
283e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
28400 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 28 63 61 6c 69 62 72 65 .........(unless.(equal.(calibre
28420 64 62 2d 74 61 67 2d 77 69 64 74 68 29 20 30 29 20 28 66 6f 72 6d 61 74 20 22 66 6f 72 6d 61 74 db-tag-width).0).(format."format
28440 20 6c 69 6b 65 20 27 25 25 25 73 25 25 27 20 22 20 77 6f 72 64 29 29 29 29 0a 20 20 20 20 20 20 .like.'%%%s%%'.".word)))).......
28460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 4f 52 ............................".OR
28480 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 73 0a ."))......................words.
284a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 41 4e 44 20 22 29 0a 20 20 .....................".AND.")...
284c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..................).............
284e0 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 66 69 6c 74 65 72 2d .......(calibredb-author-filter-
28500 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 p.....................(mapconcat
28520 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 77 ......................(lambda.(w
28540 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 ord)........................(map
28560 63 6f 6e 63 61 74 20 27 69 64 65 6e 74 69 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 concat.'identity................
28580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 71 20 6e 69 6c 0a 20 20 20 ...................(delq.nil....
285a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
285c0 20 20 20 20 20 28 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....(list......................
285e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 ....................(unless.(equ
28600 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 77 69 64 74 68 29 20 30 29 20 28 66 6f 72 al.(calibredb-tag-width).0).(for
28620 6d 61 74 20 22 61 75 74 68 6f 72 5f 73 6f 72 74 20 6c 69 6b 65 20 27 25 25 25 73 25 25 27 20 22 mat."author_sort.like.'%%%s%%'."
28640 20 77 6f 72 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .word)))).......................
28660 20 20 20 20 20 20 20 20 20 20 20 20 22 20 4f 52 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ............".OR."))............
28680 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........words.................
286a0 20 20 20 20 20 22 20 41 4e 44 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....".AND.")...................
286c0 20 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 ..)....................(calibred
286e0 62 2d 64 61 74 65 2d 66 69 6c 74 65 72 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 b-date-filter-p.................
28700 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(mapconcat..................
28720 20 20 20 20 28 6c 61 6d 62 64 61 20 28 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(lambda.(word)..............
28740 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 27 69 64 65 6e 74 69 74 79 0a 20 ..........(mapconcat.'identity..
28760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
28780 20 28 64 65 6c 71 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(delq.nil......................
287a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 0a 20 20 20 20 20 20 20 ...................(list........
287c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
287e0 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d ..(unless.(equal.(calibredb-tag-
28800 77 69 64 74 68 29 20 30 29 20 28 66 6f 72 6d 61 74 20 22 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 width).0).(format."last_modified
28820 20 6c 69 6b 65 20 27 25 25 25 73 25 25 27 20 22 20 77 6f 72 64 29 29 29 29 0a 20 20 20 20 20 20 .like.'%%%s%%'.".word)))).......
28840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 4f 52 ............................".OR
28860 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 73 0a ."))......................words.
28880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 41 4e 44 20 22 29 0a 20 20 .....................".AND.")...
288a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..................).............
288c0 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d .......(t.....................(m
288e0 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c apconcat......................(l
28900 61 6d 62 64 61 20 28 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ambda.(word)....................
28920 20 20 20 20 28 66 6f 72 6d 61 74 20 22 28 25 73 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(format."(%s)"..............
28940 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 27 69 64 65 6e 74 69 74 79 0a ...........(mapconcat.'identity.
28960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
28980 20 20 20 28 64 65 6c 71 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(delq.nil....................
289a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 0a 20 20 20 20 ......................(list.....
289c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
289e0 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 63 61 6c 69 62 72 65 64 62 2d 69 ......(unless.(equal.calibredb-i
28a00 64 2d 77 69 64 74 68 20 30 29 20 28 66 6f 72 6d 61 74 20 22 69 64 20 6c 69 6b 65 20 27 25 25 25 d-width.0).(format."id.like.'%%%
28a20 73 25 25 27 22 20 77 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s%%'".word))....................
28a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 .......................(unless.(
28a60 65 71 75 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 74 69 74 6c 65 2d 77 69 64 74 68 29 20 30 29 equal.(calibredb-title-width).0)
28a80 20 28 66 6f 72 6d 61 74 20 22 74 69 74 6c 65 20 6c 69 6b 65 20 27 25 25 25 73 25 25 27 22 20 77 .(format."title.like.'%%%s%%'".w
28aa0 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ord))...........................
28ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 28 ................(unless.(equal.(
28ae0 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 77 69 64 74 68 29 20 30 29 20 28 66 6f 72 6d calibredb-format-width).0).(form
28b00 61 74 20 22 66 6f 72 6d 61 74 20 6c 69 6b 65 20 27 25 25 25 73 25 25 27 22 20 77 6f 72 64 29 29 at."format.like.'%%%s%%'".word))
28b20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
28b40 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 28 63 61 6c 69 62 ...........(unless.(equal.(calib
28b60 72 65 64 62 2d 74 61 67 2d 77 69 64 74 68 29 20 30 29 20 28 66 6f 72 6d 61 74 20 22 74 61 67 20 redb-tag-width).0).(format."tag.
28b80 6c 69 6b 65 20 27 25 25 25 73 25 25 27 22 20 77 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 like.'%%%s%%'".word))...........
28ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
28bc0 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 69 64 73 2d 77 69 (unless.(equal.(calibredb-ids-wi
28be0 64 74 68 29 20 30 29 20 28 66 6f 72 6d 61 74 20 22 69 64 73 20 6c 69 6b 65 20 27 25 25 25 73 25 dth).0).(format."ids.like.'%%%s%
28c00 25 27 22 20 77 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 %'".word))......................
28c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 .....................(unless.(eq
28c40 75 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 77 69 64 74 68 29 20 30 29 20 ual.(calibredb-author-width).0).
28c60 28 66 6f 72 6d 61 74 20 22 61 75 74 68 6f 72 5f 73 6f 72 74 20 6c 69 6b 65 20 27 25 25 25 73 25 (format."author_sort.like.'%%%s%
28c80 25 27 22 20 77 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 %'".word))......................
28ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 .....................(unless.(eq
28cc0 75 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 2d 77 69 64 74 68 29 20 30 29 20 28 66 ual.(calibredb-date-width).0).(f
28ce0 6f 72 6d 61 74 20 22 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 20 6c 69 6b 65 20 27 25 25 25 73 25 ormat."last_modified.like.'%%%s%
28d00 25 27 22 20 77 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 %'".word))......................
28d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4e 6f 72 6d 61 6c 6c 79 .....................;;.Normally
28d40 2c 20 63 6f 6d 6d 65 6e 74 73 20 61 72 65 20 6c 6f 6e 67 2c 20 69 74 20 69 73 20 6e 65 63 65 73 ,.comments.are.long,.it.is.neces
28d60 73 61 72 79 20 74 6f 20 74 72 61 6e 63 61 74 65 20 74 68 65 20 63 6f 6d 6d 65 6e 74 73 20 74 6f sary.to.trancate.the.comments.to
28d80 20 73 70 65 65 64 20 75 70 20 74 68 65 20 73 65 61 72 63 68 69 6e 67 0a 20 20 20 20 20 20 20 20 .speed.up.the.searching.........
28da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
28dc0 20 20 3b 3b 20 65 78 63 65 70 74 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 65 6e 74 2d 77 69 ..;;.except.calibredb-comment-wi
28de0 64 74 68 20 69 73 20 2d 31 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dth.is.-1.......................
28e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 .....................(unless.(eq
28e20 75 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 65 6e 74 2d 77 69 64 74 68 29 20 30 29 ual.(calibredb-comment-width).0)
28e40 20 28 66 6f 72 6d 61 74 20 22 74 65 78 74 20 6c 69 6b 65 20 27 25 25 25 73 25 25 27 22 20 77 6f .(format."text.like.'%%%s%%'".wo
28e60 72 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rd))))..........................
28e80 20 20 20 20 20 20 20 20 20 20 22 20 4f 52 20 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..........".OR."))).............
28ea0 20 20 20 20 20 20 20 20 20 77 6f 72 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........words..................
28ec0 20 20 20 20 22 20 41 4e 44 20 22 29 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 ....".AND.")))...............(wh
28ee0 65 6e 20 6c 69 6d 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 en.limit................(format.
28f00 22 20 4c 49 4d 49 54 20 25 73 20 22 20 6c 69 6d 69 74 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 ".LIMIT.%s.".limit).)...........
28f20 20 20 20 28 77 68 65 6e 20 70 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f ...(when.page................(fo
28f40 72 6d 61 74 20 22 20 4f 46 46 53 45 54 20 25 73 20 22 20 28 2a 20 28 31 2d 20 70 61 67 65 29 20 rmat.".OFFSET.%s.".(*.(1-.page).
28f60 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 70 61 67 65 2d 6d 61 78 2d 72 6f 77 73 29 (calibredb-search-page-max-rows)
28f80 29 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 29 0a 20 20 20 20 20 3a 63 6f 75 6e 74 20 )))...............)......:count.
28fa0 63 6f 75 6e 74 29 29 29 0a 0a 0a 3b 3b 3b 20 64 65 74 61 69 6c 65 64 20 76 69 65 77 0a 0a 28 64 count)))...;;;.detailed.view..(d
28fc0 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 76 69 65 77 20 28 29 0a 20 20 efun.calibredb-toggle-view.()...
28fe0 22 54 6f 67 67 6c 65 20 62 65 74 77 65 65 6e 20 64 65 74 61 69 6c 65 64 20 76 69 65 77 20 6f 72 "Toggle.between.detailed.view.or
29000 20 63 6f 6d 70 61 63 74 20 76 69 65 77 20 69 6e 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 .compact.view.in.*calibredb-sear
29020 63 68 2a 20 62 75 66 66 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 ch*.buffer."...(interactive)...(
29040 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 20 28 6e 6f setq.calibredb-detailed-view.(no
29060 74 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 29 29 0a 20 20 28 63 t.calibredb-detailed-view))...(c
29080 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 74 6f 67 67 6c 65 2d 76 69 65 77 2d 72 65 66 72 alibredb-search-toggle-view-refr
290a0 65 73 68 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 esh))..(defun.calibredb-detailed
290c0 2d 76 69 65 77 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 28 65 6e 74 72 79 29 0a 20 20 22 49 6e -view-insert-image.(entry)..."In
290e0 73 65 72 74 20 69 6d 61 67 65 20 69 6e 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a sert.image.in.*calibredb-search*
29100 20 75 6e 64 65 72 20 64 65 74 61 69 6c 65 64 20 76 69 65 77 20 62 61 73 65 64 20 6f 6e 20 45 4e .under.detailed.view.based.on.EN
29120 54 52 59 2e 22 0a 20 20 28 69 66 20 28 61 6e 64 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 TRY."...(if.(and.calibredb-detai
29140 6c 65 64 2d 76 69 65 77 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 led-view.calibredb-detailed-view
29160 2d 69 6d 61 67 65 2d 73 68 6f 77 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6e 75 6d 20 28 -image-show).......(let*.((num.(
29180 63 6f 6e 64 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 6e 65 72 64 2d 69 63 6f 6e cond.(calibredb-format-nerd-icon
291a0 73 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 s.3).........................(ca
291c0 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 61 6c 6c 2d 74 68 65 2d 69 63 6f 6e 73 20 33 29 0a libredb-format-all-the-icons.3).
291e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 ........................(calibre
29200 64 62 2d 66 6f 72 6d 61 74 2d 69 63 6f 6e 73 2d 69 6e 2d 74 65 72 6d 69 6e 61 6c 20 33 29 0a 20 db-format-icons-in-terminal.3)..
29220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3e 3d 20 63 61 6c 69 .......................((>=.cali
29240 62 72 65 64 62 2d 69 64 2d 77 69 64 74 68 20 30 29 20 63 61 6c 69 62 72 65 64 62 2d 69 64 2d 77 bredb-id-width.0).calibredb-id-w
29260 69 64 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 idth).........................(t
29280 20 30 20 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 20 28 63 61 6c 69 62 .0.)))..............(file.(calib
292a0 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 63 64 72 20 65 6e 74 72 79 29 20 3a 66 69 6c 65 2d 70 redb-getattr.(cdr.entry).:file-p
292c0 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 28 63 61 6c 69 ath))..............(format.(cali
292e0 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 63 64 72 20 65 6e 74 72 79 29 20 3a 62 6f 6f 6b 2d bredb-getattr.(cdr.entry).:book-
29300 66 6f 72 6d 61 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 76 65 72 20 28 63 6f format))..............(cover.(co
29320 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 20 ncat.(file-name-directory.file).
29340 22 63 6f 76 65 72 2e 6a 70 67 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 66 69 "cover.jpg"))..............(infi
29360 6c 65 2d 63 6f 76 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 69 6e 66 69 6c 65 2d 63 6f 76 65 72 le-cover.(calibredb-infile-cover
29380 2d 70 61 74 68 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 69 6d -path.file))).........(cond.((im
293a0 61 67 65 2d 74 79 70 65 2d 61 76 61 69 6c 61 62 6c 65 2d 70 20 28 69 6e 74 65 72 6e 20 66 6f 72 age-type-available-p.(intern.for
293c0 6d 61 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 mat))................(progn.....
293e0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 0a 20 20 20 20 20 .............(insert."\n")......
29400 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 ............(insert.(make-string
29420 20 6e 75 6d 20 3f 20 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 .num.?.))..................(cali
29440 62 72 65 64 62 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 66 69 6c 65 20 22 22 20 63 61 6c 69 62 bredb-insert-image.file."".calib
29460 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78 2d 77 69 64 redb-detailed-view-image-max-wid
29480 74 68 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 2d 69 6d 61 67 65 th.calibredb-detailed-view-image
294a0 2d 6d 61 78 2d 68 65 69 67 68 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 66 -max-height)))...............((f
294c0 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 63 6f 76 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ile-exists-p.cover).............
294e0 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(insert."\n")................
29500 28 69 6e 73 65 72 74 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 6e 75 6d 20 3f 20 29 29 0a 20 20 (insert.(make-string.num.?.))...
29520 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 69 6e 73 65 72 74 2d 69 .............(calibredb-insert-i
29540 6d 61 67 65 20 63 6f 76 65 72 20 22 22 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 mage.cover."".calibredb-detailed
29560 2d 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78 2d 77 69 64 74 68 20 63 61 6c 69 62 72 65 64 62 2d -view-image-max-width.calibredb-
29580 64 65 74 61 69 6c 65 64 2d 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78 2d 68 65 69 67 68 74 29 29 detailed-view-image-max-height))
295a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 69 ...............((file-exists-p.i
295c0 6e 66 69 6c 65 2d 63 6f 76 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 nfile-cover)................(ins
295e0 65 72 74 20 22 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 ert."\n")................(insert
29600 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 6e 75 6d 20 3f 20 29 29 0a 20 20 20 20 20 20 20 20 20 .(make-string.num.?.))..........
29620 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 69 6e ......(calibredb-insert-image.in
29640 66 69 6c 65 2d 63 6f 76 65 72 20 22 22 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 file-cover."".calibredb-detailed
29660 2d 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78 2d 77 69 64 74 68 20 63 61 6c 69 62 72 65 64 62 2d -view-image-max-width.calibredb-
29680 64 65 74 61 69 6c 65 64 2d 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78 2d 68 65 69 67 68 74 29 29 detailed-view-image-max-height))
296a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............(t...............
296c0 20 3b 3b 20 65 78 74 72 61 63 74 20 63 6f 76 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .;;.extract.cover...............
296e0 20 28 63 61 6c 69 62 72 65 64 62 2d 65 78 74 72 61 63 74 2d 63 6f 76 65 72 20 28 63 64 72 20 65 .(calibredb-extract-cover.(cdr.e
29700 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 69 6c ntry))................(when.(fil
29720 65 2d 65 78 69 73 74 73 2d 70 20 69 6e 66 69 6c 65 2d 63 6f 76 65 72 29 0a 20 20 20 20 20 20 20 e-exists-p.infile-cover)........
29740 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 ..........(insert."\n").........
29760 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 6e 75 .........(insert.(make-string.nu
29780 6d 20 3f 20 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 m.?.))..................(calibre
297a0 64 62 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 69 6e 66 69 6c 65 2d 63 6f 76 65 72 20 22 22 20 db-insert-image.infile-cover."".
297c0 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 calibredb-detailed-view-image-ma
297e0 78 2d 77 69 64 74 68 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 2d x-width.calibredb-detailed-view-
29800 69 6d 61 67 65 2d 6d 61 78 2d 68 65 69 67 68 74 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 image-max-height)))))))..(defun.
29820 63 61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 76 69 65 77 2d 61 74 2d 70 6f 69 6e 74 20 28 calibredb-toggle-view-at-point.(
29840 29 0a 20 20 22 54 6f 67 67 6c 65 20 62 65 74 77 65 65 6e 20 64 65 74 61 69 6c 65 64 20 76 69 65 )..."Toggle.between.detailed.vie
29860 77 20 6f 72 20 63 6f 6d 70 61 63 74 20 76 69 65 77 20 69 6e 20 2a 63 61 6c 69 62 72 65 64 62 2d w.or.compact.view.in.*calibredb-
29880 73 65 61 72 63 68 2a 20 62 75 66 66 65 72 20 61 74 20 70 6f 69 6e 74 2e 22 0a 20 20 28 69 6e 74 search*.buffer.at.point."...(int
298a0 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d eractive)...(let.((inhibit-read-
298c0 6f 6e 6c 79 20 74 29 0a 20 20 20 20 20 20 20 20 28 73 74 61 74 75 73 20 63 61 6c 69 62 72 65 64 only.t).........(status.calibred
298e0 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 29 29 0a 20 20 20 20 28 69 66 20 63 61 6c 69 62 72 b-detailed-view)).....(if.calibr
29900 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 0a 20 20 20 20 20 20 20 20 3b 3b 20 64 65 74 edb-detailed-view.........;;.det
29920 61 69 6c 65 64 20 76 69 65 77 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 ailed.view.........(cond........
29940 20 20 3b 3b 20 73 61 76 65 20 74 6f 20 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 0a 20 20 20 ..;;.save.to.calibredb-entry....
29960 20 20 20 20 20 20 28 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 ......((get-text-property.(point
29980 29 20 27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 ).'calibredb-entry.nil).........
299a0 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 20 ..(setq.calibredb-detailed-view.
299c0 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6f 72 69 67 69 6e 61 6c 20 nil)...........(let*.((original.
299e0 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 6c 69 (get-text-property.(point).'cali
29a00 62 72 65 64 62 2d 65 6e 74 72 79 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bredb-entry.nil))...............
29a20 20 20 20 28 65 6e 74 72 79 20 28 63 61 64 72 20 6f 72 69 67 69 6e 61 6c 29 29 0a 20 20 20 20 20 ...(entry.(cadr.original))......
29a40 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 28 6c 69 73 74 20 28 63 61 6c 69 62 ............(format.(list.(calib
29a60 72 65 64 62 2d 66 6f 72 6d 61 74 2d 69 74 65 6d 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 redb-format-item.entry))).......
29a80 20 20 20 20 20 20 20 20 20 20 20 28 69 64 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 69 6e ...........(id.(calibredb-get-in
29aa0 69 74 20 22 69 64 22 20 28 63 64 72 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 it."id".(cdr.(get-text-property.
29ac0 28 70 6f 69 6e 74 29 20 27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 20 6e 69 6c 29 29 29 29 (point).'calibredb-entry.nil))))
29ae0 20 3b 20 74 68 65 20 22 69 64 22 20 6f 66 20 63 75 72 72 65 6e 74 20 70 6f 69 6e 74 0a 20 20 20 .;.the."id".of.current.point....
29b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 2d 62 65 67 20 64 2d 65 6e 64 29 0a 20 20 20 20 20 ..............d-beg.d-end)......
29b20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 75 61 6c 20 69 64 20 28 63 61 6c 69 62 72 65 64 62 2d .......(if.(equal.id.(calibredb-
29b40 67 65 74 2d 69 6e 69 74 20 22 69 64 22 20 28 63 64 72 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f get-init."id".(cdr.(get-text-pro
29b60 70 65 72 74 79 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 perty.(point-min).'calibredb-ent
29b80 72 79 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 ry.nil)))).................(setq
29ba0 20 64 2d 62 65 67 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .d-beg.(point-min)).............
29bc0 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 20 28 77 68 69 6c 65 20 28 65 71 75 61 6c 20 ..(save-excursion.(while.(equal.
29be0 69 64 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 69 6e 69 74 20 22 69 64 22 20 28 63 64 72 id.(calibredb-get-init."id".(cdr
29c00 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 6c .(get-text-property.(point).'cal
29c20 69 62 72 65 64 62 2d 65 6e 74 72 79 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ibredb-entry.nil))))............
29c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 .....................(forward-li
29c60 6e 65 20 2d 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ne.-1)).........................
29c80 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 31 29 0a 20 20 20 20 20 20 20 20 20 ......(forward-line.1)..........
29ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 2d 62 65 67 .....................(setq.d-beg
29cc0 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 .(point)))).............(save-ex
29ce0 63 75 72 73 69 6f 6e 20 28 77 68 69 6c 65 20 28 65 71 75 61 6c 20 69 64 20 28 63 61 6c 69 62 72 cursion.(while.(equal.id.(calibr
29d00 65 64 62 2d 67 65 74 2d 69 6e 69 74 20 22 69 64 22 20 28 63 64 72 20 28 67 65 74 2d 74 65 78 74 edb-get-init."id".(cdr.(get-text
29d20 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 -property.(point).'calibredb-ent
29d40 72 79 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ry.nil))))......................
29d60 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 31 29 29 0a 20 20 20 20 20 .........(forward-line.1))......
29d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 .......................(goto-cha
29da0 72 20 28 31 2d 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.(1-.(point))).................
29dc0 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 2d 65 6e 64 20 28 70 6f 69 6e 74 29 29 ............(setq.d-end.(point))
29de0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 64 2d 62 ).............(delete-region.d-b
29e00 65 67 20 64 2d 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 eg.d-end).............(save-excu
29e20 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 rsion...............(unless.(equ
29e40 61 6c 20 66 6f 72 6d 61 74 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c al.format."").................(l
29e60 65 74 20 28 28 63 6f 6e 74 65 6e 74 20 28 63 61 72 20 66 6f 72 6d 61 74 29 29 0a 20 20 20 20 20 et.((content.(car.format))......
29e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 28 63 61 .................(list.(cons.(ca
29ea0 72 20 66 6f 72 6d 61 74 29 20 28 6c 69 73 74 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 20 r.format).(list.entry)))........
29ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 ...............beg.end).........
29ee0 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 62 65 67 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 ..........(setq.beg.(point))....
29f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 63 6f 6e 74 65 6e 74 29 0a ...............(insert.content).
29f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6e 64 20 28 70 6f 69 ..................(setq.end.(poi
29f40 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 nt))...................(put-text
29f60 2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 65 6e 64 20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d -property.beg.end.'calibredb-com
29f80 70 61 63 74 20 6c 69 73 74 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 pact.list)))))...........(setq.c
29fa0 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 20 73 74 61 74 75 73 29 29 0a alibredb-detailed-view.status)).
29fc0 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 73 61 76 65 20 74 6f 20 63 61 6c 69 62 72 65 64 62 2d 63 ..........;;.save.to.calibredb-c
29fe0 6f 6d 70 61 63 74 0a 20 20 20 20 20 20 20 20 20 28 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 ompact..........((get-text-prope
2a000 72 74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 70 61 63 74 20 6e rty.(point).'calibredb-compact.n
2a020 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64 65 il)...........(setq.calibredb-de
2a040 74 61 69 6c 65 64 2d 76 69 65 77 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 tailed-view.t)...........(let*.(
2a060 28 6f 72 69 67 69 6e 61 6c 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f (original.(get-text-property.(po
2a080 69 6e 74 29 20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 70 61 63 74 20 6e 69 6c 29 29 0a 20 20 int).'calibredb-compact.nil))...
2a0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 74 72 79 20 28 63 61 64 72 20 6f 72 69 67 ...............(entry.(cadr.orig
2a0c0 69 6e 61 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 inal))..................(format.
2a0e0 28 6c 69 73 74 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 69 74 65 6d 20 65 6e 74 (list.(calibredb-format-item.ent
2a100 72 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 69 6f ry)))).............(delete-regio
2a120 6e 20 28 6c 69 6e 65 2d 62 65 67 69 6e 6e 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 29 20 28 6c 69 6e n.(line-beginning-position).(lin
2a140 65 2d 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 61 e-end-position)).............(sa
2a160 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 ve-excursion...............(unle
2a180 73 73 20 28 65 71 75 61 6c 20 66 6f 72 6d 61 74 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 ss.(equal.format."")............
2a1a0 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 6e 74 65 6e 74 20 28 63 61 72 20 66 6f 72 6d 61 74 29 .....(let.((content.(car.format)
2a1c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 63 ).......................(list.(c
2a1e0 6f 6e 73 20 28 63 61 72 20 66 6f 72 6d 61 74 29 20 28 6c 69 73 74 20 65 6e 74 72 79 29 29 29 0a ons.(car.format).(list.entry))).
2a200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 67 20 65 6e 64 29 0a 20 ......................beg.end)..
2a220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 62 65 67 20 28 70 6f 69 6e .................(setq.beg.(poin
2a240 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 63 6f t))...................(insert.co
2a260 6e 74 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 ntent)...................(calibr
2a280 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 6f edb-detailed-view-insert-image.o
2a2a0 72 69 67 69 6e 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 riginal)...................(setq
2a2c0 20 65 6e 64 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .end.(point))...................
2a2e0 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 65 6e 64 20 27 63 61 6c 69 (put-text-property.beg.end.'cali
2a300 62 72 65 64 62 2d 65 6e 74 72 79 20 6c 69 73 74 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 bredb-entry.list)))))...........
2a320 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 20 73 74 (setq.calibredb-detailed-view.st
2a340 61 74 75 73 29 29 29 0a 0a 20 20 20 20 20 20 3b 3b 20 63 6f 6d 70 61 63 74 20 76 69 65 77 0a 20 atus)))........;;.compact.view..
2a360 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 3b 3b 20 73 61 76 65 20 74 6f 20 63 61 6c .....(cond........;;.save.to.cal
2a380 69 62 72 65 64 62 2d 65 6e 74 72 79 0a 20 20 20 20 20 20 20 28 28 67 65 74 2d 74 65 78 74 2d 70 ibredb-entry........((get-text-p
2a3a0 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 roperty.(point).'calibredb-entry
2a3c0 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64 65 .nil).........(setq.calibredb-de
2a3e0 74 61 69 6c 65 64 2d 76 69 65 77 20 74 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6f tailed-view.t).........(let*.((o
2a400 72 69 67 69 6e 61 6c 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e riginal.(get-text-property.(poin
2a420 74 29 20 27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 t).'calibredb-entry.nil)).......
2a440 20 20 20 20 20 20 20 20 20 28 65 6e 74 72 79 20 28 63 61 64 72 20 6f 72 69 67 69 6e 61 6c 29 29 .........(entry.(cadr.original))
2a460 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 28 6c 69 73 74 20 28 63 ................(format.(list.(c
2a480 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 69 74 65 6d 20 65 6e 74 72 79 29 29 29 29 0a 20 alibredb-format-item.entry))))..
2a4a0 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 28 6c 69 6e 65 2d 62 65 .........(delete-region.(line-be
2a4c0 67 69 6e 6e 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 29 20 28 6c 69 6e 65 2d 65 6e 64 2d 70 6f 73 69 ginning-position).(line-end-posi
2a4e0 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e tion))...........(save-excursion
2a500 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 66 6f 72 6d .............(unless.(equal.form
2a520 61 74 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 6e 74 at."")...............(let.((cont
2a540 65 6e 74 20 28 63 61 72 20 66 6f 72 6d 61 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ent.(car.format))...............
2a560 20 20 20 20 20 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 28 63 61 72 20 66 6f 72 6d 61 74 29 20 28 ......(list.(cons.(car.format).(
2a580 6c 69 73 74 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 list.entry)))...................
2a5a0 20 20 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 ..beg.end).................(setq
2a5c0 20 62 65 67 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 .beg.(point)).................(i
2a5e0 6e 73 65 72 74 20 63 6f 6e 74 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 nsert.content).................(
2a600 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 2d 69 6e 73 65 72 74 2d 69 calibredb-detailed-view-insert-i
2a620 6d 61 67 65 20 6f 72 69 67 69 6e 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 mage.original).................(
2a640 73 65 74 71 20 65 6e 64 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 setq.end.(point))...............
2a660 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 65 6e 64 20 27 63 61 ..(put-text-property.beg.end.'ca
2a680 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 20 6c 69 73 74 29 29 29 29 29 0a 20 20 20 20 20 libredb-detailed.list)))))......
2a6a0 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 ...(setq.calibredb-detailed-view
2a6c0 20 73 74 61 74 75 73 29 29 0a 0a 20 20 20 20 20 20 20 3b 3b 20 73 61 76 65 20 74 6f 20 63 61 6c .status)).........;;.save.to.cal
2a6e0 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 0a 20 20 20 20 20 20 20 28 28 67 65 74 2d 74 65 78 ibredb-detailed........((get-tex
2a700 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 6c 69 62 72 65 64 62 2d 64 65 t-property.(point).'calibredb-de
2a720 74 61 69 6c 65 64 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 tailed.nil).........(setq.calibr
2a740 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 edb-detailed-view.nil).........(
2a760 6c 65 74 2a 20 28 28 6f 72 69 67 69 6e 61 6c 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 let*.((original.(get-text-proper
2a780 74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 20 6e ty.(point).'calibredb-detailed.n
2a7a0 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 74 72 79 20 28 63 61 64 72 il))................(entry.(cadr
2a7c0 20 6f 72 69 67 69 6e 61 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d .original))................(form
2a7e0 61 74 20 28 6c 69 73 74 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 69 74 65 6d 20 at.(list.(calibredb-format-item.
2a800 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 64 20 28 63 61 6c entry)))................(id.(cal
2a820 69 62 72 65 64 62 2d 67 65 74 2d 69 6e 69 74 20 22 69 64 22 20 28 63 64 72 20 28 67 65 74 2d 74 ibredb-get-init."id".(cdr.(get-t
2a840 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 6c 69 62 72 65 64 62 2d ext-property.(point).'calibredb-
2a860 64 65 74 61 69 6c 65 64 20 6e 69 6c 29 29 29 29 20 3b 20 74 68 65 20 22 69 64 22 20 6f 66 20 63 detailed.nil)))).;.the."id".of.c
2a880 75 72 72 65 6e 74 20 70 6f 69 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 2d 62 65 urrent.point................d-be
2a8a0 67 20 64 2d 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 75 61 6c 20 69 64 g.d-end)...........(if.(equal.id
2a8c0 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 69 6e 69 74 20 22 69 64 22 20 28 63 64 72 20 28 .(calibredb-get-init."id".(cdr.(
2a8e0 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 27 63 get-text-property.(point-min).'c
2a900 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20 alibredb-detailed.nil)))).......
2a920 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 2d 62 65 67 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 ........(setq.d-beg.(point-min))
2a940 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 20 28 77 68 .............(save-excursion.(wh
2a960 69 6c 65 20 28 65 71 75 61 6c 20 69 64 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 69 6e 69 ile.(equal.id.(calibredb-get-ini
2a980 74 20 22 69 64 22 20 28 63 64 72 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 t."id".(cdr.(get-text-property.(
2a9a0 70 6f 69 6e 74 29 20 27 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 20 6e 69 6c 29 29 point).'calibredb-detailed.nil))
2a9c0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))..............................
2a9e0 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 2d 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(forward-line.-1)).............
2aa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 31 29 ................(forward-line.1)
2aa20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 .............................(se
2aa40 74 71 20 64 2d 62 65 67 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 tq.d-beg.(point))))...........(s
2aa60 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 20 28 77 68 69 6c 65 20 28 65 71 75 61 6c 20 69 64 20 28 ave-excursion.(while.(equal.id.(
2aa80 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 69 6e 69 74 20 22 69 64 22 20 28 63 64 72 20 28 67 65 calibredb-get-init."id".(cdr.(ge
2aaa0 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 6c 69 62 72 65 t-text-property.(point).'calibre
2aac0 64 62 2d 64 65 74 61 69 6c 65 64 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 db-detailed.nil)))).............
2aae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 31 29 ................(forward-line.1)
2ab00 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 )...........................(got
2ab20 6f 2d 63 68 61 72 20 28 31 2d 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 o-char.(1-.(point)))............
2ab40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 2d 65 6e 64 20 28 70 6f 69 6e ...............(setq.d-end.(poin
2ab60 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 64 2d t)))...........(delete-region.d-
2ab80 62 65 67 20 64 2d 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 beg.d-end)...........(save-excur
2aba0 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 sion.............(unless.(equal.
2abc0 66 6f 72 6d 61 74 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 format."")...............(let.((
2abe0 63 6f 6e 74 65 6e 74 20 28 63 61 72 20 66 6f 72 6d 61 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 content.(car.format))...........
2ac00 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 28 63 61 72 20 66 6f 72 6d 61 ..........(list.(cons.(car.forma
2ac20 74 29 20 28 6c 69 73 74 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t).(list.entry)))...............
2ac40 20 20 20 20 20 20 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ......beg.end).................(
2ac60 73 65 74 71 20 62 65 67 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 setq.beg.(point))...............
2ac80 20 20 28 69 6e 73 65 72 74 20 63 6f 6e 74 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(insert.content)..............
2aca0 20 20 20 28 73 65 74 71 20 65 6e 64 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 ...(setq.end.(point))...........
2acc0 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 65 6e 64 ......(put-text-property.beg.end
2ace0 20 27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 20 6c 69 73 74 29 29 29 29 29 0a 20 20 20 20 .'calibredb-entry.list))))).....
2ad00 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 ....(setq.calibredb-detailed-vie
2ad20 77 20 73 74 61 74 75 73 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 w.status))))))..(defun.calibredb
2ad40 2d 66 6f 6e 74 69 66 79 20 28 73 74 72 69 6e 67 20 6d 6f 64 65 29 0a 20 20 22 46 6f 6e 74 69 66 -fontify.(string.mode)..."Fontif
2ad60 79 20 53 54 52 49 4e 47 20 77 69 74 68 20 4d 61 6a 6f 72 20 4d 4f 44 45 2e 22 0a 20 20 28 77 69 y.STRING.with.Major.MODE."...(wi
2ad80 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 28 69 6e 73 65 72 74 20 73 74 72 69 6e th-temp-buffer.....(insert.strin
2ada0 67 29 0a 20 20 20 20 28 64 65 6c 61 79 2d 6d 6f 64 65 2d 68 6f 6f 6b 73 20 28 66 75 6e 63 61 6c g).....(delay-mode-hooks.(funcal
2adc0 6c 20 6d 6f 64 65 29 29 0a 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 66 6f 6e 74 2d l.mode)).....(if.(fboundp.'font-
2ade0 6c 6f 63 6b 2d 65 6e 73 75 72 65 29 0a 20 20 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d lock-ensure).........(font-lock-
2ae00 65 6e 73 75 72 65 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 0a ensure).......(with-no-warnings.
2ae20 20 20 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 6f 6e 74 69 66 79 2d 62 75 66 66 65 ........(font-lock-fontify-buffe
2ae40 72 29 29 29 0a 20 20 20 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 0a 0a 28 64 65 66 r))).....(buffer-string)))..(def
2ae60 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 70 79 2d 61 73 2d 6f 72 67 2d 6c 69 6e 6b 20 28 29 un.calibredb-copy-as-org-link.()
2ae80 0a 20 20 22 43 6f 70 79 20 74 68 65 20 6d 61 72 6b 65 64 20 69 74 65 6d 73 20 61 73 20 6f 72 67 ..."Copy.the.marked.items.as.org
2aea0 20 6c 69 6e 6b 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 .links."...(interactive)...(let.
2aec0 28 28 63 61 6e 64 69 64 61 74 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 6d 61 72 ((candidates.(calibredb-find-mar
2aee0 6b 65 64 2d 63 61 6e 64 69 64 61 74 65 73 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 63 61 ked-candidates))).....(unless.ca
2af00 6e 64 69 64 61 74 65 73 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 73 20 ndidates.......(setq.candidates.
2af20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 (calibredb-find-candidate-at-poi
2af40 6e 74 29 29 29 0a 20 20 20 20 28 6b 69 6c 6c 2d 6e 65 77 0a 20 20 20 20 20 28 77 69 74 68 2d 74 nt))).....(kill-new......(with-t
2af60 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 63 61 6e 64 20 emp-buffer........(dolist.(cand.
2af80 63 61 6e 64 69 64 61 74 65 73 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 64 20 candidates)..........(let*.((id.
2afa0 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 20 3a 69 64 29 29 0a 20 20 (calibredb-getattr.cand.:id))...
2afc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 74 68 20 28 63 61 6c 69 62 72 65 64 62 2d 67 ..............(path.(calibredb-g
2afe0 65 74 2d 66 69 6c 65 2d 70 61 74 68 20 63 61 6e 64 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 et-file-path.cand.t))...........
2b000 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 ......(title.(calibredb-getattr.
2b020 63 61 6e 64 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 cand.:book-title))..............
2b040 20 20 20 28 6c 69 6e 6b 20 28 66 6f 72 6d 61 74 20 22 5b 5b 66 69 6c 65 3a 25 73 5d 5b 25 73 20 ...(link.(format."[[file:%s][%s.
2b060 25 73 20 2d 20 25 73 5d 5d 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 %s.-.%s]]\n"....................
2b080 20 20 20 20 20 20 20 20 20 20 20 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........path.................
2b0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 63 61 6c 69 62 72 65 64 62 2d 66 ..............(cond.(calibredb-f
2b0c0 6f 72 6d 61 74 2d 61 6c 6c 2d 74 68 65 2d 69 63 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 ormat-all-the-icons.............
2b0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 66 62 .........................(if.(fb
2b100 6f 75 6e 64 70 20 27 6e 65 72 64 2d 69 63 6f 6e 73 2d 69 63 6f 6e 2d 66 6f 72 2d 66 69 6c 65 29 oundp.'nerd-icons-icon-for-file)
2b120 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2b140 20 20 20 20 20 20 20 20 20 20 28 6e 65 72 64 2d 69 63 6f 6e 73 2d 69 63 6f 6e 2d 66 6f 72 2d 66 ..........(nerd-icons-icon-for-f
2b160 69 6c 65 20 70 61 74 68 29 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ile.path).""))..................
2b180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f ...................(calibredb-fo
2b1a0 72 6d 61 74 2d 61 6c 6c 2d 74 68 65 2d 69 63 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 rmat-all-the-icons..............
2b1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 66 62 6f ........................(if.(fbo
2b1e0 75 6e 64 70 20 27 61 6c 6c 2d 74 68 65 2d 69 63 6f 6e 73 2d 69 63 6f 6e 2d 66 6f 72 2d 66 69 6c undp.'all-the-icons-icon-for-fil
2b200 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e)..............................
2b220 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6c 6c 2d 74 68 65 2d 69 63 6f 6e 73 2d 69 63 6f 6e 2d ............(all-the-icons-icon-
2b240 66 6f 72 2d 66 69 6c 65 20 70 61 74 68 29 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 for-file.path)."")).............
2b260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 ........................(calibre
2b280 64 62 2d 66 6f 72 6d 61 74 2d 69 63 6f 6e 73 2d 69 6e 2d 74 65 72 6d 69 6e 61 6c 0a 20 20 20 20 db-format-icons-in-terminal.....
2b2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2b2c0 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 69 63 6f 6e 73 2d 69 6e 2d 74 65 72 6d 69 6e 61 6c .(if.(fboundp.'icons-in-terminal
2b2e0 2d 69 63 6f 6e 2d 66 6f 72 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -icon-for-file).................
2b300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 63 6f 6e 73 2d .........................(icons-
2b320 69 6e 2d 74 65 72 6d 69 6e 61 6c 2d 69 63 6f 6e 2d 66 6f 72 2d 66 69 6c 65 20 70 61 74 68 20 3a in-terminal-icon-for-file.path.:
2b340 76 2d 61 64 6a 75 73 74 20 30 20 3a 68 65 69 67 68 74 20 31 29 20 22 22 29 29 0a 20 20 20 20 20 v-adjust.0.:height.1).""))......
2b360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
2b380 74 20 22 22 29 29 20 69 64 20 74 69 74 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 t."")).id.title)))............(i
2b3a0 6e 73 65 72 74 20 6c 69 6e 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 nsert.link)............(message.
2b3c0 22 43 6f 70 69 65 64 20 28 6f 72 67 20 66 69 6c 65 20 6c 69 6e 6b 29 3a 20 25 73 22 20 6c 69 6e "Copied.(org.file.link):.%s".lin
2b3e0 6b 29 29 29 0a 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 0a 20 20 k)))........(buffer-string)))...
2b400 20 20 3b 3b 20 72 65 6d 6f 76 65 20 6f 76 65 72 6c 61 79 73 20 61 6e 64 20 74 65 78 74 20 70 72 ..;;.remove.overlays.and.text.pr
2b420 6f 70 65 72 74 69 65 73 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 62 65 67 20 28 70 6f 69 6e 74 2d operties.....(let*.((beg.(point-
2b440 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 20 28 70 6f 69 6e 74 2d 6d 61 78 min))............(end.(point-max
2b460 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 ))............(inhibit-read-only
2b480 20 74 29 29 0a 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 6f 76 65 72 6c 61 79 73 20 62 65 67 20 .t)).......(remove-overlays.beg.
2b4a0 65 6e 64 29 0a 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 end).......(remove-text-properti
2b4c0 65 73 20 62 65 67 20 65 6e 64 20 27 28 63 61 6c 69 62 72 65 64 62 2d 6d 61 72 6b 20 6e 69 6c 29 es.beg.end.'(calibredb-mark.nil)
2b4e0 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 ))))..(defmacro.calibredb-sort-b
2b500 79 20 28 66 69 65 6c 64 29 0a 20 20 22 4d 61 63 72 6f 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20 y.(field)..."Macro.of.functions.
2b520 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 2d 2a 2e 0a 41 72 67 75 6d 65 6e 74 20 46 49 calibredb-sort-by-*..Argument.FI
2b540 45 4c 44 2e 22 0a 20 20 60 28 64 65 66 75 6e 20 2c 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 ELD."...`(defun.,(intern.(format
2b560 20 22 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 2d 25 73 22 20 66 69 65 6c 64 29 29 20 ."calibredb-sort-by-%s".field)).
2b580 28 29 0a 20 20 20 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 20 20 20 2c 28 66 6f 72 ()......(interactive)......,(for
2b5a0 6d 61 74 20 22 53 6f 72 74 20 62 79 20 25 73 2c 20 72 65 66 72 65 73 68 20 2a 63 61 6c 69 62 72 mat."Sort.by.%s,.refresh.*calibr
2b5c0 65 64 62 2d 73 65 61 72 63 68 2a 2c 20 61 6e 64 20 63 6c 65 61 72 20 66 69 6c 74 65 72 2e 22 20 edb-search*,.and.clear.filter.".
2b5e0 66 69 65 6c 64 29 0a 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 field)......(setq.calibredb-sort
2b600 2d 62 79 20 28 71 75 6f 74 65 20 2c 28 69 6e 74 65 72 6e 20 66 69 65 6c 64 29 29 29 0a 20 20 20 -by.(quote.,(intern.field)))....
2b620 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d 61 6e 64 2d ..(calibredb-search-refresh-and-
2b640 63 6c 65 61 72 2d 66 69 6c 74 65 72 29 29 29 0a 0a 28 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 clear-filter)))..(calibredb-sort
2b660 2d 62 79 20 22 69 64 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 20 22 74 69 -by."id").(calibredb-sort-by."ti
2b680 74 6c 65 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 20 22 66 6f 72 6d 61 74 tle").(calibredb-sort-by."format
2b6a0 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 20 22 61 75 74 68 6f 72 22 29 0a ").(calibredb-sort-by."author").
2b6c0 28 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 20 22 64 61 74 65 22 29 0a 28 63 61 6c 69 (calibredb-sort-by."date").(cali
2b6e0 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 20 22 70 75 62 64 61 74 65 22 29 0a 28 63 61 6c 69 62 72 bredb-sort-by."pubdate").(calibr
2b700 65 64 62 2d 73 6f 72 74 2d 62 79 20 22 74 61 67 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 73 6f edb-sort-by."tag").(calibredb-so
2b720 72 74 2d 62 79 20 22 73 69 7a 65 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 rt-by."size").(calibredb-sort-by
2b740 20 22 6c 61 6e 67 75 61 67 65 22 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74 ."language")..(defun.calibredb-t
2b760 6f 67 67 6c 65 2d 6f 72 64 65 72 20 28 29 0a 20 20 22 54 6f 67 67 6c 65 20 74 68 65 20 6f 72 64 oggle-order.()..."Toggle.the.ord
2b780 65 72 20 62 65 74 77 65 65 6e 20 64 65 73 63 65 6e 64 69 6e 67 20 6f 72 20 61 73 63 65 6e 64 69 er.between.descending.or.ascendi
2b7a0 6e 67 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 69 66 20 28 65 71 20 63 ng."...(interactive)...(if.(eq.c
2b7c0 61 6c 69 62 72 65 64 62 2d 6f 72 64 65 72 20 27 64 65 73 63 29 0a 20 20 20 20 20 20 28 73 65 74 alibredb-order.'desc).......(set
2b7e0 71 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 64 65 72 20 27 61 73 63 29 0a 20 20 20 20 28 73 65 74 q.calibredb-order.'asc).....(set
2b800 71 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 64 65 72 20 27 64 65 73 63 29 29 0a 20 20 28 63 61 6c q.calibredb-order.'desc))...(cal
2b820 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d 61 6e 64 2d 63 6c 65 61 72 2d ibredb-search-refresh-and-clear-
2b840 66 69 6c 74 65 72 29 29 0a 0a 0a 28 70 72 6f 76 69 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 filter))...(provide.'calibredb-s
2b860 65 61 72 63 68 29 0a 0a 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2e 65 6c 20 earch)..;;;.calibredb-search.el.
2b880 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ends.here.......................
2b8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ba00 63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37 30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62 calibredb-20250705.225/calibredb
2ba20 2d 73 68 6f 77 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -show.el........................
2ba40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ba60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
2ba80 30 30 31 31 34 35 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 30 35 32 00 20 30 00 00 00 0011455.00000000000.016052..0...
2baa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bb00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
2bb20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
2bb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bc00 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2e 65 6c 20 2d 2d 2d 20 42 6f 6f 6b 20 64 ;;;.calibredb-show.el.---.Book.d
2bc20 65 74 61 69 6c 20 62 75 66 66 65 72 20 66 6f 72 20 63 61 6c 69 62 72 65 64 62 20 2d 2a 2d 20 6c etail.buffer.for.calibredb.-*-.l
2bc40 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 exical-binding:.t;.-*-..;;.Copyr
2bc60 69 67 68 74 20 28 43 29 20 32 30 32 30 20 44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b 20 41 75 74 ight.(C).2020.Damon.Chan..;;.Aut
2bc80 68 6f 72 3a 20 44 61 6d 6f 6e 20 43 68 61 6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67 6d 61 69 6c 2e hor:.Damon.Chan.<elecming@gmail.
2bca0 63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f com>.;;.URL:.https://github.com/
2bcc0 63 68 65 6e 79 61 6e 6d 69 6e 67 2f 63 61 6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b 20 4b 65 79 77 chenyanming/calibredb.el.;;.Keyw
2bce0 6f 72 64 73 3a 20 74 6f 6f 6c 73 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 4e 4f 54 ords:.tools..;;.This.file.is.NOT
2bd00 20 70 61 72 74 20 6f 66 20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f .part.of.GNU.Emacs...;;.This.pro
2bd20 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 gram.is.free.software;.you.can.r
2bd40 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 edistribute.it.and/or.modify.;;.
2bd60 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 it.under.the.terms.of.the.GNU.Ge
2bd80 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 neral.Public.License.as.publishe
2bda0 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 d.by.;;.the.Free.Software.Founda
2bdc0 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 tion,.either.version.3.of.the.Li
2bde0 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e cense,.or.;;.(at.your.option).an
2be00 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 y.later.version...;;.This.progra
2be20 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 m.is.distributed.in.the.hope.tha
2be40 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 t.it.will.be.useful,.;;.but.WITH
2be60 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 OUT.ANY.WARRANTY;.without.even.t
2be80 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 he.implied.warranty.of.;;.MERCHA
2bea0 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 NTABILITY.or.FITNESS.FOR.A.PARTI
2bec0 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 CULAR.PURPOSE...See.the.;;.GNU.G
2bee0 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 eneral.Public.License.for.more.d
2bf00 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 etails...;;.You.should.have.rece
2bf20 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 ived.a.copy.of.the.GNU.General.P
2bf40 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 ublic.License.;;.along.with.this
2bf60 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f .program...If.not,.see.<https://
2bf80 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d www.gnu.org/licenses/>...;;;.Com
2bfa0 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 mentary:..;;;.Code:..(require.'c
2bfc0 61 6c 69 62 72 65 64 62 2d 63 6f 72 65 29 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f alibredb-core)..(declare-functio
2bfe0 6e 20 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2d 64 69 73 70 61 74 63 68 20 22 63 61 6c 69 n.calibredb-entry-dispatch."cali
2c000 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 bredb-transient.el").(declare-fu
2c020 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 66 69 6c 65 20 22 63 61 6c 69 nction.calibredb-find-file."cali
2c040 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 bredb-utils.el").(declare-functi
2c060 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 66 72 61 on.calibredb-find-file-other-fra
2c080 6d 65 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 me."calibredb-utils.el").(declar
2c0a0 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 65 6e 2d 66 69 6c 65 2d 77 e-function.calibredb-open-file-w
2c0c0 69 74 68 2d 64 65 66 61 75 6c 74 2d 74 6f 6f 6c 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c ith-default-tool."calibredb-util
2c0e0 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 s.el").(declare-function.calibre
2c100 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 64 69 73 70 61 74 63 68 20 22 63 61 6c 69 62 72 db-set-metadata-dispatch."calibr
2c120 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 edb-transient.el").(declare-func
2c140 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72 74 2d 64 69 73 70 61 74 63 68 20 22 tion.calibredb-export-dispatch."
2c160 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 calibredb-transient.el").(declar
2c180 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 65 6e 2d 64 69 72 65 64 20 e-function.calibredb-open-dired.
2c1a0 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 "calibredb-utils.el").(declare-f
2c1c0 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d unction.calibredb-set-metadata--
2c1e0 74 61 67 73 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c tags."calibredb-utils.el").(decl
2c200 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 are-function.calibredb-set-metad
2c220 61 74 61 2d 2d 61 75 74 68 6f 72 5f 73 6f 72 74 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c ata--author_sort."calibredb-util
2c240 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 s.el").(declare-function.calibre
2c260 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 61 75 74 68 6f 72 73 20 22 63 61 6c 69 62 72 db-set-metadata--authors."calibr
2c280 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e edb-utils.el").(declare-function
2c2a0 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 69 74 6c 65 20 22 .calibredb-set-metadata--title."
2c2c0 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 calibredb-utils.el").(declare-fu
2c2e0 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 63 nction.calibredb-set-metadata--c
2c300 6f 6d 6d 65 6e 74 73 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 omments."calibredb-utils.el").(d
2c320 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 65 eclare-function.calibredb-show-e
2c340 6e 74 72 79 20 22 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2e 65 6c 22 29 0a 28 64 65 63 ntry."calibredb-search.el").(dec
2c360 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 72 67 61 20 22 63 61 6c lare-function.calibredb-rga."cal
2c380 69 62 72 65 64 62 2d 69 76 79 2e 65 6c 22 29 0a 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 ibredb-ivy.el")..(defvar.calibre
2c3a0 64 62 2d 73 68 6f 77 2d 65 6e 74 72 79 20 6e 69 6c 0a 20 20 22 54 68 65 20 65 6e 74 72 79 20 62 db-show-entry.nil..."The.entry.b
2c3c0 65 69 6e 67 20 64 69 73 70 6c 61 79 65 64 20 69 6e 20 74 68 69 73 20 62 75 66 66 65 72 2e 22 29 eing.displayed.in.this.buffer.")
2c3e0 0a 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6d 6f 64 65 2d 6d 61 ..(defvar.calibredb-show-mode-ma
2c400 70 0a 20 20 28 6c 65 74 20 28 28 6d 61 70 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d p...(let.((map.(make-sparse-keym
2c420 61 70 29 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 3f 22 20 23 27 ap))).....(define-key.map."?".#'
2c440 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2d 64 69 73 70 61 74 63 68 29 0a 20 20 20 20 28 64 calibredb-entry-dispatch).....(d
2c460 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 6f 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 66 69 efine-key.map."o".#'calibredb-fi
2c480 6e 64 2d 66 69 6c 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 4f 22 nd-file).....(define-key.map."O"
2c4a0 20 23 27 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 66 72 61 .#'calibredb-find-file-other-fra
2c4c0 6d 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 56 22 20 23 27 63 61 me).....(define-key.map."V".#'ca
2c4e0 6c 69 62 72 65 64 62 2d 6f 70 65 6e 2d 66 69 6c 65 2d 77 69 74 68 2d 64 65 66 61 75 6c 74 2d 74 libredb-open-file-with-default-t
2c500 6f 6f 6c 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 73 22 20 23 27 63 ool).....(define-key.map."s".#'c
2c520 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 64 69 73 70 61 74 63 68 29 0a alibredb-set-metadata-dispatch).
2c540 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 65 22 20 23 27 63 61 6c 69 62 72 ....(define-key.map."e".#'calibr
2c560 65 64 62 2d 65 78 70 6f 72 74 2d 64 69 73 70 61 74 63 68 29 0a 20 20 20 20 28 64 65 66 69 6e 65 edb-export-dispatch).....(define
2c580 2d 6b 65 79 20 6d 61 70 20 22 71 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2d 71 -key.map."q".#'calibredb-entry-q
2c5a0 75 69 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 79 22 20 23 27 63 uit).....(define-key.map."y".#'c
2c5c0 61 6c 69 62 72 65 64 62 2d 79 61 6e 6b 2d 64 69 73 70 61 74 63 68 29 0a 20 20 20 20 28 64 65 66 alibredb-yank-dispatch).....(def
2c5e0 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 2c 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 71 75 69 63 ine-key.map.",".#'calibredb-quic
2c600 6b 2d 6c 6f 6f 6b 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 2e 22 20 k-look).....(define-key.map.".".
2c620 23 27 63 61 6c 69 62 72 65 64 62 2d 6f 70 65 6e 2d 64 69 72 65 64 29 0a 20 20 20 20 28 64 65 66 #'calibredb-open-dired).....(def
2c640 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c 4d 2d 2f 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 72 ine-key.map."\M-/".#'calibredb-r
2c660 67 61 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c 4d 2d 74 22 20 23 ga).....(define-key.map."\M-t".#
2c680 27 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 61 67 73 29 0a 20 'calibredb-set-metadata--tags)..
2c6a0 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c 4d 2d 61 22 20 23 27 63 61 6c 69 ...(define-key.map."\M-a".#'cali
2c6c0 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 61 75 74 68 6f 72 5f 73 6f 72 74 29 bredb-set-metadata--author_sort)
2c6e0 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c 4d 2d 41 22 20 23 27 63 61 .....(define-key.map."\M-A".#'ca
2c700 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 61 75 74 68 6f 72 73 29 0a 20 libredb-set-metadata--authors)..
2c720 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c 4d 2d 54 22 20 23 27 63 61 6c 69 ...(define-key.map."\M-T".#'cali
2c740 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 69 74 6c 65 29 0a 20 20 20 20 28 bredb-set-metadata--title).....(
2c760 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c 4d 2d 63 22 20 23 27 63 61 6c 69 62 72 65 64 define-key.map."\M-c".#'calibred
2c780 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 63 6f 6d 6d 65 6e 74 73 29 0a 20 20 20 20 6d 61 b-set-metadata--comments).....ma
2c7a0 70 29 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 60 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 p)..."Keymap.for.`calibredb-show
2c7c0 2d 6d 6f 64 65 27 2e 22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d -mode'.")..(defcustom.calibredb-
2c7e0 73 68 6f 77 2d 75 6e 69 71 75 65 2d 62 75 66 66 65 72 73 20 6e 69 6c 0a 20 20 22 54 4f 44 4f 3a show-unique-buffers.nil..."TODO:
2c800 20 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 76 65 72 79 20 65 6e 74 72 79 20 62 75 66 66 65 .When.non-nil,.every.entry.buffe
2c820 72 20 67 65 74 73 20 61 20 75 6e 69 71 75 65 20 6e 61 6d 65 2e 0a 54 68 69 73 20 61 6c 6c 6f 77 r.gets.a.unique.name..This.allow
2c840 73 20 66 6f 72 20 64 69 73 70 6c 61 79 69 6e 67 20 6d 75 6c 74 69 70 6c 65 20 73 68 6f 77 20 62 s.for.displaying.multiple.show.b
2c860 75 66 66 65 72 73 20 61 74 20 74 68 65 20 73 61 6d 65 0a 74 69 6d 65 2e 22 0a 20 20 3a 67 72 6f uffers.at.the.same.time."...:gro
2c880 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a up.'calibredb...:type.'boolean).
2c8a0 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 65 6e 74 72 ..(defcustom.calibredb-show-entr
2c8c0 79 2d 73 77 69 74 63 68 20 23 27 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 2d 6f 74 68 65 y-switch.#'switch-to-buffer-othe
2c8e0 72 2d 77 69 6e 64 6f 77 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 75 73 65 64 20 74 6f 20 64 69 73 r-window..."Function.used.to.dis
2c900 70 6c 61 79 20 74 68 65 20 63 61 6c 69 62 72 65 20 65 6e 74 72 79 20 62 75 66 66 65 72 2e 22 0a play.the.calibre.entry.buffer.".
2c920 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20 27 28 63 68 ..:group.'calibredb...:type.'(ch
2c940 6f 69 63 65 20 28 66 75 6e 63 74 69 6f 6e 2d 69 74 65 6d 20 73 77 69 74 63 68 2d 74 6f 2d 62 75 oice.(function-item.switch-to-bu
2c960 66 66 65 72 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ffer-other-window)..............
2c980 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 2d 69 74 65 6d 20 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 ....(function-item.switch-to-buf
2c9a0 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 2d fer)..................(function-
2c9c0 69 74 65 6d 20 70 6f 70 2d 74 6f 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 item.pop-to-buffer).............
2c9e0 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 29 29 0a 0a 28 64 65 66 69 6e 65 2d 64 65 72 69 76 65 64 .....function))..(define-derived
2ca00 2d 6d 6f 64 65 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6d 6f 64 65 20 66 75 6e 64 61 6d -mode.calibredb-show-mode.fundam
2ca20 65 6e 74 61 6c 2d 6d 6f 64 65 20 22 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 22 0a 20 20 22 4d ental-mode."calibredb-show"..."M
2ca40 6f 64 65 20 66 6f 72 20 64 69 73 70 6c 61 79 69 6e 67 20 62 6f 6f 6b 20 65 6e 74 72 79 20 64 65 ode.for.displaying.book.entry.de
2ca60 74 61 69 6c 73 2e 0a 5c 5c 7b 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6d 6f 64 65 2d 6d 61 tails..\\{calibredb-show-mode-ma
2ca80 70 7d 22 0a 20 20 28 73 65 74 71 20 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 0a p}"...(setq.buffer-read-only.t).
2caa0 20 20 28 62 75 66 66 65 72 2d 64 69 73 61 62 6c 65 2d 75 6e 64 6f 29 29 0a 0a 28 64 65 66 75 6e ..(buffer-disable-undo))..(defun
2cac0 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 28 65 6e .calibredb-show--buffer-name.(en
2cae0 74 72 79 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 62 try)..."Return.the.appropriate.b
2cb00 75 66 66 65 72 20 6e 61 6d 65 20 66 6f 72 20 45 4e 54 52 59 2e 0a 54 68 65 20 72 65 73 75 6c 74 uffer.name.for.ENTRY..The.result
2cb20 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 60 63 61 6c 69 62 72 .depends.on.the.value.of.`calibr
2cb40 65 64 62 2d 73 68 6f 77 2d 75 6e 69 71 75 65 2d 62 75 66 66 65 72 73 27 2e 22 0a 20 20 28 69 66 edb-show-unique-buffers'."...(if
2cb60 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 75 6e 69 71 75 65 2d 62 75 66 66 65 72 73 0a 20 .calibredb-show-unique-buffers..
2cb80 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2d 3c .....(format."*calibredb-entry-<
2cba0 25 73 3e 2a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 67 %s>*"...............(calibredb-g
2cbc0 65 74 61 74 74 72 20 65 6e 74 72 79 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 0a 20 20 20 20 22 etattr.entry.:book-title))....."
2cbe0 2a 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2a 22 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c *calibredb-entry*"))..(defun.cal
2cc00 69 62 72 65 64 62 2d 73 68 6f 77 2d 72 65 66 72 65 73 68 20 28 29 0a 20 20 22 52 65 66 72 65 73 ibredb-show-refresh.()..."Refres
2cc20 68 20 45 4e 54 52 59 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 22 0a h.ENTRY.in.the.current.buffer.".
2cc40 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 65 6e 74 72 79 20 ..(interactive)...(let*.((entry.
2cc60 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 27 (get-text-property.(point-min).'
2cc80 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 20 6e 69 6c 29 29 20 3b 20 6f 6c 64 20 65 6e 74 72 calibredb-entry.nil)).;.old.entr
2cca0 79 0a 20 20 20 20 20 20 20 20 20 28 69 64 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 y..........(id.(calibredb-getatt
2ccc0 72 20 65 6e 74 72 79 20 3a 69 64 29 29 20 3b 20 6f 6e 6c 79 20 67 65 74 20 74 68 65 20 69 64 0a r.entry.:id)).;.only.get.the.id.
2cce0 20 20 20 20 20 20 20 20 20 28 71 75 65 72 79 2d 72 65 73 75 6c 74 20 28 63 64 72 20 28 63 61 72 .........(query-result.(cdr.(car
2cd00 20 28 63 61 6c 69 62 72 65 64 62 2d 63 61 6e 64 69 64 61 74 65 20 69 64 29 29 29 29 29 20 3b 20 .(calibredb-candidate.id))))).;.
2cd20 67 65 74 20 74 68 65 20 6e 65 77 20 65 6e 74 72 79 20 74 68 72 6f 75 67 68 20 53 51 4c 20 71 75 get.the.new.entry.through.SQL.qu
2cd40 65 72 79 0a 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 65 6e 74 72 79 20 71 75 ery.....(calibredb-show-entry.qu
2cd60 65 72 79 2d 72 65 73 75 6c 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d ery-result)))..(defun.calibredb-
2cd80 65 6e 74 72 79 2d 71 75 69 74 20 28 29 0a 20 20 22 51 75 69 74 20 74 68 65 20 2a 63 61 6c 69 62 entry-quit.()..."Quit.the.*calib
2cda0 72 65 64 62 2d 65 6e 74 72 79 2a 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 redb-entry*."...(interactive)...
2cdc0 28 77 68 65 6e 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d (when.(eq.major-mode.'calibredb-
2cde0 73 68 6f 77 2d 6d 6f 64 65 29 0a 20 20 20 20 28 77 68 65 6e 20 28 67 65 74 2d 62 75 66 66 65 72 show-mode).....(when.(get-buffer
2ce00 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2a 22 29 0a 20 20 20 20 20 20 28 70 6f 70 ."*calibredb-entry*").......(pop
2ce20 2d 74 6f 2d 62 75 66 66 65 72 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2a 22 29 0a -to-buffer."*calibredb-entry*").
2ce40 20 20 20 20 20 20 28 69 66 20 28 3c 20 28 6c 65 6e 67 74 68 20 28 77 69 6e 64 6f 77 2d 70 72 65 ......(if.(<.(length.(window-pre
2ce60 76 2d 62 75 66 66 65 72 73 29 29 20 32 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 v-buffers)).2).........(progn...
2ce80 20 20 20 20 20 20 20 20 28 71 75 69 74 2d 77 69 6e 64 6f 77 29 0a 20 20 20 20 20 20 20 20 20 20 ........(quit-window)...........
2cea0 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2a 22 (kill-buffer."*calibredb-entry*"
2cec0 29 29 0a 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 22 2a 63 61 6c 69 62 72 )).........(kill-buffer."*calibr
2cee0 65 64 62 2d 65 6e 74 72 79 2a 22 29 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 63 61 6c 69 edb-entry*")))))..(provide.'cali
2cf00 62 72 65 64 62 2d 73 68 6f 77 29 0a 0a 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2e bredb-show)..;;;.calibredb-show.
2cf20 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 el.ends.here....................
2cf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d000 63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37 30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62 calibredb-20250705.225/calibredb
2d020 2d 74 72 61 6e 73 69 65 6e 74 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -transient.el...................
2d040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
2d080 30 30 34 36 30 36 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 31 31 30 00 20 30 00 00 00 0046067.00000000000.017110..0...
2d0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
2d120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
2d140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d200 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2e 65 6c 20 2d 2d 2d 20 54 ;;;.calibredb-transient.el.---.T
2d220 72 61 6e 73 69 65 6e 74 20 66 6f 72 20 63 61 6c 69 62 72 65 64 62 20 2d 2a 2d 20 6c 65 78 69 63 ransient.for.calibredb.-*-.lexic
2d240 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 al-binding:.t;.-*-..;;.Copyright
2d260 20 28 43 29 20 32 30 32 30 20 44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a .(C).2020.Damon.Chan..;;.Author:
2d280 20 44 61 6d 6f 6e 20 43 68 61 6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e .Damon.Chan.<elecming@gmail.com>
2d2a0 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 65 6e .;;.URL:.https://github.com/chen
2d2c0 79 61 6e 6d 69 6e 67 2f 63 61 6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 yanming/calibredb.el.;;.Keywords
2d2e0 3a 20 74 6f 6f 6c 73 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 4e 4f 54 20 70 61 72 :.tools..;;.This.file.is.NOT.par
2d300 74 20 6f 66 20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d t.of.GNU.Emacs...;;.This.program
2d320 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 .is.free.software;.you.can.redis
2d340 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 tribute.it.and/or.modify.;;.it.u
2d360 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 nder.the.terms.of.the.GNU.Genera
2d380 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 l.Public.License.as.published.by
2d3a0 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e .;;.the.Free.Software.Foundation
2d3c0 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 ,.either.version.3.of.the.Licens
2d3e0 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 e,.or.;;.(at.your.option).any.la
2d400 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 ter.version...;;.This.program.is
2d420 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 .distributed.in.the.hope.that.it
2d440 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 .will.be.useful,.;;.but.WITHOUT.
2d460 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 ANY.WARRANTY;.without.even.the.i
2d480 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 mplied.warranty.of.;;.MERCHANTAB
2d4a0 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 ILITY.or.FITNESS.FOR.A.PARTICULA
2d4c0 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 R.PURPOSE...See.the.;;.GNU.Gener
2d4e0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 al.Public.License.for.more.detai
2d500 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 ls...;;.You.should.have.received
2d520 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 .a.copy.of.the.GNU.General.Publi
2d540 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f c.License.;;.along.with.this.pro
2d560 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e gram...If.not,.see.<https://www.
2d580 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 gnu.org/licenses/>...;;;.Comment
2d5a0 61 72 79 3a 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 ary:..;;;.Code:..(require.'calib
2d5c0 72 65 64 62 2d 63 6f 72 65 29 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 redb-core)..(declare-function.ca
2d5e0 6c 69 62 72 65 64 62 2d 67 65 74 2d 69 6e 69 74 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c libredb-get-init."calibredb-util
2d600 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 s.el").(declare-function.calibre
2d620 64 62 2d 66 69 6e 64 2d 6d 61 72 6b 65 64 2d 63 61 6e 64 69 64 61 74 65 73 20 22 63 61 6c 69 62 db-find-marked-candidates."calib
2d640 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f redb-utils.el").(declare-functio
2d660 6e 20 63 61 6c 69 62 72 65 64 62 2d 72 67 61 20 22 63 61 6c 69 62 72 65 64 62 2d 69 76 79 2e 65 n.calibredb-rga."calibredb-ivy.e
2d680 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d l").(declare-function.calibredb-
2d6a0 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6c 69 73 74 20 22 63 61 6c 69 62 72 65 64 62 2d virtual-library-list."calibredb-
2d6c0 6c 69 62 72 61 72 79 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 library.el").(declare-function.c
2d6e0 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6e 65 78 74 20 22 63 alibredb-virtual-library-next."c
2d700 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 alibredb-library.el").(declare-f
2d720 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 unction.calibredb-virtual-librar
2d740 79 2d 70 72 65 76 69 6f 75 73 20 22 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2e 65 6c y-previous."calibredb-library.el
2d760 22 29 0a 0a 3b 3b 20 54 72 61 6e 73 69 65 6e 74 20 64 69 73 70 61 74 63 68 0a 0a 28 74 72 61 6e ")..;;.Transient.dispatch..(tran
2d780 73 69 65 6e 74 2d 64 65 66 69 6e 65 2d 70 72 65 66 69 78 20 63 61 6c 69 62 72 65 64 62 2d 64 69 sient-define-prefix.calibredb-di
2d7a0 73 70 61 74 63 68 20 28 29 0a 20 20 22 49 6e 76 6f 6b 65 20 61 20 63 61 6c 69 62 72 65 64 62 20 spatch.()..."Invoke.a.calibredb.
2d7c0 63 6f 6d 6d 61 6e 64 20 66 72 6f 6d 20 61 20 6c 69 73 74 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 command.from.a.list.of.available
2d7e0 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 2e .commands.in.*calibredb-search*.
2d800 22 0a 20 20 3a 6d 61 6e 2d 70 61 67 65 20 22 63 61 6c 69 62 72 65 64 62 22 0a 20 20 5b 22 46 69 "...:man-page."calibredb"...["Fi
2d820 6c 65 20 6f 70 65 72 61 74 69 6f 6e 22 0a 20 20 20 5b 28 22 61 22 20 22 41 64 64 20 61 20 66 69 le.operation"....[("a"."Add.a.fi
2d840 6c 65 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 61 64 64 29 0a 20 20 20 20 28 22 41 22 20 22 41 le"...calibredb-add).....("A"."A
2d860 64 64 20 61 20 64 69 72 65 63 74 6f 72 79 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 61 64 64 2d dd.a.directory"...calibredb-add-
2d880 64 69 72 29 0a 20 20 20 20 28 22 64 22 20 22 52 65 6d 6f 76 65 20 61 20 66 69 6c 65 22 20 20 20 dir).....("d"."Remove.a.file"...
2d8a0 63 61 6c 69 62 72 65 64 62 2d 72 65 6d 6f 76 65 29 0a 20 20 20 20 28 22 65 22 20 22 45 78 70 6f calibredb-remove).....("e"."Expo
2d8c0 72 74 22 20 63 61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72 74 2d 64 69 73 70 61 74 63 68 29 0a 20 rt".calibredb-export-dispatch)..
2d8e0 20 20 20 28 22 73 22 20 22 73 65 74 5f 6d 65 74 61 64 61 74 61 22 20 20 20 63 61 6c 69 62 72 65 ...("s"."set_metadata"...calibre
2d900 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 64 69 73 70 61 74 63 68 29 0a 20 20 20 20 28 22 db-set-metadata-dispatch).....("
2d920 67 22 20 22 66 69 6c 74 65 72 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6c 74 65 72 2d 64 g"."filter"...calibredb-filter-d
2d940 69 73 70 61 74 63 68 29 0a 20 20 20 20 28 22 6f 22 20 22 73 6f 72 74 22 20 20 20 63 61 6c 69 62 ispatch).....("o"."sort"...calib
2d960 72 65 64 62 2d 73 6f 72 74 2d 64 69 73 70 61 74 63 68 29 5d 0a 20 20 20 5b 28 22 52 45 54 22 20 redb-sort-dispatch)]....[("RET".
2d980 22 4f 70 65 6e 20 66 69 6c 65 22 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 66 69 "Open.file".........calibredb-fi
2d9a0 6e 64 2d 66 69 6c 65 29 0a 20 20 20 20 28 22 4f 22 20 22 4f 70 65 6e 20 66 69 6c 65 20 6f 74 68 nd-file).....("O"."Open.file.oth
2d9c0 65 72 20 66 72 61 6d 65 22 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 66 er.frame"............calibredb-f
2d9e0 69 6e 64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 66 72 61 6d 65 29 0a 20 20 20 20 28 22 76 22 20 22 ind-file-other-frame).....("v"."
2da00 56 69 65 77 20 64 65 74 61 69 6c 73 22 20 20 63 61 6c 69 62 72 65 64 62 2d 76 69 65 77 29 0a 20 View.details"..calibredb-view)..
2da20 20 20 20 28 22 56 22 20 22 4f 70 65 6e 20 66 69 6c 65 20 77 69 74 68 20 64 65 66 61 75 6c 74 20 ...("V"."Open.file.with.default.
2da40 74 6f 6f 6c 22 20 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 65 6e 2d 66 69 6c 65 2d 77 69 74 68 2d tool"..calibredb-open-file-with-
2da60 64 65 66 61 75 6c 74 2d 74 6f 6f 6c 29 0a 20 20 20 20 28 22 2c 22 20 22 51 75 69 63 6b 20 4c 6f default-tool).....(","."Quick.Lo
2da80 6f 6b 22 20 20 63 61 6c 69 62 72 65 64 62 2d 71 75 69 63 6b 2d 6c 6f 6f 6b 29 0a 20 20 20 20 28 ok"..calibredb-quick-look).....(
2daa0 22 2e 22 20 22 4f 70 65 6e 20 64 69 72 65 64 22 20 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 65 6e "."."Open.dired"..calibredb-open
2dac0 2d 64 69 72 65 64 29 5d 0a 20 20 20 5b 28 22 6d 22 20 22 4d 61 72 6b 22 20 63 61 6c 69 62 72 65 -dired)]....[("m"."Mark".calibre
2dae0 64 62 2d 6d 61 72 6b 2d 61 6e 64 2d 66 6f 72 77 61 72 64 29 0a 20 20 20 20 28 22 75 22 20 22 55 db-mark-and-forward).....("u"."U
2db00 6e 6d 61 72 6b 20 61 6e 64 20 66 6f 72 77 61 72 64 22 20 63 61 6c 69 62 72 65 64 62 2d 75 6e 6d nmark.and.forward".calibredb-unm
2db20 61 72 6b 2d 61 6e 64 2d 66 6f 72 77 61 72 64 29 0a 20 20 20 20 28 22 44 45 4c 22 20 22 55 6e 6d ark-and-forward).....("DEL"."Unm
2db40 61 72 6b 20 61 6e 64 20 62 61 63 6b 77 61 72 64 22 20 63 61 6c 69 62 72 65 64 62 2d 75 6e 6d 61 ark.and.backward".calibredb-unma
2db60 72 6b 2d 61 6e 64 2d 62 61 63 6b 77 61 72 64 29 0a 20 20 20 20 28 22 2a 22 20 22 46 61 76 6f 72 rk-and-backward).....("*"."Favor
2db80 69 74 65 22 20 63 61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 66 61 76 6f 72 69 74 65 2d 61 ite".calibredb-toggle-favorite-a
2dba0 74 2d 70 6f 69 6e 74 29 0a 20 20 20 20 28 22 68 22 20 22 48 69 67 68 6c 69 67 68 74 22 20 63 61 t-point).....("h"."Highlight".ca
2dbc0 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 68 69 67 68 6c 69 67 68 74 2d 61 74 2d 70 6f 69 6e libredb-toggle-highlight-at-poin
2dbe0 74 29 0a 20 20 20 20 28 22 78 22 20 22 41 72 63 68 69 76 65 22 20 63 61 6c 69 62 72 65 64 62 2d t).....("x"."Archive".calibredb-
2dc00 74 6f 67 67 6c 65 2d 61 72 63 68 69 76 65 2d 61 74 2d 70 6f 69 6e 74 29 5d 5d 0a 20 20 5b 22 4c toggle-archive-at-point)]]...["L
2dc20 69 62 72 61 72 79 20 6f 70 65 72 61 74 69 6f 6e 22 0a 20 20 20 5b 28 22 6c 22 20 22 4c 69 73 74 ibrary.operation"....[("l"."List
2dc40 20 56 69 72 74 75 61 6c 20 4c 69 62 72 61 72 69 65 73 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d .Virtual.Libraries"...calibredb-
2dc60 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6c 69 73 74 29 0a 20 20 20 20 28 22 6e 22 20 22 virtual-library-list).....("n"."
2dc80 4e 65 78 74 20 56 69 72 74 75 61 6c 20 4c 69 62 72 61 72 79 22 20 20 20 63 61 6c 69 62 72 65 64 Next.Virtual.Library"...calibred
2dca0 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6e 65 78 74 29 0a 20 20 20 20 28 22 70 22 b-virtual-library-next).....("p"
2dcc0 20 22 50 72 65 76 69 6f 75 73 20 56 69 72 74 75 61 6c 20 4c 69 62 72 61 72 79 22 20 20 20 63 61 ."Previous.Virtual.Library"...ca
2dce0 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 70 72 65 76 69 6f 75 73 libredb-virtual-library-previous
2dd00 29 5d 0a 20 20 20 5b 28 22 4c 22 20 22 4c 69 73 74 20 4c 69 62 72 61 72 69 65 73 22 20 20 20 63 )]....[("L"."List.Libraries"...c
2dd20 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 6c 69 73 74 29 0a 20 20 20 20 28 22 4e 22 20 alibredb-library-list).....("N".
2dd40 22 4e 65 78 74 20 4c 69 62 72 61 72 79 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 "Next.Library"...calibredb-libra
2dd60 72 79 2d 6e 65 78 74 29 0a 20 20 20 20 28 22 50 22 20 22 50 72 65 76 69 6f 75 73 20 4c 69 62 72 ry-next).....("P"."Previous.Libr
2dd80 61 72 79 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 70 72 65 76 69 6f 75 ary"...calibredb-library-previou
2dda0 73 29 0a 20 20 20 20 28 22 53 22 20 22 53 77 69 74 63 68 20 4c 69 62 72 61 72 79 22 20 20 20 63 s).....("S"."Switch.Library"...c
2ddc0 61 6c 69 62 72 65 64 62 2d 73 77 69 74 63 68 2d 6c 69 62 72 61 72 79 29 5d 0a 20 20 20 5b 28 22 alibredb-switch-library)]....[("
2dde0 63 22 20 22 43 6c 6f 6e 65 20 4c 69 62 72 61 72 79 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 63 c"."Clone.Library"...calibredb-c
2de00 6c 6f 6e 65 29 0a 20 20 20 20 28 22 72 22 20 22 52 65 66 72 65 73 68 20 4c 69 62 72 61 72 79 22 lone).....("r"."Refresh.Library"
2de20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d 61 6e 64 2d ...calibredb-search-refresh-and-
2de40 63 6c 65 61 72 2d 66 69 6c 74 65 72 29 0a 20 20 20 20 28 22 52 22 20 22 43 6c 65 61 72 20 46 69 clear-filter).....("R"."Clear.Fi
2de60 6c 74 65 72 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63 6c 65 61 72 2d 66 lter"...calibredb-search-clear-f
2de80 69 6c 74 65 72 29 0a 20 20 20 20 28 22 74 22 20 22 54 6f 67 67 6c 65 20 76 69 65 77 20 28 43 6f ilter).....("t"."Toggle.view.(Co
2dea0 6d 70 61 63 74 2f 44 65 74 61 69 6c 29 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c mpact/Detail)"...calibredb-toggl
2dec0 65 2d 76 69 65 77 29 5d 5d 0a 20 20 5b 22 4f 74 68 65 72 20 6f 70 65 72 61 74 69 6f 6e 22 0a 20 e-view)]]...["Other.operation"..
2dee0 20 20 5b 28 22 62 22 20 22 42 69 62 54 65 78 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 63 61 74 ..[("b"."BibTex"...calibredb-cat
2df00 61 6c 6f 67 2d 62 69 62 2d 64 69 73 70 61 74 63 68 29 0a 20 20 20 20 28 22 69 22 20 22 45 64 69 alog-bib-dispatch).....("i"."Edi
2df20 74 20 41 6e 6e 6f 74 61 74 69 6f 6e 22 20 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e t.Annotation".calibredb-edit-ann
2df40 6f 74 61 74 69 6f 6e 29 5d 0a 20 20 20 5b 28 22 27 22 20 22 53 65 61 72 63 68 20 77 69 74 68 20 otation)]....[("'"."Search.with.
2df60 72 67 61 22 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 73 75 6c 74 2d 72 69 70 67 72 65 70 2d 61 rga".calibredb-consult-ripgrep-a
2df80 6c 6c 29 0a 20 20 20 20 28 22 2f 22 20 22 4c 69 76 65 20 46 69 6c 74 65 72 22 20 63 61 6c 69 62 ll).....("/"."Live.Filter".calib
2dfa0 72 65 64 62 2d 73 65 61 72 63 68 2d 6c 69 76 65 2d 66 69 6c 74 65 72 29 5d 0a 20 20 20 5b 28 22 redb-search-live-filter)]....[("
2dfc0 79 22 20 22 59 61 6e 6b 22 20 63 61 6c 69 62 72 65 64 62 2d 79 61 6e 6b 2d 64 69 73 70 61 74 63 y"."Yank".calibredb-yank-dispatc
2dfe0 68 29 5d 5d 0a 20 20 5b 28 22 71 22 20 22 51 75 69 74 22 20 20 20 74 72 61 6e 73 69 65 6e 74 2d h)]]...[("q"."Quit"...transient-
2e000 71 75 69 74 2d 6f 6e 65 29 5d 29 0a 0a 28 74 72 61 6e 73 69 65 6e 74 2d 64 65 66 69 6e 65 2d 70 quit-one)])..(transient-define-p
2e020 72 65 66 69 78 20 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2d 64 69 73 70 61 74 63 68 20 28 refix.calibredb-entry-dispatch.(
2e040 29 0a 20 20 22 49 6e 76 6f 6b 65 20 61 20 63 61 6c 69 62 72 65 64 62 20 63 6f 6d 6d 61 6e 64 20 )..."Invoke.a.calibredb.command.
2e060 66 72 6f 6d 20 61 20 6c 69 73 74 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 6d 61 6e 64 from.a.list.of.available.command
2e080 73 20 69 6e 20 2a 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2a 2e 22 0a 20 20 3a 6d 61 6e 2d s.in.*calibredb-entry*."...:man-
2e0a0 70 61 67 65 20 22 63 61 6c 69 62 72 65 64 62 22 0a 20 20 5b 22 46 69 6c 65 20 6f 70 65 72 61 74 page."calibredb"...["File.operat
2e0c0 69 6f 6e 22 0a 20 20 20 5b 28 22 6f 22 20 22 4f 70 65 6e 20 66 69 6c 65 22 20 20 20 20 20 20 20 ion"....[("o"."Open.file".......
2e0e0 20 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 66 69 6c 65 29 0a 20 20 20 20 28 22 4f 22 20 ..calibredb-find-file).....("O".
2e100 22 4f 70 65 6e 20 66 69 6c 65 20 6f 74 68 65 72 20 66 72 61 6d 65 22 20 20 20 20 20 20 20 20 20 "Open.file.other.frame".........
2e120 20 20 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 66 72 61 ...calibredb-find-file-other-fra
2e140 6d 65 29 0a 20 20 20 20 28 22 56 22 20 22 4f 70 65 6e 20 66 69 6c 65 20 77 69 74 68 20 64 65 66 me).....("V"."Open.file.with.def
2e160 61 75 6c 74 20 74 6f 6f 6c 22 20 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 65 6e 2d 66 69 6c 65 2d ault.tool"..calibredb-open-file-
2e180 77 69 74 68 2d 64 65 66 61 75 6c 74 2d 74 6f 6f 6c 29 0a 20 20 20 20 28 22 2e 22 20 22 51 75 69 with-default-tool).....("."."Qui
2e1a0 63 6b 20 4c 6f 6f 6b 22 20 20 63 61 6c 69 62 72 65 64 62 2d 71 75 69 63 6b 2d 6c 6f 6f 6b 29 0a ck.Look"..calibredb-quick-look).
2e1c0 20 20 20 20 28 22 2e 22 20 22 4f 70 65 6e 20 64 69 72 65 64 22 20 20 63 61 6c 69 62 72 65 64 62 ....("."."Open.dired"..calibredb
2e1e0 2d 6f 70 65 6e 2d 64 69 72 65 64 29 5d 0a 20 20 20 5b 28 22 65 22 20 22 45 78 70 6f 72 74 22 20 -open-dired)]....[("e"."Export".
2e200 63 61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72 74 2d 64 69 73 70 61 74 63 68 29 0a 20 20 20 20 28 calibredb-export-dispatch).....(
2e220 22 73 22 20 22 73 65 74 5f 6d 65 74 61 64 61 74 61 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 "s"."set_metadata"...calibredb-s
2e240 65 74 2d 6d 65 74 61 64 61 74 61 2d 64 69 73 70 61 74 63 68 29 0a 20 20 20 20 28 22 79 22 20 22 et-metadata-dispatch).....("y"."
2e260 59 61 6e 6b 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 79 61 6e 6b 2d 64 69 73 70 61 74 63 68 29 Yank"...calibredb-yank-dispatch)
2e280 0a 20 20 20 20 28 22 27 22 20 22 53 65 61 72 63 68 20 77 69 74 68 20 72 67 61 22 20 63 61 6c 69 .....("'"."Search.with.rga".cali
2e2a0 62 72 65 64 62 2d 63 6f 6e 73 75 6c 74 2d 72 69 70 67 72 65 70 2d 61 6c 6c 29 5d 5d 0a 20 20 5b bredb-consult-ripgrep-all)]]...[
2e2c0 28 22 71 22 20 22 51 75 69 74 22 20 20 20 74 72 61 6e 73 69 65 6e 74 2d 71 75 69 74 2d 6f 6e 65 ("q"."Quit"...transient-quit-one
2e2e0 29 5d 29 0a 0a 28 74 72 61 6e 73 69 65 6e 74 2d 64 65 66 69 6e 65 2d 70 72 65 66 69 78 20 63 61 )])..(transient-define-prefix.ca
2e300 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 64 69 73 70 61 74 63 68 20 28 29 libredb-set-metadata-dispatch.()
2e320 0a 20 20 22 44 69 73 70 61 74 63 68 20 66 6f 72 20 73 65 74 2d 6d 65 74 61 64 61 74 61 2e 22 0a ..."Dispatch.for.set-metadata.".
2e340 20 20 5b 22 41 72 67 75 6d 65 6e 74 73 22 0a 20 20 20 28 22 2d 61 22 20 22 61 75 74 68 6f 72 5f ..["Arguments"....("-a"."author_
2e360 73 6f 72 74 22 20 20 22 61 75 74 68 6f 72 5f 73 6f 72 74 3a 22 20 63 61 6c 69 62 72 65 64 62 2d sort".."author_sort:".calibredb-
2e380 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64 61 74 61 2d 61 75 74 68 6f 72 2d 73 transient-read-metadata-author-s
2e3a0 6f 72 74 29 0a 20 20 20 28 22 2d 41 22 20 22 61 75 74 68 6f 72 73 22 20 20 22 61 75 74 68 6f 72 ort)....("-A"."authors".."author
2e3c0 73 3a 22 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 6d 65 74 s:".calibredb-transient-read-met
2e3e0 61 64 61 74 61 2d 61 75 74 68 6f 72 73 29 0a 20 20 20 28 22 2d 63 22 20 22 63 6f 6d 6d 65 6e 74 adata-authors)....("-c"."comment
2e400 73 22 20 20 22 63 6f 6d 6d 65 6e 74 73 3a 22 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 s".."comments:".calibredb-transi
2e420 65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64 61 74 61 2d 63 6f 6d 6d 65 6e 74 73 29 0a 20 20 20 28 ent-read-metadata-comments)....(
2e440 22 2d 43 22 20 22 63 6f 76 65 72 22 20 22 63 6f 76 65 72 3a 22 20 63 61 6c 69 62 72 65 64 62 2d "-C"."cover"."cover:".calibredb-
2e460 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 66 69 6c 65 29 0a 20 20 20 28 22 2d 69 22 20 22 69 transient-read-file)....("-i"."i
2e480 64 65 6e 74 69 66 69 65 72 73 22 20 20 22 69 64 65 6e 74 69 66 69 65 72 73 3a 22 20 63 61 6c 69 dentifiers".."identifiers:".cali
2e4a0 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64 61 74 61 2d 69 64 bredb-transient-read-metadata-id
2e4c0 73 29 0a 20 20 20 28 22 2d 6c 22 20 22 6c 61 6e 67 75 61 67 65 73 22 20 20 22 6c 61 6e 67 75 61 s)....("-l"."languages".."langua
2e4e0 67 65 73 3a 22 20 72 65 61 64 2d 73 74 72 69 6e 67 29 0a 20 20 20 28 22 2d 70 22 20 22 70 75 62 ges:".read-string)....("-p"."pub
2e500 64 61 74 65 22 20 22 70 75 62 64 61 74 65 3a 22 20 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d date"."pubdate:".transient-read-
2e520 64 61 74 65 29 0a 20 20 20 28 22 2d 50 22 20 22 70 75 62 6c 69 73 68 65 72 22 20 22 70 75 62 6c date)....("-P"."publisher"."publ
2e540 69 73 68 65 72 3a 22 20 72 65 61 64 2d 73 74 72 69 6e 67 29 0a 20 20 20 28 22 2d 72 22 20 22 72 isher:".read-string)....("-r"."r
2e560 61 74 69 6e 67 22 20 20 22 72 61 74 69 6e 67 3a 22 20 72 65 61 64 2d 73 74 72 69 6e 67 29 0a 20 ating".."rating:".read-string)..
2e580 20 20 28 22 2d 73 22 20 22 73 65 72 69 65 73 22 20 22 73 65 72 69 65 73 3a 22 20 72 65 61 64 2d ..("-s"."series"."series:".read-
2e5a0 73 74 72 69 6e 67 29 0a 20 20 20 28 22 2d 53 22 20 22 73 65 72 69 65 73 5f 69 6e 64 65 78 22 20 string)....("-S"."series_index".
2e5c0 22 73 65 72 69 65 73 5f 69 6e 64 65 78 3a 22 20 72 65 61 64 2d 73 74 72 69 6e 67 29 0a 20 20 20 "series_index:".read-string)....
2e5e0 28 22 2d 68 22 20 22 73 69 7a 65 22 20 22 73 69 7a 65 3a 22 20 72 65 61 64 2d 73 74 72 69 6e 67 ("-h"."size"."size:".read-string
2e600 29 0a 20 20 20 28 22 2d 48 22 20 22 73 6f 72 74 22 20 22 73 6f 72 74 3a 22 20 72 65 61 64 2d 73 )....("-H"."sort"."sort:".read-s
2e620 74 72 69 6e 67 29 0a 20 20 20 28 22 2d 74 22 20 22 74 61 67 73 22 20 22 74 61 67 73 3a 22 20 63 tring)....("-t"."tags"."tags:".c
2e640 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64 61 74 61 alibredb-transient-read-metadata
2e660 2d 74 61 67 73 29 0a 20 20 20 28 22 2d 54 22 20 22 74 69 74 6c 65 22 20 22 74 69 74 6c 65 3a 22 -tags)....("-T"."title"."title:"
2e680 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64 61 .calibredb-transient-read-metada
2e6a0 74 61 2d 74 69 74 6c 65 29 0a 20 20 20 28 22 2d 64 22 20 22 74 69 6d 65 73 74 61 6d 70 22 20 22 ta-title)....("-d"."timestamp"."
2e6c0 74 69 6d 65 73 74 61 6d 70 3a 22 20 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 64 61 74 65 29 timestamp:".transient-read-date)
2e6e0 5d 0a 20 20 5b 5b 22 53 69 6e 67 6c 65 20 46 69 65 6c 64 22 0a 20 20 20 20 28 22 74 22 20 22 74 ]...[["Single.Field".....("t"."t
2e700 61 67 73 22 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 ags".........calibredb-set-metad
2e720 61 74 61 2d 2d 74 61 67 73 29 0a 20 20 20 20 28 22 54 22 20 22 74 69 74 6c 65 22 20 20 20 20 20 ata--tags).....("T"."title".....
2e740 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 69 74 6c ....calibredb-set-metadata--titl
2e760 65 29 0a 20 20 20 20 28 22 61 22 20 22 61 75 74 68 6f 72 5f 73 6f 72 74 22 20 20 20 20 20 20 20 e).....("a"."author_sort".......
2e780 20 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 61 75 74 68 6f 72 ..calibredb-set-metadata--author
2e7a0 5f 73 6f 72 74 29 0a 20 20 20 20 28 22 63 22 20 22 63 6f 6d 6d 65 6e 74 73 22 20 20 20 20 20 20 _sort).....("c"."comments"......
2e7c0 20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 63 6f 6d 6d 65 ...calibredb-set-metadata--comme
2e7e0 6e 74 73 29 5d 0a 20 20 20 5b 22 54 6f 67 67 6c 65 20 66 69 65 6c 64 22 0a 20 20 20 20 28 22 2a nts)]....["Toggle.field".....("*
2e800 22 20 22 66 61 76 6f 72 69 74 65 22 20 63 61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 66 61 "."favorite".calibredb-toggle-fa
2e820 76 6f 72 69 74 65 2d 61 74 2d 70 6f 69 6e 74 29 0a 20 20 20 20 28 22 78 22 20 22 61 72 63 68 69 vorite-at-point).....("x"."archi
2e840 76 65 22 20 63 61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 61 72 63 68 69 76 65 2d 61 74 2d ve".calibredb-toggle-archive-at-
2e860 70 6f 69 6e 74 29 0a 20 20 20 20 28 22 68 22 20 22 68 69 67 68 6c 69 67 68 74 22 20 63 61 6c 69 point).....("h"."highlight".cali
2e880 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 68 69 67 68 6c 69 67 68 74 2d 61 74 2d 70 6f 69 6e 74 29 bredb-toggle-highlight-at-point)
2e8a0 5d 0a 20 20 20 5b 22 53 65 74 20 6d 65 74 61 64 61 74 61 22 0a 20 20 20 20 28 22 73 22 20 22 53 ]....["Set.metadata".....("s"."S
2e8c0 65 74 20 6d 65 74 61 64 61 74 61 20 57 69 74 68 20 41 72 67 75 6d 65 6e 74 73 22 20 20 20 20 20 et.metadata.With.Arguments".....
2e8e0 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 72 61 6e ....calibredb-set-metadata--tran
2e900 73 69 65 6e 74 29 0a 20 20 20 20 28 22 66 22 20 22 46 65 74 63 68 20 61 6e 64 20 73 65 74 20 6d sient).....("f"."Fetch.and.set.m
2e920 65 74 61 64 61 74 61 20 62 79 20 61 75 74 68 6f 72 20 61 6e 64 20 74 69 74 6c 65 22 20 20 63 61 etadata.by.author.and.title"..ca
2e940 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 61 6e 64 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 62 libredb-fetch-and-set-metadata-b
2e960 79 2d 61 75 74 68 6f 72 2d 61 6e 64 2d 74 69 74 6c 65 29 0a 20 20 20 20 28 22 69 22 20 22 46 65 y-author-and-title).....("i"."Fe
2e980 74 63 68 20 61 6e 64 20 73 65 74 20 6d 65 74 61 64 61 74 61 20 62 79 20 49 53 42 4e 22 20 20 63 tch.and.set.metadata.by.ISBN"..c
2e9a0 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 61 6e 64 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d alibredb-fetch-and-set-metadata-
2e9c0 62 79 2d 69 73 62 6e 29 0a 20 20 20 20 28 22 64 22 20 22 46 65 74 63 68 20 61 6e 64 20 73 65 74 by-isbn).....("d"."Fetch.and.set
2e9e0 20 6d 65 74 61 64 61 74 61 20 62 79 20 69 64 65 6e 74 69 66 69 65 72 22 20 20 63 61 6c 69 62 72 .metadata.by.identifier"..calibr
2ea00 65 64 62 2d 66 65 74 63 68 2d 61 6e 64 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 62 79 2d 69 64 edb-fetch-and-set-metadata-by-id
2ea20 29 5d 5d 0a 20 20 5b 28 22 71 22 20 22 51 75 69 74 22 20 20 20 74 72 61 6e 73 69 65 6e 74 2d 71 )]]...[("q"."Quit"...transient-q
2ea40 75 69 74 2d 6f 6e 65 29 5d 29 0a 0a 28 74 72 61 6e 73 69 65 6e 74 2d 64 65 66 69 6e 65 2d 70 72 uit-one)])..(transient-define-pr
2ea60 65 66 69 78 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6c 74 65 72 2d 64 69 73 70 61 74 63 68 20 28 efix.calibredb-filter-dispatch.(
2ea80 29 0a 20 20 22 44 69 73 70 61 74 63 68 20 66 6f 72 20 66 69 6c 74 65 72 69 6e 67 20 74 68 65 20 )..."Dispatch.for.filtering.the.
2eaa0 72 65 73 75 6c 74 73 2e 22 0a 20 20 5b 5b 22 46 69 6c 74 65 72 20 62 79 22 0a 20 20 20 20 28 22 results."...[["Filter.by".....("
2eac0 74 22 20 22 74 61 67 22 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6c 74 65 t"."tag".........calibredb-filte
2eae0 72 2d 62 79 2d 74 61 67 29 0a 20 20 20 20 28 22 66 22 20 22 66 6f 72 6d 61 74 22 20 20 20 20 20 r-by-tag).....("f"."format".....
2eb00 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6c 74 65 72 2d 62 79 2d 62 6f 6f 6b 2d 66 6f 72 ....calibredb-filter-by-book-for
2eb20 6d 61 74 29 0a 20 20 20 20 28 22 61 22 20 22 61 75 74 68 6f 72 22 20 20 20 20 20 20 20 20 20 63 mat).....("a"."author".........c
2eb40 61 6c 69 62 72 65 64 62 2d 66 69 6c 74 65 72 2d 62 79 2d 61 75 74 68 6f 72 2d 73 6f 72 74 29 0a alibredb-filter-by-author-sort).
2eb60 20 20 20 20 28 22 64 22 20 22 64 61 74 65 22 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 ....("d"."date".........calibred
2eb80 62 2d 66 69 6c 74 65 72 2d 62 79 2d 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 29 0a 20 20 20 20 28 b-filter-by-last_modified).....(
2eba0 22 6c 22 20 22 6c 69 62 72 61 72 79 20 28 76 69 72 74 75 61 6c 29 22 20 20 20 20 20 20 63 61 6c "l"."library.(virtual)"......cal
2ebc0 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6c 69 73 74 29 0a 20 20 20 ibredb-virtual-library-list)....
2ebe0 20 28 22 4c 22 20 22 4c 69 62 72 61 72 79 22 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 6c .("L"."Library"......calibredb-l
2ec00 69 62 72 61 72 79 2d 6c 69 73 74 29 0a 20 20 20 20 28 22 72 22 20 22 72 65 73 65 74 22 20 63 61 ibrary-list).....("r"."reset".ca
2ec20 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63 6c 65 61 72 2d 66 69 6c 74 65 72 29 5d 5d 0a 20 libredb-search-clear-filter)]]..
2ec40 20 5b 28 22 71 22 20 22 51 75 69 74 22 20 20 20 74 72 61 6e 73 69 65 6e 74 2d 71 75 69 74 2d 6f .[("q"."Quit"...transient-quit-o
2ec60 6e 65 29 5d 29 0a 0a 28 74 72 61 6e 73 69 65 6e 74 2d 64 65 66 69 6e 65 2d 70 72 65 66 69 78 20 ne)])..(transient-define-prefix.
2ec80 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 64 69 73 70 61 74 63 68 20 28 29 0a 20 20 22 44 69 calibredb-sort-dispatch.()..."Di
2eca0 73 70 61 74 63 68 20 66 6f 72 20 73 6f 72 74 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 73 2e 22 spatch.for.sorting.the.results."
2ecc0 0a 20 20 5b 5b 22 53 6f 72 74 20 62 79 22 0a 20 20 20 20 28 22 6f 22 20 22 6f 72 64 65 72 20 28 ...[["Sort.by".....("o"."order.(
2ece0 74 6f 67 67 6c 65 29 22 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c toggle)".........calibredb-toggl
2ed00 65 2d 6f 72 64 65 72 29 0a 20 20 20 20 28 22 69 22 20 22 69 64 22 20 20 20 20 20 20 20 20 20 63 e-order).....("i"."id".........c
2ed20 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 2d 69 64 29 0a 20 20 20 20 28 22 74 22 20 22 74 alibredb-sort-by-id).....("t"."t
2ed40 69 74 6c 65 22 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 2d 74 69 74 itle"......calibredb-sort-by-tit
2ed60 6c 65 29 0a 20 20 20 20 28 22 66 22 20 22 66 6f 72 6d 61 74 22 20 20 20 20 20 20 20 20 20 63 61 le).....("f"."format".........ca
2ed80 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 2d 66 6f 72 6d 61 74 29 0a 20 20 20 20 28 22 61 22 libredb-sort-by-format).....("a"
2eda0 20 22 61 75 74 68 6f 72 22 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 ."author".........calibredb-sort
2edc0 2d 62 79 2d 61 75 74 68 6f 72 29 0a 20 20 20 20 28 22 64 22 20 22 64 61 74 65 22 20 20 20 20 20 -by-author).....("d"."date".....
2ede0 20 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 2d 64 61 74 65 29 0a 20 20 20 20 28 22 70 .calibredb-sort-by-date).....("p
2ee00 22 20 22 70 75 62 64 61 74 65 22 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 6f "."pubdate".........calibredb-so
2ee20 72 74 2d 62 79 2d 70 75 62 64 61 74 65 29 0a 20 20 20 20 28 22 54 22 20 22 54 61 67 22 20 20 20 rt-by-pubdate).....("T"."Tag"...
2ee40 20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 2d 74 61 67 29 0a 20 20 20 20 28 22 ...calibredb-sort-by-tag).....("
2ee60 73 22 20 22 73 69 7a 65 22 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 s"."size"......calibredb-sort-by
2ee80 2d 73 69 7a 65 29 0a 20 20 20 20 28 22 6c 22 20 22 6c 61 6e 67 75 61 67 65 22 20 20 20 20 20 20 -size).....("l"."language"......
2eea0 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 2d 6c 61 6e 67 75 61 67 65 29 5d 5d 0a 20 20 calibredb-sort-by-language)]]...
2eec0 5b 28 22 71 22 20 22 51 75 69 74 22 20 20 20 74 72 61 6e 73 69 65 6e 74 2d 71 75 69 74 2d 6f 6e [("q"."Quit"...transient-quit-on
2eee0 65 29 5d 29 0a 0a 28 74 72 61 6e 73 69 65 6e 74 2d 64 65 66 69 6e 65 2d 70 72 65 66 69 78 20 63 e)])..(transient-define-prefix.c
2ef00 61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72 74 2d 64 69 73 70 61 74 63 68 20 28 29 0a 20 20 22 44 alibredb-export-dispatch.()..."D
2ef20 69 73 70 61 74 63 68 20 66 6f 72 20 65 78 70 6f 72 74 20 66 69 6c 65 73 2e 22 0a 20 20 5b 5b 22 ispatch.for.export.files."...[["
2ef40 45 78 70 6f 72 74 22 0a 20 20 20 20 28 22 45 22 20 22 45 78 70 6f 72 74 20 28 4e 6f 20 63 6f 6e Export".....("E"."Export.(No.con
2ef60 76 65 72 73 69 6f 6e 29 22 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 65 78 70 6f version)".........calibredb-expo
2ef80 72 74 2d 77 69 74 68 6f 75 74 2d 63 6f 6e 76 65 72 73 69 6f 6e 2d 64 69 73 70 61 74 63 68 29 0a rt-without-conversion-dispatch).
2efa0 20 20 20 20 28 22 61 22 20 22 61 7a 77 33 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 ....("a"."azw3"...calibredb-conv
2efc0 65 72 74 2d 74 6f 2d 61 7a 77 33 29 0a 20 20 20 20 28 22 64 22 20 22 64 6f 63 78 22 20 20 20 63 ert-to-azw3).....("d"."docx"...c
2efe0 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 64 6f 63 78 29 0a 20 20 20 20 28 22 alibredb-convert-to-docx).....("
2f000 65 22 20 22 65 70 75 62 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f e"."epub"...calibredb-convert-to
2f020 2d 65 70 75 62 29 0a 20 20 20 20 28 22 66 22 20 22 66 62 32 22 20 20 20 20 63 61 6c 69 62 72 65 -epub).....("f"."fb2"....calibre
2f040 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 66 62 32 29 0a 20 20 20 20 28 22 68 22 20 22 68 74 6d db-convert-to-fb2).....("h"."htm
2f060 6c 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 68 74 6d 6c 29 0a l"...calibredb-convert-to-html).
2f080 20 20 20 20 28 22 48 22 20 22 68 74 6d 6c 7a 22 20 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 ....("H"."htmlz"..calibredb-conv
2f0a0 65 72 74 2d 74 6f 2d 68 74 6d 6c 7a 29 0a 20 20 20 20 28 22 6c 22 20 22 6c 69 74 22 20 20 20 63 ert-to-htmlz).....("l"."lit"...c
2f0c0 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 6c 69 74 29 0a 20 20 20 20 28 22 4c alibredb-convert-to-lit).....("L
2f0e0 22 20 22 6c 72 66 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 6c "."lrf"...calibredb-convert-to-l
2f100 72 66 29 0a 20 20 20 20 28 22 6d 22 20 22 6d 6f 62 69 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d rf).....("m"."mobi"...calibredb-
2f120 63 6f 6e 76 65 72 74 2d 74 6f 2d 6d 6f 62 69 29 0a 20 20 20 20 28 22 6f 22 20 22 6f 65 62 22 20 convert-to-mobi).....("o"."oeb".
2f140 20 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 6f 65 62 29 0a 20 20 20 20 ..calibredb-convert-to-oeb).....
2f160 28 22 50 22 20 22 70 64 62 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 ("P"."pdb"...calibredb-convert-t
2f180 6f 2d 70 64 62 29 0a 20 20 20 20 28 22 70 22 20 22 70 64 66 22 20 20 20 63 61 6c 69 62 72 65 64 o-pdb).....("p"."pdf"...calibred
2f1a0 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 70 64 66 29 0a 20 20 20 20 28 22 4d 22 20 22 70 6d 6c 22 b-convert-to-pdf).....("M"."pml"
2f1c0 20 20 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 70 6d 6c 29 0a 20 20 20 ...calibredb-convert-to-pml)....
2f1e0 20 28 22 72 22 20 22 72 62 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 .("r"."rb"...calibredb-convert-t
2f200 6f 2d 72 62 29 0a 20 20 20 20 28 22 52 22 20 22 72 74 66 22 20 20 20 63 61 6c 69 62 72 65 64 62 o-rb).....("R"."rtf"...calibredb
2f220 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 72 74 66 29 0a 20 20 20 20 28 22 73 22 20 22 73 6e 62 22 20 -convert-to-rtf).....("s"."snb".
2f240 20 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 73 6e 62 29 0a 20 20 20 20 ..calibredb-convert-to-snb).....
2f260 28 22 54 22 20 22 74 63 72 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 ("T"."tcr"...calibredb-convert-t
2f280 6f 2d 74 63 72 29 0a 20 20 20 20 28 22 74 22 20 22 74 78 74 22 20 20 20 63 61 6c 69 62 72 65 64 o-tcr).....("t"."txt"...calibred
2f2a0 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 74 78 74 29 0a 20 20 20 20 28 22 7a 22 20 22 74 78 74 7a b-convert-to-txt).....("z"."txtz
2f2c0 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 74 78 74 7a 29 5d 5d "...calibredb-convert-to-txtz)]]
2f2e0 0a 20 20 5b 28 22 71 22 20 22 51 75 69 74 22 20 20 20 74 72 61 6e 73 69 65 6e 74 2d 71 75 69 74 ...[("q"."Quit"...transient-quit
2f300 2d 6f 6e 65 29 5d 29 0a 0a 28 74 72 61 6e 73 69 65 6e 74 2d 64 65 66 69 6e 65 2d 70 72 65 66 69 -one)])..(transient-define-prefi
2f320 78 20 63 61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72 74 2d 77 69 74 68 6f 75 74 2d 63 6f 6e 76 65 x.calibredb-export-without-conve
2f340 72 73 69 6f 6e 2d 64 69 73 70 61 74 63 68 20 28 29 0a 20 20 22 44 69 73 70 61 74 63 68 20 66 6f rsion-dispatch.()..."Dispatch.fo
2f360 72 20 65 78 70 6f 72 74 20 66 69 6c 65 73 20 77 69 74 68 6f 75 74 20 63 6f 6e 76 65 72 73 69 6f r.export.files.without.conversio
2f380 6e 2e 22 0a 20 20 5b 22 41 72 67 75 6d 65 6e 74 73 22 0a 20 20 20 28 22 2d 61 22 20 22 44 6f 20 n."...["Arguments"....("-a"."Do.
2f3a0 6e 6f 74 20 63 6f 6e 76 65 72 74 20 6e 6f 6e 20 45 6e 67 6c 69 73 68 20 63 68 61 72 61 63 74 65 not.convert.non.English.characte
2f3c0 72 73 20 66 6f 72 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 73 22 20 20 22 2d 2d 64 6f 6e 74 2d rs.for.the.file.names".."--dont-
2f3e0 61 73 63 69 69 69 7a 65 22 29 0a 20 20 20 28 22 2d 63 22 20 22 44 6f 20 6e 6f 74 20 73 61 76 65 asciiize")....("-c"."Do.not.save
2f400 20 63 6f 76 65 72 22 20 20 22 2d 2d 64 6f 6e 74 2d 73 61 76 65 2d 63 6f 76 65 72 22 29 0a 20 20 .cover".."--dont-save-cover")...
2f420 20 28 22 2d 6d 22 20 22 44 6f 20 6e 6f 74 20 75 70 64 61 74 65 20 6d 65 74 61 64 61 74 61 22 20 .("-m"."Do.not.update.metadata".
2f440 20 22 2d 2d 64 6f 6e 74 2d 75 70 64 61 74 65 2d 6d 65 74 61 64 61 74 61 22 29 0a 20 20 20 28 22 ."--dont-update-metadata")....("
2f460 2d 6f 22 20 22 44 6f 20 6e 6f 74 20 77 72 69 74 65 20 6f 70 66 22 20 22 2d 2d 64 6f 6e 74 2d 77 -o"."Do.not.write.opf"."--dont-w
2f480 72 69 74 65 2d 6f 70 66 22 29 0a 20 20 20 28 22 2d 66 22 20 22 46 6f 72 6d 61 74 73 20 74 6f 20 rite-opf")....("-f"."Formats.to.
2f4a0 73 61 76 65 20 66 6f 72 20 65 61 63 68 20 62 6f 6f 6b 2c 20 63 6f 6d 6d 61 20 73 65 70 61 72 61 save.for.each.book,.comma.separa
2f4c0 74 65 64 2e 22 20 20 22 2d 2d 66 6f 72 6d 61 74 73 20 22 20 72 65 61 64 2d 73 74 72 69 6e 67 29 ted.".."--formats.".read-string)
2f4e0 0a 20 20 20 28 22 2d 70 22 20 22 50 72 6f 67 72 65 73 73 20 52 65 70 6f 72 74 69 6e 67 22 20 20 ....("-p"."Progress.Reporting"..
2f500 22 20 2d 2d 70 72 6f 67 72 65 73 73 22 29 0a 20 20 20 28 22 2d 72 22 20 22 52 65 70 6c 61 63 65 ".--progress")....("-r"."Replace
2f520 20 77 68 69 74 65 73 70 61 63 65 20 77 69 74 68 20 75 6e 64 65 72 73 63 6f 72 65 73 2e 22 20 22 .whitespace.with.underscores."."
2f540 2d 2d 72 65 70 6c 61 63 65 2d 77 68 69 74 65 73 70 61 63 65 22 29 0a 20 20 20 28 22 2d 73 22 20 --replace-whitespace")....("-s".
2f560 22 53 69 6e 67 6c 65 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 65 78 70 6f 72 74 20 61 6c 6c 20 "Single.directory.to.export.all.
2f580 66 69 6c 65 73 2e 22 20 22 2d 2d 73 69 6e 67 6c 65 2d 64 69 72 22 29 0a 20 20 20 28 22 2d 74 22 files."."--single-dir")....("-t"
2f5a0 20 22 54 65 6d 70 6c 61 74 65 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 66 69 6c 65 6e 61 ."Template.to.control.the.filena
2f5c0 6d 65 20 61 6e 64 20 64 69 72 65 63 74 6f 72 79 20 73 74 72 75 63 74 75 72 65 2e 22 20 20 22 2d me.and.directory.structure.".."-
2f5e0 2d 74 65 6d 70 6c 61 74 65 22 20 72 65 61 64 2d 73 74 72 69 6e 67 29 0a 20 20 20 28 22 2d 64 22 -template".read-string)....("-d"
2f600 20 22 44 61 74 65 73 20 66 6f 72 6d 61 74 2e 20 25 64 20 2d 20 64 61 79 2c 20 25 62 20 2d 20 6d ."Dates.format..%d.-.day,.%b.-.m
2f620 6f 6e 74 68 2c 20 25 6d 20 2d 20 6d 6f 6e 74 68 20 6e 75 6d 62 65 72 2c 20 25 59 20 2d 20 79 65 onth,.%m.-.month.number,.%Y.-.ye
2f640 61 72 2e 20 44 65 66 61 75 6c 74 20 69 73 3a 20 25 62 2c 20 25 59 22 20 22 2d 2d 74 69 6d 65 66 ar..Default.is:.%b,.%Y"."--timef
2f660 6d 74 22 20 72 65 61 64 2d 73 74 72 69 6e 67 29 0a 20 20 20 3b 3b 20 28 22 2d 6d 22 20 22 45 78 mt".read-string)....;;.("-m"."Ex
2f680 70 6f 72 74 20 62 6f 6f 6b 73 20 74 6f 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 64 69 72 65 port.books.to.the.specified.dire
2f6a0 63 74 6f 72 79 2e 20 44 65 66 61 75 6c 74 20 69 73 20 2e 22 20 20 22 2d 2d 74 6f 2d 64 69 72 22 ctory..Default.is..".."--to-dir"
2f6c0 29 0a 20 20 20 28 22 2d 6c 22 20 22 43 6f 6e 76 65 72 74 20 70 61 74 68 73 20 74 6f 20 6c 6f 77 )....("-l"."Convert.paths.to.low
2f6e0 65 72 63 61 73 65 2e 22 20 22 2d 2d 74 6f 2d 6c 6f 77 65 72 63 61 73 65 22 29 0a 20 20 20 28 22 ercase."."--to-lowercase")....("
2f700 2d 41 22 20 22 45 78 70 6f 72 74 20 61 6c 6c 20 62 6f 6f 6b 73 20 69 6e 20 64 61 74 61 62 61 73 -A"."Export.all.books.in.databas
2f720 65 2c 20 69 67 6e 6f 72 69 6e 67 20 74 68 65 20 6c 69 73 74 20 6f 66 20 69 64 73 22 20 22 2d 2d e,.ignoring.the.list.of.ids"."--
2f740 61 6c 6c 22 29 5d 0a 20 20 5b 5b 22 45 78 70 6f 72 74 22 0a 20 20 20 20 28 22 65 22 20 22 45 78 all")]...[["Export".....("e"."Ex
2f760 70 6f 72 74 22 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72 74 29 5d port".........calibredb-export)]
2f780 5d 0a 20 20 5b 28 22 71 22 20 22 51 75 69 74 22 20 20 20 74 72 61 6e 73 69 65 6e 74 2d 71 75 69 ]...[("q"."Quit"...transient-qui
2f7a0 74 2d 6f 6e 65 29 5d 29 0a 0a 28 74 72 61 6e 73 69 65 6e 74 2d 64 65 66 69 6e 65 2d 70 72 65 66 t-one)])..(transient-define-pref
2f7c0 69 78 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 65 70 75 62 2d 64 69 73 ix.calibredb-convert-to-epub-dis
2f7e0 70 61 74 63 68 20 28 29 0a 20 20 22 54 4f 44 4f 3a 20 44 69 73 70 61 74 63 68 20 66 6f 72 20 63 patch.()..."TODO:.Dispatch.for.c
2f800 6f 6e 76 65 72 74 20 74 6f 20 65 70 75 62 2e 22 0a 20 20 5b 22 41 72 67 75 6d 65 6e 74 73 22 0a onvert.to.epub."...["Arguments".
2f820 20 20 20 28 22 2d 61 22 20 22 54 75 72 6e 20 6f 66 66 20 73 70 6c 69 74 74 69 6e 67 20 61 74 20 ...("-a"."Turn.off.splitting.at.
2f840 70 61 67 65 20 62 72 65 61 6b 73 2e 22 20 20 22 2d 2d 64 6f 6e 74 2d 73 70 6c 69 74 2d 6f 6e 2d page.breaks.".."--dont-split-on-
2f860 70 61 67 65 2d 62 72 65 61 6b 73 22 29 0a 20 20 20 28 22 2d 63 22 20 22 54 68 69 73 20 6f 70 74 page-breaks")....("-c"."This.opt
2f880 69 6f 6e 20 69 73 20 6e 65 65 64 65 64 20 6f 6e 6c 79 20 69 66 20 79 6f 75 20 69 6e 74 65 6e 64 ion.is.needed.only.if.you.intend
2f8a0 20 74 6f 20 75 73 65 20 74 68 65 20 45 50 55 42 20 77 69 74 68 20 46 42 52 65 61 64 65 72 4a 2e .to.use.the.EPUB.with.FBReaderJ.
2f8c0 22 20 20 22 2d 2d 65 70 75 62 2d 66 6c 61 74 74 65 6e 22 29 0a 20 20 20 28 22 2d 6d 22 20 22 49 ".."--epub-flatten")....("-m"."I
2f8e0 6e 73 65 72 74 20 61 6e 20 69 6e 6c 69 6e 65 20 54 61 62 6c 65 20 6f 66 20 43 6f 6e 74 65 6e 74 nsert.an.inline.Table.of.Content
2f900 73 20 74 68 61 74 20 77 69 6c 6c 20 61 70 70 65 61 72 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 s.that.will.appear.as.part.of.th
2f920 65 20 6d 61 69 6e 20 62 6f 6f 6b 20 63 6f 6e 74 65 6e 74 2e 22 20 20 22 2d 2d 65 70 75 62 2d 69 e.main.book.content.".."--epub-i
2f940 6e 6c 69 6e 65 2d 74 6f 63 22 29 0a 20 20 20 28 22 2d 6f 22 20 22 50 75 74 20 74 68 65 20 69 6e nline-toc")....("-o"."Put.the.in
2f960 73 65 72 74 65 64 20 69 6e 6c 69 6e 65 20 54 61 62 6c 65 20 6f 66 20 43 6f 6e 74 65 6e 74 73 20 serted.inline.Table.of.Contents.
2f980 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 62 6f 6f 6b 20 69 6e 73 74 65 61 64 20 6f at.the.end.of.the.book.instead.o
2f9a0 66 20 74 68 65 20 73 74 61 72 74 2e 22 20 22 2d 2d 65 70 75 62 2d 74 6f 63 2d 61 74 2d 65 6e 64 f.the.start."."--epub-toc-at-end
2f9c0 22 29 0a 20 20 20 28 22 2d 66 22 20 22 54 68 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 ")....("-f"."The.version.of.the.
2f9e0 45 50 55 42 20 66 69 6c 65 20 74 6f 20 67 65 6e 65 72 61 74 65 2e 22 20 20 22 2d 2d 65 70 75 62 EPUB.file.to.generate.".."--epub
2fa00 2d 76 65 72 73 69 6f 6e 22 29 0a 20 20 20 28 22 2d 70 22 20 22 45 78 74 72 61 63 74 20 74 68 65 -version")....("-p"."Extract.the
2fa20 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 45 50 55 42 20 .contents.of.the.generated.EPUB.
2fa40 66 69 6c 65 20 74 6f 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 64 69 72 65 63 74 6f 72 79 2e file.to.the.specified.directory.
2fa60 20 22 20 20 22 2d 2d 65 78 74 72 61 63 74 2d 74 6f 22 29 0a 20 20 20 28 22 2d 72 22 20 22 53 70 .".."--extract-to")....("-r"."Sp
2fa80 6c 69 74 20 61 6c 6c 20 48 54 4d 4c 20 66 69 6c 65 73 20 6c 61 72 67 65 72 20 74 68 61 6e 20 74 lit.all.HTML.files.larger.than.t
2faa0 68 69 73 20 73 69 7a 65 20 28 69 6e 20 4b 42 29 2e 20 22 20 22 2d 2d 66 6c 6f 77 2d 73 69 7a 65 his.size.(in.KB).."."--flow-size
2fac0 22 29 0a 20 20 20 28 22 2d 73 22 20 22 54 68 69 73 20 6f 70 74 69 6f 6e 20 64 69 73 61 62 6c 65 ")....("-s"."This.option.disable
2fae0 73 20 74 68 65 20 67 65 6e 65 72 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 63 6f 76 65 72 2e 22 s.the.generation.of.this.cover."
2fb00 20 22 2d 2d 6e 6f 2d 64 65 66 61 75 6c 74 2d 65 70 75 62 2d 63 6f 76 65 72 22 29 0a 20 20 20 28 ."--no-default-epub-cover")....(
2fb20 22 2d 74 22 20 22 44 6f 20 6e 6f 74 20 75 73 65 20 53 56 47 20 66 6f 72 20 74 68 65 20 62 6f 6f "-t"."Do.not.use.SVG.for.the.boo
2fb40 6b 20 63 6f 76 65 72 2e 22 20 20 22 2d 2d 6e 6f 2d 73 76 67 2d 63 6f 76 65 72 22 29 0a 20 20 20 k.cover.".."--no-svg-cover")....
2fb60 28 22 2d 64 22 20 22 57 68 65 6e 20 75 73 69 6e 67 20 61 6e 20 53 56 47 20 63 6f 76 65 72 2c 20 ("-d"."When.using.an.SVG.cover,.
2fb80 74 68 69 73 20 6f 70 74 69 6f 6e 20 77 69 6c 6c 20 63 61 75 73 65 20 74 68 65 20 63 6f 76 65 72 this.option.will.cause.the.cover
2fba0 20 74 6f 20 73 63 61 6c 65 20 74 6f 20 63 6f 76 65 72 20 74 68 65 20 61 76 61 69 6c 61 62 6c 65 .to.scale.to.cover.the.available
2fbc0 20 73 63 72 65 65 6e 20 61 72 65 61 2c 20 62 75 74 20 73 74 69 6c 6c 20 70 72 65 73 65 72 76 65 .screen.area,.but.still.preserve
2fbe0 20 69 74 73 20 61 73 70 65 63 74 20 72 61 74 69 6f 20 28 72 61 74 69 6f 20 6f 66 20 77 69 64 74 .its.aspect.ratio.(ratio.of.widt
2fc00 68 20 74 6f 20 68 65 69 67 68 74 29 22 20 22 2d 2d 70 72 65 73 65 72 76 65 2d 63 6f 76 65 72 2d h.to.height)"."--preserve-cover-
2fc20 61 73 70 65 63 74 2d 72 61 74 69 6f 22 29 0a 20 20 20 28 22 2d 6c 22 20 22 49 66 20 73 70 65 63 aspect-ratio")....("-l"."If.spec
2fc40 69 66 69 65 64 2c 20 74 68 65 20 6f 75 74 70 75 74 20 70 6c 75 67 69 6e 20 77 69 6c 6c 20 74 72 ified,.the.output.plugin.will.tr
2fc60 79 20 74 6f 20 63 72 65 61 74 65 20 6f 75 74 70 75 74 20 74 68 61 74 20 69 73 20 61 73 20 68 75 y.to.create.output.that.is.as.hu
2fc80 6d 61 6e 20 72 65 61 64 61 62 6c 65 20 61 73 20 70 6f 73 73 69 62 6c 65 2e 22 20 22 2d 2d 70 72 man.readable.as.possible."."--pr
2fca0 65 74 74 79 2d 70 72 69 6e 74 22 29 0a 20 20 20 28 22 2d 41 22 20 22 54 69 74 6c 65 20 66 6f 72 etty-print")....("-A"."Title.for
2fcc0 20 61 6e 79 20 67 65 6e 65 72 61 74 65 64 20 69 6e 2d 6c 69 6e 65 20 74 61 62 6c 65 20 6f 66 20 .any.generated.in-line.table.of.
2fce0 63 6f 6e 74 65 6e 74 73 2e 22 20 22 2d 2d 74 6f 63 2d 74 69 74 6c 65 22 29 5d 0a 20 20 5b 5b 22 contents."."--toc-title")]...[["
2fd00 45 78 70 6f 72 74 22 0a 20 20 20 20 28 22 65 22 20 22 45 78 70 6f 72 74 22 20 63 61 6c 69 62 72 Export".....("e"."Export".calibr
2fd20 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 65 70 75 62 29 5d 5d 0a 20 20 5b 28 22 71 22 20 22 edb-convert-to-epub)]]...[("q"."
2fd40 51 75 69 74 22 20 20 20 74 72 61 6e 73 69 65 6e 74 2d 71 75 69 74 2d 6f 6e 65 29 5d 29 0a 0a 28 Quit"...transient-quit-one)])..(
2fd60 74 72 61 6e 73 69 65 6e 74 2d 64 65 66 69 6e 65 2d 70 72 65 66 69 78 20 63 61 6c 69 62 72 65 64 transient-define-prefix.calibred
2fd80 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 6d 6f 62 69 2d 64 69 73 70 61 74 63 68 20 28 29 0a 20 20 b-convert-to-mobi-dispatch.()...
2fda0 22 54 4f 44 4f 3a 20 44 69 73 70 61 74 63 68 20 66 6f 72 20 63 6f 6e 76 65 72 74 20 74 6f 20 6d "TODO:.Dispatch.for.convert.to.m
2fdc0 6f 62 69 2e 22 0a 20 20 5b 22 41 72 67 75 6d 65 6e 74 73 22 0a 20 20 20 28 22 2d 64 22 20 22 44 obi."...["Arguments"....("-d"."D
2fde0 69 73 61 62 6c 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 6c 65 20 63 isable.compression.of.the.file.c
2fe00 6f 6e 74 65 6e 74 73 2e 22 20 20 22 20 2d 2d 64 6f 6e 74 2d 63 6f 6d 70 72 65 73 73 22 29 0a 20 ontents."..".--dont-compress")..
2fe20 20 20 28 22 2d 65 22 20 22 45 78 74 72 61 63 74 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 ..("-e"."Extract.the.contents.of
2fe40 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 4d 4f 42 49 20 66 69 6c 65 20 74 6f 20 74 68 65 20 .the.generated.MOBI.file.to.the.
2fe60 73 70 65 63 69 66 69 65 64 20 66 6f 6c 64 65 72 2e 22 20 20 22 2d 65 78 74 72 61 63 74 2d 74 6f specified.folder.".."-extract-to
2fe80 22 29 0a 20 20 20 28 22 2d 66 22 20 22 42 79 20 64 65 66 61 75 6c 74 20 63 61 6c 69 62 72 65 20 ")....("-f"."By.default.calibre.
2fea0 67 65 6e 65 72 61 74 65 73 20 4d 4f 42 49 20 66 69 6c 65 73 20 74 68 61 74 20 63 6f 6e 74 61 69 generates.MOBI.files.that.contai
2fec0 6e 20 74 68 65 20 6f 6c 64 20 4d 4f 42 49 20 36 20 66 6f 72 6d 61 74 2e 22 20 20 22 20 2d 2d 6d n.the.old.MOBI.6.format."..".--m
2fee0 6f 62 69 2d 66 69 6c 65 2d 74 79 70 65 22 29 0a 20 20 20 28 22 2d 69 22 20 22 49 67 6e 6f 72 65 obi-file-type")....("-i"."Ignore
2ff00 20 6d 61 72 67 69 6e 73 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 64 6f 63 75 6d 65 6e 74 2e 20 .margins.in.the.input.document..
2ff20 22 20 22 20 2d 2d 6d 6f 62 69 2d 69 67 6e 6f 72 65 2d 6d 61 72 67 69 6e 73 22 29 0a 20 20 20 28 ".".--mobi-ignore-margins")....(
2ff40 22 2d 6b 22 20 22 42 79 20 64 65 66 61 75 6c 74 20 63 61 6c 69 62 72 65 20 63 6f 6e 76 65 72 74 "-k"."By.default.calibre.convert
2ff60 73 20 61 6c 6c 20 69 6d 61 67 65 73 20 74 6f 20 4a 50 45 47 20 66 6f 72 6d 61 74 20 69 6e 20 74 s.all.images.to.JPEG.format.in.t
2ff80 68 65 20 6f 75 74 70 75 74 20 4d 4f 42 49 20 66 69 6c 65 2e 22 20 20 22 20 2d 2d 6d 6f 62 69 2d he.output.MOBI.file."..".--mobi-
2ffa0 6b 65 65 70 2d 6f 72 69 67 69 6e 61 6c 2d 69 6d 61 67 65 73 22 29 0a 20 20 20 28 22 2d 74 22 20 keep-original-images")....("-t".
2ffc0 22 57 68 65 6e 20 61 64 64 69 6e 67 20 74 68 65 20 54 61 62 6c 65 20 6f 66 20 43 6f 6e 74 65 6e "When.adding.the.Table.of.Conten
2ffe0 74 73 20 74 6f 20 74 68 65 20 62 6f 6f 6b 2c 20 61 64 64 20 69 74 20 61 74 20 74 68 65 20 73 74 ts.to.the.book,.add.it.at.the.st
30000 61 72 74 20 6f 66 20 74 68 65 20 62 6f 6f 6b 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 65 art.of.the.book.instead.of.the.e
30020 6e 64 2e 22 20 20 22 2d 2d 6d 6f 62 69 2d 74 6f 63 2d 61 74 2d 73 74 61 72 74 22 29 0a 20 20 20 nd.".."--mobi-toc-at-start")....
30040 28 22 2d 6e 22 20 22 44 6f 6e 27 74 20 61 64 64 20 54 61 62 6c 65 20 6f 66 20 43 6f 6e 74 65 6e ("-n"."Don't.add.Table.of.Conten
30060 74 73 20 74 6f 20 74 68 65 20 62 6f 6f 6b 2e 20 55 73 65 66 75 6c 20 69 66 20 74 68 65 20 62 6f ts.to.the.book..Useful.if.the.bo
30080 6f 6b 20 68 61 73 20 69 74 73 20 6f 77 6e 20 74 61 62 6c 65 20 6f 66 20 63 6f 6e 74 65 6e 74 73 ok.has.its.own.table.of.contents
300a0 2e 22 20 22 2d 2d 6e 6f 2d 69 6e 6c 69 6e 65 2d 74 6f 63 22 29 0a 20 20 20 28 22 2d 70 22 20 22 ."."--no-inline-toc")....("-p"."
300c0 54 61 67 20 66 6f 72 20 4d 4f 42 49 20 66 69 6c 65 73 20 74 6f 20 62 65 20 6d 61 72 6b 65 64 20 Tag.for.MOBI.files.to.be.marked.
300e0 61 73 20 70 65 72 73 6f 6e 61 6c 20 64 6f 63 75 6d 65 6e 74 73 2e 22 20 22 2d 2d 70 65 72 73 6f as.personal.documents."."--perso
30100 6e 61 6c 2d 64 6f 63 22 29 0a 20 20 20 28 22 2d 61 22 20 22 57 68 65 6e 20 70 72 65 73 65 6e 74 nal-doc")....("-a"."When.present
30120 2c 20 75 73 65 20 61 75 74 68 6f 72 20 73 6f 72 74 20 66 69 65 6c 64 20 61 73 20 61 75 74 68 6f ,.use.author.sort.field.as.autho
30140 72 2e 22 20 20 22 2d 2d 70 72 65 66 65 72 2d 61 75 74 68 6f 72 2d 73 6f 72 74 22 29 0a 20 20 20 r.".."--prefer-author-sort")....
30160 28 22 2d 50 22 20 22 49 66 20 73 70 65 63 69 66 69 65 64 2c 20 74 68 65 20 6f 75 74 70 75 74 20 ("-P"."If.specified,.the.output.
30180 70 6c 75 67 69 6e 20 77 69 6c 6c 20 74 72 79 20 74 6f 20 63 72 65 61 74 65 20 6f 75 74 70 75 74 plugin.will.try.to.create.output
301a0 20 74 68 61 74 20 69 73 20 61 73 20 68 75 6d 61 6e 20 72 65 61 64 61 62 6c 65 20 61 73 20 70 6f .that.is.as.human.readable.as.po
301c0 73 73 69 62 6c 65 2e 22 20 22 2d 2d 70 72 65 74 74 79 2d 70 72 69 6e 74 22 29 0a 20 20 20 28 22 ssible."."--pretty-print")....("
301e0 2d 73 22 20 22 45 6e 61 62 6c 65 20 73 68 61 72 69 6e 67 20 6f 66 20 62 6f 6f 6b 20 63 6f 6e 74 -s"."Enable.sharing.of.book.cont
30200 65 6e 74 20 76 69 61 20 46 61 63 65 62 6f 6f 6b 20 65 74 63 2e 22 20 22 2d 2d 73 68 61 72 65 2d ent.via.Facebook.etc."."--share-
30220 6e 6f 74 2d 73 79 6e 63 22 29 0a 20 20 20 28 22 2d 54 22 20 22 54 69 74 6c 65 20 66 6f 72 20 61 not-sync")....("-T"."Title.for.a
30240 6e 79 20 67 65 6e 65 72 61 74 65 64 20 69 6e 2d 6c 69 6e 65 20 74 61 62 6c 65 20 6f 66 20 63 6f ny.generated.in-line.table.of.co
30260 6e 74 65 6e 74 73 2e 22 20 22 2d 2d 74 6f 63 2d 74 69 74 6c 65 22 29 5d 0a 20 20 5b 5b 22 45 78 ntents."."--toc-title")]...[["Ex
30280 70 6f 72 74 22 0a 20 20 20 20 28 22 65 22 20 22 45 78 70 6f 72 74 22 20 63 61 6c 69 62 72 65 64 port".....("e"."Export".calibred
302a0 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 6d 6f 62 69 29 5d 5d 0a 20 20 5b 28 22 71 22 20 22 51 75 b-convert-to-mobi)]]...[("q"."Qu
302c0 69 74 22 20 20 20 74 72 61 6e 73 69 65 6e 74 2d 71 75 69 74 2d 6f 6e 65 29 5d 29 0a 0a 28 74 72 it"...transient-quit-one)])..(tr
302e0 61 6e 73 69 65 6e 74 2d 64 65 66 69 6e 65 2d 70 72 65 66 69 78 20 63 61 6c 69 62 72 65 64 62 2d ansient-define-prefix.calibredb-
30300 63 61 74 61 6c 6f 67 2d 62 69 62 2d 64 69 73 70 61 74 63 68 20 28 29 0a 20 20 22 44 69 73 70 61 catalog-bib-dispatch.()..."Dispa
30320 74 63 68 20 66 6f 72 20 63 61 74 61 6c 6f 67 20 42 69 62 54 65 78 2e 22 0a 20 20 5b 22 41 72 67 tch.for.catalog.BibTex."...["Arg
30340 75 6d 65 6e 74 73 22 0a 20 20 20 28 22 2d 66 22 20 22 54 68 65 20 66 69 65 6c 64 73 20 28 63 6f uments"....("-f"."The.fields.(co
30360 6d 6d 61 2d 73 65 70 61 72 61 74 65 64 29 20 74 6f 20 6f 75 74 70 75 74 2e 20 44 65 66 61 75 6c mma-separated).to.output..Defaul
30380 74 3a 20 61 6c 6c 22 20 22 2d 2d 66 69 65 6c 64 73 20 22 20 63 61 6c 69 62 72 65 64 62 2d 74 72 t:.all"."--fields.".calibredb-tr
303a0 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 62 69 62 2d 66 69 65 6c 64 73 29 0a 20 20 20 28 22 2d 74 ansient-read-bib-fields)....("-t
303c0 22 20 22 45 6e 74 72 79 20 74 79 70 65 20 66 6f 72 20 42 69 62 54 65 58 20 63 61 74 61 6c 6f 67 "."Entry.type.for.BibTeX.catalog
303e0 2e 20 44 65 66 61 75 6c 74 3a 20 62 6f 6f 6b 22 20 20 22 2d 2d 65 6e 74 72 79 2d 74 79 70 65 20 ..Default:.book".."--entry-type.
30400 22 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 65 6e 74 72 79 ".calibredb-transient-read-entry
30420 2d 74 79 70 65 29 0a 20 20 20 28 22 2d 73 22 20 22 4f 75 74 70 75 74 20 66 69 65 6c 64 20 74 6f -type)....("-s"."Output.field.to
30440 20 73 6f 72 74 20 6f 6e 2e 20 44 65 66 61 75 6c 74 3a 20 69 64 22 20 22 2d 2d 73 6f 72 74 2d 62 .sort.on..Default:.id"."--sort-b
30460 79 20 22 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 62 69 62 y.".calibredb-transient-read-bib
30480 2d 73 6f 72 74 2d 62 79 29 0a 20 20 20 28 22 2d 63 22 20 22 43 72 65 61 74 65 20 61 20 63 69 74 -sort-by)....("-c"."Create.a.cit
304a0 61 74 69 6f 6e 20 66 6f 72 20 42 69 62 54 65 58 20 65 6e 74 72 69 65 73 2e 20 44 65 66 61 75 6c ation.for.BibTeX.entries..Defaul
304c0 74 3a 20 54 72 75 65 22 20 20 22 20 2d 2d 63 72 65 61 74 65 2d 63 69 74 61 74 69 6f 6e 20 22 20 t:.True"..".--create-citation.".
304e0 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 62 69 62 2d 63 72 65 calibredb-transient-read-bib-cre
30500 61 74 65 2d 63 69 74 61 74 69 6f 6e 29 0a 20 20 20 28 22 2d 70 22 20 22 43 72 65 61 74 65 20 61 ate-citation)....("-p"."Create.a
30520 20 66 69 6c 65 20 65 6e 74 72 79 20 69 66 20 66 6f 72 6d 61 74 73 20 69 73 20 73 65 6c 65 63 74 .file.entry.if.formats.is.select
30540 65 64 20 66 6f 72 20 42 69 62 54 65 58 20 65 6e 74 72 69 65 73 2e 20 44 65 66 61 75 6c 74 3a 20 ed.for.BibTeX.entries..Default:.
30560 54 72 75 65 22 20 20 22 2d 2d 61 64 64 2d 66 69 6c 65 73 2d 70 61 74 68 20 22 20 63 61 6c 69 62 True".."--add-files-path.".calib
30580 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 62 69 62 2d 61 64 64 2d 66 69 6c 65 redb-transient-read-bib-add-file
305a0 73 2d 70 61 74 68 29 0a 20 20 20 28 22 2d 54 22 20 22 54 68 65 20 74 65 6d 70 6c 61 74 65 20 66 s-path)....("-T"."The.template.f
305c0 6f 72 20 63 69 74 61 74 69 6f 6e 20 63 72 65 61 74 69 6f 6e 20 66 72 6f 6d 20 64 61 74 61 62 61 or.citation.creation.from.databa
305e0 73 65 20 66 69 65 6c 64 73 2e 20 44 65 66 61 75 6c 74 3a 20 7b 61 75 74 68 6f 72 73 7d 7b 69 64 se.fields..Default:.{authors}{id
30600 7d 22 20 22 2d 2d 63 69 74 61 74 69 6f 6e 2d 74 65 6d 70 6c 61 74 65 20 22 20 63 61 6c 69 62 72 }"."--citation-template.".calibr
30620 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 62 69 62 2d 63 69 74 61 74 69 6f 6e 2d edb-transient-read-bib-citation-
30640 74 65 6d 70 6c 61 74 65 29 0a 20 20 20 28 22 2d 65 22 20 22 42 69 62 54 65 58 20 66 69 6c 65 20 template)....("-e"."BibTeX.file.
30660 65 6e 63 6f 64 69 6e 67 20 6f 75 74 70 75 74 2e 20 44 65 66 61 75 6c 74 3a 20 75 74 66 38 22 20 encoding.output..Default:.utf8".
30680 20 22 2d 2d 63 68 6f 6f 73 65 2d 65 6e 63 6f 64 69 6e 67 20 22 20 63 61 6c 69 62 72 65 64 62 2d ."--choose-encoding.".calibredb-
306a0 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 63 68 6f 6f 73 65 2d 65 6e 63 6f 64 69 6e 67 29 0a transient-read-choose-encoding).
306c0 20 20 20 28 22 2d 45 22 20 22 42 69 62 54 65 58 20 66 69 6c 65 20 65 6e 63 6f 64 69 6e 67 20 66 ...("-E"."BibTeX.file.encoding.f
306e0 6c 61 67 2e 20 44 65 66 61 75 6c 74 3a 20 73 74 72 69 63 74 22 20 20 22 2d 2d 63 68 6f 6f 73 65 lag..Default:.strict".."--choose
30700 2d 65 6e 63 6f 64 69 6e 67 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 22 20 63 61 6c 69 62 72 -encoding-configuration.".calibr
30720 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 63 68 6f 6f 73 65 2d 65 6e 63 6f 64 69 edb-transient-read-choose-encodi
30740 6e 67 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 5d 0a 20 20 5b 5b 22 42 69 62 74 65 78 22 0a ng-configuration)]...[["Bibtex".
30760 20 20 20 20 28 22 6f 22 20 22 46 69 6e 64 20 42 69 62 54 65 78 20 66 69 6c 65 22 20 20 20 20 20 ....("o"."Find.BibTex.file".....
30780 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 62 69 62 29 0a 20 20 20 20 28 22 62 22 ....calibredb-find-bib).....("b"
307a0 20 22 55 70 64 61 74 65 20 42 69 62 54 65 78 20 66 69 6c 65 22 20 20 20 20 20 20 20 20 20 63 61 ."Update.BibTex.file".........ca
307c0 6c 69 62 72 65 64 62 2d 63 61 74 61 6c 6f 67 2d 62 69 62 2d 2d 74 72 61 6e 73 69 65 6e 74 29 5d libredb-catalog-bib--transient)]
307e0 5d 0a 20 20 5b 28 22 71 22 20 22 51 75 69 74 22 20 20 20 74 72 61 6e 73 69 65 6e 74 2d 71 75 69 ]...[("q"."Quit"...transient-qui
30800 74 2d 6f 6e 65 29 5d 29 0a 0a 28 74 72 61 6e 73 69 65 6e 74 2d 64 65 66 69 6e 65 2d 70 72 65 66 t-one)])..(transient-define-pref
30820 69 78 20 63 61 6c 69 62 72 65 64 62 2d 79 61 6e 6b 2d 64 69 73 70 61 74 63 68 20 28 29 0a 20 20 ix.calibredb-yank-dispatch.()...
30840 22 49 6e 76 6f 6b 65 20 61 20 59 61 6e 6b 20 6f 70 65 72 61 74 69 6f 6e 2e 22 0a 20 20 3a 6d 61 "Invoke.a.Yank.operation."...:ma
30860 6e 2d 70 61 67 65 20 22 63 61 6c 69 62 72 65 64 62 22 0a 20 20 5b 22 59 61 6e 6b 20 6f 70 65 72 n-page."calibredb"...["Yank.oper
30880 61 69 6f 6e 22 0a 20 20 20 5b 28 22 79 22 20 22 43 6f 70 79 20 61 73 20 63 61 6c 69 62 72 65 64 aion"....[("y"."Copy.as.calibred
308a0 62 20 6f 72 67 20 6c 69 6e 6b 73 22 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 6f b.org.links".........calibredb-o
308c0 72 67 2d 6c 69 6e 6b 2d 63 6f 70 79 29 0a 20 20 20 20 28 22 66 22 20 22 43 6f 70 79 20 61 73 20 rg-link-copy).....("f"."Copy.as.
308e0 66 69 6c 65 20 6f 72 67 20 6c 69 6e 6b 73 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c file.org.links"..............cal
30900 69 62 72 65 64 62 2d 63 6f 70 79 2d 61 73 2d 6f 72 67 2d 6c 69 6e 6b 29 0a 20 20 20 20 28 22 74 ibredb-copy-as-org-link).....("t
30920 22 20 22 43 6f 70 79 20 74 69 74 6c 65 73 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "."Copy.titles".................
30940 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 2d 74 69 74 6c 65 2d 63 6f 70 79 ........calibredb-org-title-copy
30960 29 0a 20 20 20 20 28 22 6d 22 20 22 43 6f 70 79 20 61 73 20 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c ).....("m"."Copy.as.org-protocol
30980 20 6d 61 72 6b 64 6f 77 6e 20 6c 69 6e 6b 73 22 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 2d 70 .markdown.links".calibredb-org-p
309a0 72 6f 74 6f 63 6f 6c 2d 6c 69 6e 6b 2d 6d 61 72 6b 64 6f 77 6e 2d 63 6f 70 79 29 0a 20 20 20 20 rotocol-link-markdown-copy).....
309c0 28 22 4d 22 20 22 43 6f 70 79 20 61 73 20 6d 61 72 6b 64 6f 77 6e 20 6c 69 6e 6b 73 22 20 20 20 ("M"."Copy.as.markdown.links"...
309e0 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 2d 6d 61 72 6b 64 6f 77 ...........calibredb-org-markdow
30a00 6e 2d 63 6f 70 79 29 0a 20 20 20 20 28 22 6f 22 20 22 43 6f 70 79 20 61 73 20 6f 72 67 2d 70 72 n-copy).....("o"."Copy.as.org-pr
30a20 6f 74 6f 63 6f 6c 20 6c 69 6e 6b 73 22 20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 otocol.links"..........calibredb
30a40 2d 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 2d 6c 69 6e 6b 2d 63 6f 70 79 29 5d 5d 0a 20 20 5b 28 22 -org-protocol-link-copy)]]...[("
30a60 71 22 20 22 51 75 69 74 22 20 20 20 74 72 61 6e 73 69 65 6e 74 2d 71 75 69 74 2d 6f 6e 65 29 5d q"."Quit"...transient-quit-one)]
30a80 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 )..(defun.calibredb-transient-re
30aa0 61 64 2d 62 69 62 2d 66 69 65 6c 64 73 20 28 70 72 6f 6d 70 74 20 5f 69 6e 69 74 69 61 6c 2d 69 ad-bib-fields.(prompt._initial-i
30ac0 6e 70 75 74 20 5f 68 69 73 74 6f 72 79 29 0a 20 20 22 54 4f 44 4f 3a 20 52 65 61 64 20 61 20 42 nput._history)..."TODO:.Read.a.B
30ae0 69 62 54 65 78 20 2d 2d 66 69 65 6c 64 73 20 76 61 6c 75 65 2e 0a 41 72 67 75 6d 65 6e 74 20 50 ibTex.--fields.value..Argument.P
30b00 52 4f 4d 50 54 20 70 72 6f 6d 70 74 20 74 6f 20 73 68 6f 77 2e 22 0a 20 20 28 72 65 61 64 2d 73 ROMPT.prompt.to.show."...(read-s
30b20 74 72 69 6e 67 20 70 72 6f 6d 70 74 20 22 74 69 74 6c 65 2c 74 69 74 6c 65 5f 73 6f 72 74 2c 61 tring.prompt."title,title_sort,a
30b40 75 74 68 6f 72 5f 73 6f 72 74 2c 61 75 74 68 6f 72 73 2c 63 6f 6d 6d 65 6e 74 73 2c 63 6f 76 65 uthor_sort,authors,comments,cove
30b60 72 2c 66 6f 72 6d 61 74 73 2c 69 64 2c 69 73 62 6e 2c 6c 69 62 72 61 72 79 5f 6e 61 6d 65 2c 6f r,formats,id,isbn,library_name,o
30b80 6e 64 65 76 69 63 65 2c 70 75 62 64 61 74 65 2c 70 75 62 6c 69 73 68 65 72 2c 72 61 74 69 6e 67 ndevice,pubdate,publisher,rating
30ba0 2c 73 65 72 69 65 73 5f 69 6e 64 65 78 2c 73 65 72 69 65 73 2c 73 69 7a 65 2c 74 61 67 73 2c 74 ,series_index,series,size,tags,t
30bc0 69 6d 65 73 74 61 6d 70 2c 75 75 69 64 2c 6c 61 6e 67 75 61 67 65 73 2c 69 64 65 6e 74 69 66 69 imestamp,uuid,languages,identifi
30be0 65 72 73 22 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 ers"))..(defun.calibredb-transie
30c00 6e 74 2d 72 65 61 64 2d 62 69 62 2d 73 6f 72 74 2d 62 79 20 28 70 72 6f 6d 70 74 20 5f 69 6e 69 nt-read-bib-sort-by.(prompt._ini
30c20 74 69 61 6c 2d 69 6e 70 75 74 20 5f 68 69 73 74 6f 72 79 29 0a 20 20 22 52 65 61 64 20 61 20 42 tial-input._history)..."Read.a.B
30c40 69 62 54 65 78 20 2d 2d 73 6f 72 74 2d 62 79 20 76 61 6c 75 65 2e 0a 41 72 67 75 6d 65 6e 74 20 ibTex.--sort-by.value..Argument.
30c60 50 52 4f 4d 50 54 20 70 72 6f 6d 70 74 20 74 6f 20 73 68 6f 77 2e 22 0a 20 20 28 63 6f 6d 70 6c PROMPT.prompt.to.show."...(compl
30c80 65 74 69 6e 67 2d 72 65 61 64 20 70 72 6f 6d 70 74 20 27 28 22 61 75 74 68 6f 72 5f 73 6f 72 74 eting-read.prompt.'("author_sort
30ca0 22 20 22 69 64 22 20 22 72 61 74 69 6e 67 22 20 22 73 69 7a 65 22 20 22 74 69 6d 65 73 74 61 6d "."id"."rating"."size"."timestam
30cc0 70 22 20 22 74 69 74 6c 65 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d p"."title")))..(defun.calibredb-
30ce0 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 62 69 62 2d 63 72 65 61 74 65 2d 63 69 74 61 74 69 transient-read-bib-create-citati
30d00 6f 6e 20 28 70 72 6f 6d 70 74 20 5f 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 5f 68 69 73 74 6f on.(prompt._initial-input._histo
30d20 72 79 29 0a 20 20 22 52 65 61 64 20 61 20 42 69 62 54 65 78 20 2d 2d 63 72 65 61 74 65 2d 63 69 ry)..."Read.a.BibTex.--create-ci
30d40 74 61 74 69 6f 6e 20 76 61 6c 75 65 2e 0a 41 72 67 75 6d 65 6e 74 20 50 52 4f 4d 50 54 20 70 72 tation.value..Argument.PROMPT.pr
30d60 6f 6d 70 74 20 74 6f 20 73 68 6f 77 2e 22 0a 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 ompt.to.show."...(completing-rea
30d80 64 20 70 72 6f 6d 70 74 20 27 28 22 54 72 75 65 22 20 22 46 61 6c 73 65 22 29 29 29 0a 0a 28 64 d.prompt.'("True"."False")))..(d
30da0 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 62 69 efun.calibredb-transient-read-bi
30dc0 62 2d 61 64 64 2d 66 69 6c 65 73 2d 70 61 74 68 20 28 70 72 6f 6d 70 74 20 5f 69 6e 69 74 69 61 b-add-files-path.(prompt._initia
30de0 6c 2d 69 6e 70 75 74 20 5f 68 69 73 74 6f 72 79 29 0a 20 20 22 52 65 61 64 20 61 20 42 69 62 54 l-input._history)..."Read.a.BibT
30e00 65 78 20 2d 2d 61 64 64 2d 66 69 6c 65 73 2d 70 61 74 68 20 76 61 6c 75 65 2e 0a 41 72 67 75 6d ex.--add-files-path.value..Argum
30e20 65 6e 74 20 50 52 4f 4d 50 54 20 70 72 6f 6d 70 74 20 74 6f 20 73 68 6f 77 2e 22 0a 20 20 28 63 ent.PROMPT.prompt.to.show."...(c
30e40 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 70 72 6f 6d 70 74 20 27 28 22 54 72 75 65 22 20 22 ompleting-read.prompt.'("True"."
30e60 46 61 6c 73 65 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e False")))..(defun.calibredb-tran
30e80 73 69 65 6e 74 2d 72 65 61 64 2d 62 69 62 2d 63 69 74 61 74 69 6f 6e 2d 74 65 6d 70 6c 61 74 65 sient-read-bib-citation-template
30ea0 20 28 70 72 6f 6d 70 74 20 5f 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 5f 68 69 73 74 6f 72 79 .(prompt._initial-input._history
30ec0 29 0a 20 20 22 54 4f 44 4f 3a 20 52 65 61 64 20 61 20 42 69 62 54 65 78 20 2d 2d 63 69 74 61 74 )..."TODO:.Read.a.BibTex.--citat
30ee0 69 6f 6e 2d 74 65 6d 70 6c 61 74 65 20 76 61 6c 75 65 2e 0a 41 72 67 75 6d 65 6e 74 20 50 52 4f ion-template.value..Argument.PRO
30f00 4d 50 54 20 70 72 6f 6d 70 74 20 74 6f 20 73 68 6f 77 2e 22 0a 20 20 28 72 65 61 64 2d 73 74 72 MPT.prompt.to.show."...(read-str
30f20 69 6e 67 20 70 72 6f 6d 70 74 20 22 7b 61 75 74 68 6f 72 5f 73 6f 72 74 7d 7b 61 75 74 68 6f 72 ing.prompt."{author_sort}{author
30f40 73 7d 7b 69 64 7d 7b 69 73 62 6e 7d 7b 70 75 62 64 61 74 65 7d 7b 74 69 74 6c 65 5f 73 6f 72 74 s}{id}{isbn}{pubdate}{title_sort
30f60 7d 7b 70 75 62 6c 69 73 68 65 72 7d 7b 73 65 72 69 65 73 5f 69 6e 64 65 78 7d 7b 73 65 72 69 65 }{publisher}{series_index}{serie
30f80 73 7d 7b 74 61 67 73 7d 7b 74 69 6d 65 73 74 61 6d 70 7d 7b 74 69 74 6c 65 7d 7b 75 75 69 64 7d s}{tags}{timestamp}{title}{uuid}
30fa0 22 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d "))..(defun.calibredb-transient-
30fc0 72 65 61 64 2d 63 68 6f 6f 73 65 2d 65 6e 63 6f 64 69 6e 67 20 28 70 72 6f 6d 70 74 20 5f 69 6e read-choose-encoding.(prompt._in
30fe0 69 74 69 61 6c 2d 69 6e 70 75 74 20 5f 68 69 73 74 6f 72 79 29 0a 20 20 22 52 65 61 64 20 61 20 itial-input._history)..."Read.a.
31000 42 69 62 54 65 78 20 2d 2d 63 68 6f 6f 73 65 2d 65 6e 63 6f 64 69 6e 67 20 76 61 6c 75 65 2e 0a BibTex.--choose-encoding.value..
31020 41 72 67 75 6d 65 6e 74 20 50 52 4f 4d 50 54 20 70 72 6f 6d 70 74 20 74 6f 20 73 68 6f 77 2e 22 Argument.PROMPT.prompt.to.show."
31040 0a 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 70 72 6f 6d 70 74 20 27 28 22 75 74 ...(completing-read.prompt.'("ut
31060 66 38 22 20 22 63 70 31 32 35 32 22 20 22 61 73 63 69 69 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 f8"."cp1252"."ascii")))..(defun.
31080 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 63 68 6f 6f 73 65 2d calibredb-transient-read-choose-
310a0 65 6e 63 6f 64 69 6e 67 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 28 70 72 6f 6d 70 74 20 5f encoding-configuration.(prompt._
310c0 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 5f 68 69 73 74 6f 72 79 29 0a 20 20 22 52 65 61 64 20 initial-input._history)..."Read.
310e0 61 20 42 69 62 54 65 78 20 2d 2d 63 68 6f 6f 73 65 2d 65 6e 63 6f 64 69 6e 67 2d 63 6f 6e 66 69 a.BibTex.--choose-encoding-confi
31100 67 75 72 61 74 69 6f 6e 20 76 61 6c 75 65 2e 0a 41 72 67 75 6d 65 6e 74 20 50 52 4f 4d 50 54 20 guration.value..Argument.PROMPT.
31120 70 72 6f 6d 70 74 20 74 6f 20 73 68 6f 77 2e 22 0a 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 prompt.to.show."...(completing-r
31140 65 61 64 20 70 72 6f 6d 70 74 20 27 28 22 73 74 72 69 63 74 22 20 22 72 65 70 6c 61 63 65 22 20 ead.prompt.'("strict"."replace".
31160 22 69 67 6e 6f 72 65 22 20 22 62 61 63 6b 73 6c 61 73 68 72 65 70 6c 61 63 65 22 29 29 29 0a 0a "ignore"."backslashreplace")))..
31180 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d (defun.calibredb-transient-read-
311a0 65 6e 74 72 79 2d 74 79 70 65 20 28 70 72 6f 6d 70 74 20 5f 69 6e 69 74 69 61 6c 2d 69 6e 70 75 entry-type.(prompt._initial-inpu
311c0 74 20 5f 68 69 73 74 6f 72 79 29 0a 20 20 22 52 65 61 64 20 61 20 42 69 62 54 65 78 20 2d 2d 65 t._history)..."Read.a.BibTex.--e
311e0 6e 74 72 79 2d 74 79 70 65 20 76 61 6c 75 65 2e 0a 41 72 67 75 6d 65 6e 74 20 50 52 4f 4d 50 54 ntry-type.value..Argument.PROMPT
31200 20 70 72 6f 6d 70 74 20 74 6f 20 73 68 6f 77 2e 22 0a 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d .prompt.to.show."...(completing-
31220 72 65 61 64 20 70 72 6f 6d 70 74 20 27 28 22 62 6f 6f 6b 22 20 22 6d 69 73 63 22 20 22 6d 69 78 read.prompt.'("book"."misc"."mix
31240 65 64 22 29 29 29 0a 0a 3b 3b 20 52 65 61 64 65 72 73 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 ed")))..;;.Readers..(defun.calib
31260 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 66 69 6c 65 20 28 70 72 6f 6d 70 74 redb-transient-read-file.(prompt
31280 20 5f 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 5f 68 69 73 74 6f 72 79 29 0a 20 20 22 52 65 61 ._initial-input._history)..."Rea
312a0 64 20 61 20 66 69 6c 65 20 70 61 74 68 2e 0a 41 72 67 75 6d 65 6e 74 20 50 52 4f 4d 50 54 20 70 d.a.file.path..Argument.PROMPT.p
312c0 72 6f 6d 70 74 20 74 6f 20 73 68 6f 77 2e 22 0a 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e rompt.to.show."...(expand-file-n
312e0 61 6d 65 20 28 72 65 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 70 72 6f 6d 70 74 29 29 29 0a 0a 28 ame.(read-file-name.prompt)))..(
31300 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 6d defun.calibredb-transient-read-m
31320 65 74 61 64 61 74 61 20 28 70 72 6f 6d 70 74 20 5f 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 5f etadata.(prompt._initial-input._
31340 68 69 73 74 6f 72 79 20 26 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 29 0a 20 20 22 52 65 61 64 20 history.&optional.type)..."Read.
31360 6d 65 74 61 64 61 74 61 20 2d 20 74 69 74 6c 65 2e 0a 41 72 67 75 6d 65 6e 74 20 50 52 4f 4d 50 metadata.-.title..Argument.PROMP
31380 54 20 70 72 6f 6d 70 74 20 74 6f 20 73 68 6f 77 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d T.prompt.to.show..Optional.argum
313a0 65 6e 74 20 54 59 50 45 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 61 6e 64 29 29 0a 20 20 20 20 28 ent.TYPE."...(let.((cand)).....(
313c0 69 66 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 if.(eq.major-mode.'calibredb-sea
313e0 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 20 28 63 64 rch-mode).........(setq.cand.(cd
31400 72 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 r.(get-text-property.(point).'ca
31420 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 libredb-entry.nil))).......(setq
31440 20 63 61 6e 64 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 2d .cand.(get-text-property.(point-
31460 6d 69 6e 29 20 27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 20 6e 69 6c 29 29 29 0a 20 20 20 min).'calibredb-entry.nil)))....
31480 20 28 6c 65 74 20 28 28 6c 61 73 74 2d 69 6e 70 75 74 29 29 0a 20 20 20 20 20 20 28 6c 65 74 2a .(let.((last-input)).......(let*
314a0 20 28 28 74 69 74 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 .((title.(calibredb-getattr.cand
314c0 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 64 20 .:book-title))..............(id.
314e0 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 20 3a 69 64 29 29 0a 20 20 (calibredb-getattr.cand.:id))...
31500 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 69 74 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d ...........(init.(calibredb-get-
31520 69 6e 69 74 20 74 79 70 65 20 63 61 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e init.type.cand))..............(n
31540 75 6d 20 28 6c 65 6e 67 74 68 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 6d 61 72 6b 65 um.(length.(calibredb-find-marke
31560 64 2d 63 61 6e 64 69 64 61 74 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e d-candidates)))..............(in
31580 70 75 74 20 28 6f 72 20 6c 61 73 74 2d 69 6e 70 75 74 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 put.(or.last-input.(read-string.
315a0 28 69 66 20 28 3e 20 6e 75 6d 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (if.(>.num.0)...................
315c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
315e0 20 20 28 63 6f 6e 63 61 74 20 22 53 65 74 20 22 20 74 79 70 65 20 22 20 66 6f 72 20 22 20 28 6e ..(concat."Set.".type.".for.".(n
31600 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 6e 75 6d 29 20 22 20 69 74 65 6d 73 3a 20 22 29 umber-to-string.num).".items:.")
31620 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
31640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 70 72 6f 6d 70 ...................(concat.promp
31660 74 20 69 64 20 22 20 22 20 74 69 74 6c 65 20 22 3a 20 22 29 20 29 20 69 6e 69 74 29 29 29 29 0a t.id.".".title.":.").).init)))).
31680 20 20 20 20 20 20 20 20 3b 3b 20 73 65 74 20 74 68 65 20 69 6e 70 75 74 20 61 73 20 6c 61 73 74 ........;;.set.the.input.as.last
316a0 20 69 6e 70 75 74 2c 20 73 6f 20 74 68 61 74 20 61 6c 6c 20 69 74 65 6d 73 20 75 73 65 20 74 68 .input,.so.that.all.items.use.th
316c0 65 20 73 61 6d 65 20 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 61 73 74 2d e.same.input.........(setq.last-
316e0 69 6e 70 75 74 20 69 6e 70 75 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 input.input)))))..(defun.calibre
31700 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64 61 74 61 2d 74 61 67 73 20 db-transient-read-metadata-tags.
31720 28 70 72 6f 6d 70 74 20 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 68 69 73 74 6f 72 79 29 0a 20 (prompt.initial-input.history)..
31740 20 28 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64 .(calibredb-transient-read-metad
31760 61 74 61 20 70 72 6f 6d 70 74 20 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 68 69 73 74 6f 72 79 ata.prompt.initial-input.history
31780 20 22 74 61 67 73 22 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e ."tags"))..(defun.calibredb-tran
317a0 73 69 65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64 61 74 61 2d 69 64 73 20 28 70 72 6f 6d 70 74 20 sient-read-metadata-ids.(prompt.
317c0 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 68 69 73 74 6f 72 79 29 0a 20 20 28 63 61 6c 69 62 72 initial-input.history)...(calibr
317e0 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64 61 74 61 20 70 72 6f 6d edb-transient-read-metadata.prom
31800 70 74 20 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 68 69 73 74 6f 72 79 20 22 69 64 73 22 29 29 pt.initial-input.history."ids"))
31820 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 ..(defun.calibredb-transient-rea
31840 64 2d 6d 65 74 61 64 61 74 61 2d 63 6f 6d 6d 65 6e 74 73 20 28 70 72 6f 6d 70 74 20 69 6e 69 74 d-metadata-comments.(prompt.init
31860 69 61 6c 2d 69 6e 70 75 74 20 68 69 73 74 6f 72 79 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d ial-input.history)...(calibredb-
31880 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64 61 74 61 20 70 72 6f 6d 70 74 20 69 transient-read-metadata.prompt.i
318a0 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 68 69 73 74 6f 72 79 20 22 63 6f 6d 6d 65 6e 74 73 22 29 nitial-input.history."comments")
318c0 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 )..(defun.calibredb-transient-re
318e0 61 64 2d 6d 65 74 61 64 61 74 61 2d 61 75 74 68 6f 72 2d 73 6f 72 74 20 28 70 72 6f 6d 70 74 20 ad-metadata-author-sort.(prompt.
31900 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 68 69 73 74 6f 72 79 29 0a 20 20 28 63 61 6c 69 62 72 initial-input.history)...(calibr
31920 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64 61 74 61 20 70 72 6f 6d edb-transient-read-metadata.prom
31940 70 74 20 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 68 69 73 74 6f 72 79 20 22 61 75 74 68 6f 72 pt.initial-input.history."author
31960 5f 73 6f 72 74 22 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 _sort"))..(defun.calibredb-trans
31980 69 65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64 61 74 61 2d 61 75 74 68 6f 72 73 20 28 70 72 6f 6d ient-read-metadata-authors.(prom
319a0 70 74 20 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 68 69 73 74 6f 72 79 29 0a 20 20 28 63 61 6c pt.initial-input.history)...(cal
319c0 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64 61 74 61 20 70 ibredb-transient-read-metadata.p
319e0 72 6f 6d 70 74 20 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 68 69 73 74 6f 72 79 20 22 61 75 74 rompt.initial-input.history."aut
31a00 68 6f 72 73 22 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 hors"))..(defun.calibredb-transi
31a20 65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64 61 74 61 2d 74 69 74 6c 65 20 28 70 72 6f 6d 70 74 20 ent-read-metadata-title.(prompt.
31a40 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 68 69 73 74 6f 72 79 29 0a 20 20 28 63 61 6c 69 62 72 initial-input.history)...(calibr
31a60 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64 61 74 61 20 70 72 6f 6d edb-transient-read-metadata.prom
31a80 70 74 20 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 68 69 73 74 6f 72 79 20 22 74 69 74 6c 65 22 pt.initial-input.history."title"
31aa0 29 29 0a 0a 3b 3b 20 47 65 74 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 ))..;;.Get..(defun.calibredb-set
31ac0 2d 6d 65 74 61 64 61 74 61 2d 61 72 67 75 6d 65 6e 74 73 20 28 29 0a 20 20 22 52 65 74 75 72 6e -metadata-arguments.()..."Return
31ae0 20 74 68 65 20 6c 61 74 65 73 74 20 75 73 65 64 20 61 72 67 75 6d 65 6e 74 73 20 69 6e 20 74 68 .the.latest.used.arguments.in.th
31b00 65 20 60 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 64 69 73 70 61 74 e.`calibredb-set-metadata-dispat
31b20 63 68 27 20 74 72 61 6e 73 69 65 6e 74 2e 22 0a 20 20 28 63 61 72 20 28 61 6c 69 73 74 2d 67 65 ch'.transient."...(car.(alist-ge
31b40 74 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 64 69 73 70 61 74 t.'calibredb-set-metadata-dispat
31b60 63 68 20 74 72 61 6e 73 69 65 6e 74 2d 68 69 73 74 6f 72 79 29 29 29 0a 0a 28 64 65 66 75 6e 20 ch.transient-history)))..(defun.
31b80 63 61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72 74 2d 61 72 67 75 6d 65 6e 74 73 20 28 29 0a 20 20 calibredb-export-arguments.()...
31ba0 22 52 65 74 75 72 6e 20 74 68 65 20 6c 61 74 65 73 74 20 75 73 65 64 20 61 72 67 75 6d 65 6e 74 "Return.the.latest.used.argument
31bc0 73 20 69 6e 20 74 68 65 20 60 63 61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72 74 2d 77 69 74 68 6f s.in.the.`calibredb-export-witho
31be0 75 74 2d 63 6f 6e 76 65 72 73 69 6f 6e 2d 64 69 73 70 61 74 63 68 27 20 74 72 61 6e 73 69 65 6e ut-conversion-dispatch'.transien
31c00 74 2e 22 0a 20 20 28 63 61 72 20 28 61 6c 69 73 74 2d 67 65 74 20 27 63 61 6c 69 62 72 65 64 62 t."...(car.(alist-get.'calibredb
31c20 2d 65 78 70 6f 72 74 2d 77 69 74 68 6f 75 74 2d 63 6f 6e 76 65 72 73 69 6f 6e 2d 64 69 73 70 61 -export-without-conversion-dispa
31c40 74 63 68 20 74 72 61 6e 73 69 65 6e 74 2d 68 69 73 74 6f 72 79 29 29 29 0a 0a 28 64 65 66 75 6e tch.transient-history)))..(defun
31c60 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 61 72 67 75 6d 65 6e 74 73 20 28 29 0a .calibredb-convert-arguments.().
31c80 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 61 74 65 73 74 20 75 73 65 64 20 61 72 67 75 6d 65 .."Return.the.latest.used.argume
31ca0 6e 74 73 20 69 6e 20 74 68 65 20 60 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f nts.in.the.`calibredb-convert-to
31cc0 2d 65 70 75 62 2d 64 69 73 70 61 74 63 68 27 20 74 72 61 6e 73 69 65 6e 74 2e 22 0a 20 20 28 63 -epub-dispatch'.transient."...(c
31ce0 61 72 20 28 61 6c 69 73 74 2d 67 65 74 20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 ar.(alist-get.'calibredb-convert
31d00 2d 74 6f 2d 65 70 75 62 2d 64 69 73 70 61 74 63 68 20 74 72 61 6e 73 69 65 6e 74 2d 68 69 73 74 -to-epub-dispatch.transient-hist
31d20 6f 72 79 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 61 74 61 6c 6f 67 ory)))..(defun.calibredb-catalog
31d40 2d 62 69 62 2d 61 72 67 75 6d 65 6e 74 73 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 -bib-arguments.()..."Return.the.
31d60 6c 61 74 65 73 74 20 75 73 65 64 20 61 72 67 75 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 60 63 61 latest.used.arguments.in.the.`ca
31d80 6c 69 62 72 65 64 62 2d 63 61 74 61 6c 6f 67 2d 62 69 62 2d 64 69 73 70 61 74 63 68 27 20 74 72 libredb-catalog-bib-dispatch'.tr
31da0 61 6e 73 69 65 6e 74 2e 22 0a 20 20 28 63 61 72 20 28 61 6c 69 73 74 2d 67 65 74 20 27 63 61 6c ansient."...(car.(alist-get.'cal
31dc0 69 62 72 65 64 62 2d 63 61 74 61 6c 6f 67 2d 62 69 62 2d 64 69 73 70 61 74 63 68 20 74 72 61 6e ibredb-catalog-bib-dispatch.tran
31de0 73 69 65 6e 74 2d 68 69 73 74 6f 72 79 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 63 61 6c 69 sient-history)))..(provide.'cali
31e00 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 29 0a 0a 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d bredb-transient)..;;;.calibredb-
31e20 74 72 61 6e 73 69 65 6e 74 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 transient.el.ends.here..........
31e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32000 63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37 30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62 calibredb-20250705.225/calibredb
32020 2d 75 74 69 6c 73 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -utils.el.......................
32040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
32080 30 31 36 32 31 32 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 32 33 32 00 20 30 00 00 00 0162124.00000000000.016232..0...
320a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
320c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
320e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
32120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
32140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
321a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
321c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
321e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32200 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 20 2d 2d 2d 20 55 74 69 6c 73 ;;;.calibredb-utils.el.---.Utils
32220 20 66 6f 72 20 63 61 6c 69 62 72 65 64 62 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 .for.calibredb.-*-.lexical-bindi
32240 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 32 ng:.t;.-*-..;;.Copyright.(C).202
32260 30 20 44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 44 61 6d 6f 6e 20 43 0.Damon.Chan..;;.Author:.Damon.C
32280 68 61 6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a han.<elecming@gmail.com>.;;.URL:
322a0 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 65 6e 79 61 6e 6d 69 6e 67 2f .https://github.com/chenyanming/
322c0 63 61 6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 74 6f 6f 6c 73 0a calibredb.el.;;.Keywords:.tools.
322e0 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 4e 4f 54 20 70 61 72 74 20 6f 66 20 47 4e 55 .;;.This.file.is.NOT.part.of.GNU
32300 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 .Emacs...;;.This.program.is.free
32320 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 .software;.you.can.redistribute.
32340 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 it.and/or.modify.;;.it.under.the
32360 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 .terms.of.the.GNU.General.Public
32380 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 .License.as.published.by.;;.the.
323a0 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 Free.Software.Foundation,.either
323c0 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b .version.3.of.the.License,.or.;;
323e0 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 .(at.your.option).any.later.vers
32400 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 ion...;;.This.program.is.distrib
32420 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 uted.in.the.hope.that.it.will.be
32440 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 .useful,.;;.but.WITHOUT.ANY.WARR
32460 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 ANTY;.without.even.the.implied.w
32480 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 arranty.of.;;.MERCHANTABILITY.or
324a0 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 .FITNESS.FOR.A.PARTICULAR.PURPOS
324c0 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 E...See.the.;;.GNU.General.Publi
324e0 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 c.License.for.more.details...;;.
32500 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 You.should.have.received.a.copy.
32520 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 of.the.GNU.General.Public.Licens
32540 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 e.;;.along.with.this.program...I
32560 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f f.not,.see.<https://www.gnu.org/
32580 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b licenses/>...;;;.Commentary:..;;
325a0 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f 72 ;.Code:..(require.'calibredb-cor
325c0 65 29 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 29 0a 28 e).(require.'calibredb-search).(
325e0 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 0a 28 72 65 71 75 69 require.'calibredb-faces).(requi
32600 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 29 0a 28 72 65 71 75 69 72 65 20 27 63 61 re.'calibredb-show).(require.'ca
32620 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 29 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c libredb-transient).(require.'cal
32640 69 62 72 65 64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 29 0a 0a 28 65 76 61 6c 2d 77 68 65 6e 2d 63 ibredb-annotation)..(eval-when-c
32660 6f 6d 70 69 6c 65 20 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 69 6d 61 67 65 73 2d ompile.(defvar.calibredb-images-
32680 70 61 74 68 29 29 0a 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 20 28 64 65 66 76 61 path)).(eval-when-compile.(defva
326a0 72 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 64 6f 77 6e 6c 6f 61 64 2d 64 69 72 29 29 0a r.calibredb-opds-download-dir)).
326c0 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 ..(declare-function.calibredb-se
326e0 61 72 63 68 2d 62 75 66 66 65 72 20 22 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2e 65 6c arch-buffer."calibredb-search.el
32700 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 64 ").(declare-function.calibredb-d
32720 65 74 61 69 6c 65 64 2d 76 69 65 77 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 22 63 61 6c 69 62 etailed-view-insert-image."calib
32740 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f redb-utils.el").(declare-functio
32760 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 20 22 63 61 6c 69 62 72 65 n.calibredb-search-mode."calibre
32780 64 62 2d 73 65 61 72 63 68 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e db-search.el").(declare-function
327a0 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 22 .calibredb-search--buffer-name."
327c0 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 calibredb-search.el").(declare-f
327e0 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 75 6e 73 65 6c 2d 61 64 64 2d 66 69 unction.calibredb-counsel-add-fi
32800 6c 65 2d 61 63 74 69 6f 6e 20 22 63 61 6c 69 62 72 65 64 62 2d 69 76 79 2e 65 6c 22 29 0a 28 64 le-action."calibredb-ivy.el").(d
32820 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 eclare-function.calibredb-search
32840 2d 72 65 66 72 65 73 68 2d 6f 72 2d 72 65 73 75 6d 65 20 22 63 61 6c 69 62 72 65 64 62 2d 73 65 -refresh-or-resume."calibredb-se
32860 61 72 63 68 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 arch.el").(declare-function.cali
32880 62 72 65 64 62 2d 73 68 6f 77 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 22 63 61 6c 69 62 72 65 bredb-show--buffer-name."calibre
328a0 64 62 2d 73 68 6f 77 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 db-show.el").(declare-function.c
328c0 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 20 22 63 61 6c 69 62 72 65 alibredb-search-refresh."calibre
328e0 64 62 2d 73 65 61 72 63 68 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e db-search.el").(declare-function
32900 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 72 65 66 72 65 73 68 20 22 63 61 6c 69 62 72 65 .calibredb-show-refresh."calibre
32920 64 62 2d 73 68 6f 77 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 db-show.el").(declare-function.c
32940 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 61 72 67 75 6d 65 6e 74 73 20 alibredb-set-metadata-arguments.
32960 22 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2e 65 6c 22 29 0a 28 64 65 63 6c 61 "calibredb-transient.el").(decla
32980 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72 74 2d 61 72 67 re-function.calibredb-export-arg
329a0 75 6d 65 6e 74 73 20 22 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2e 65 6c 22 29 uments."calibredb-transient.el")
329c0 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 61 74 .(declare-function.calibredb-cat
329e0 61 6c 6f 67 2d 62 69 62 2d 61 72 67 75 6d 65 6e 74 73 20 22 63 61 6c 69 62 72 65 64 62 2d 74 72 alog-bib-arguments."calibredb-tr
32a00 61 6e 73 69 65 6e 74 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 ansient.el").(declare-function.c
32a20 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 64 6f 77 6e 6c 6f 61 64 20 22 63 61 6c 69 62 72 65 64 alibredb-opds-download."calibred
32a40 62 2d 6f 70 64 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 b-opds.el").(declare-function.ca
32a60 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 72 65 71 75 65 73 74 2d 70 61 67 65 20 22 63 61 6c 69 62 libredb-opds-request-page."calib
32a80 72 65 64 62 2d 6f 70 64 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e redb-opds.el").(declare-function
32aa0 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 73 65 61 72 63 68 20 22 63 61 6c 69 62 72 65 64 .calibredb-opds-search."calibred
32ac0 62 2d 6f 70 64 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 b-opds.el").(declare-function.ca
32ae0 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 6d 61 69 6c 63 61 70 2d 6d 69 6d 65 2d 74 6f 2d 65 78 74 libredb-opds-mailcap-mime-to-ext
32b00 6e 20 22 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d n."calibredb-opds.el").(declare-
32b20 66 75 6e 63 74 69 6f 6e 20 70 64 66 2d 69 6e 66 6f 2d 73 65 61 72 63 68 2d 73 74 72 69 6e 67 20 function.pdf-info-search-string.
32b40 22 70 64 66 2d 69 6e 66 6f 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 70 64 "pdf-info").(declare-function.pd
32b60 66 2d 69 6e 66 6f 2d 67 65 74 74 65 78 74 20 22 70 64 66 2d 69 6e 66 6f 22 29 0a 28 64 65 63 6c f-info-gettext."pdf-info").(decl
32b80 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 64 6a 76 75 2d 66 69 6e 64 2d 66 69 6c 65 20 22 64 6a 76 are-function.djvu-find-file."djv
32ba0 75 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 64 6a 76 75 2d 67 6f 74 6f 2d u").(declare-function.djvu-goto-
32bc0 70 61 67 65 20 22 64 6a 76 75 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 64 page."djvu").(declare-function.d
32be0 6a 76 75 2d 6e 65 78 74 2d 70 61 67 65 20 22 64 6a 76 75 22 29 0a 0a 28 64 65 66 76 61 72 20 64 jvu-next-page."djvu")..(defvar.d
32c00 6a 76 75 2d 64 6f 63 2d 70 61 67 65 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 jvu-doc-page)..;;;###autoload.(d
32c20 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 73 74 20 28 29 0a 20 20 22 47 65 6e 65 72 61 efun.calibredb-list.()..."Genera
32c40 74 65 20 61 6e 20 6f 72 67 20 62 75 66 66 65 72 20 77 68 69 63 68 20 63 6f 6e 74 61 69 6e 20 61 te.an.org.buffer.which.contain.a
32c60 6c 6c 20 65 62 6f 6f 6b 73 27 20 63 6f 76 65 72 20 69 6d 61 67 65 2c 20 74 69 74 6c 65 20 61 6e ll.ebooks'.cover.image,.title.an
32c80 64 20 74 68 65 20 66 69 6c 65 20 6c 69 6e 6b 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 d.the.file.link."...(interactive
32ca0 29 0a 20 20 28 6c 65 74 2a 20 28 28 62 75 66 2d 6e 61 6d 65 20 22 2a 63 61 6c 69 62 72 65 64 62 )...(let*.((buf-name."*calibredb
32cc0 2d 6c 69 73 74 2a 22 29 0a 20 20 20 20 20 20 20 20 20 6f 63 63 75 72 2d 62 75 66 29 0a 20 20 20 -list*")..........occur-buf)....
32ce0 20 28 77 68 65 6e 20 28 67 65 74 2d 62 75 66 66 65 72 20 62 75 66 2d 6e 61 6d 65 29 0a 20 20 20 .(when.(get-buffer.buf-name)....
32d00 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 62 75 66 2d 6e 61 6d 65 29 29 0a 20 20 20 20 28 ...(kill-buffer.buf-name)).....(
32d20 73 65 74 71 20 6f 63 63 75 72 2d 62 75 66 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 setq.occur-buf.(get-buffer-creat
32d40 65 20 62 75 66 2d 6e 61 6d 65 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 72 65 73 2d 6c 69 73 74 e.buf-name)).....(let.((res-list
32d60 20 28 63 61 6c 69 62 72 65 64 62 2d 63 61 6e 64 69 64 61 74 65 73 29 29 29 0a 20 20 20 20 20 20 .(calibredb-candidates))).......
32d80 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 6f 63 63 75 72 2d 62 75 66 0a 20 (with-current-buffer.occur-buf..
32da0 20 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 28 69 .......(erase-buffer).........(i
32dc0 6e 73 65 72 74 20 22 23 2b 53 54 41 52 54 55 50 3a 20 69 6e 6c 69 6e 65 69 6d 61 67 65 73 20 6e nsert."#+STARTUP:.inlineimages.n
32de0 6f 66 6f 6c 64 22 29 29 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 72 65 73 20 72 65 73 2d ofold")).......(dolist.(res.res-
32e00 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 76 65 72 20 28 63 6f 6e 63 list).........(let.((cover.(conc
32e20 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 28 63 61 6c 69 62 72 65 at.(file-name-directory.(calibre
32e40 64 62 2d 67 65 74 61 74 74 72 20 28 63 64 72 20 72 65 73 29 20 3a 66 69 6c 65 2d 70 61 74 68 29 db-getattr.(cdr.res).:file-path)
32e60 29 20 22 63 6f 76 65 72 2e 6a 70 67 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 )."cover.jpg"))...............(t
32e80 69 74 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 63 64 72 20 72 65 73 itle.(calibredb-getattr.(cdr.res
32ea0 29 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 ).:book-title))...............(f
32ec0 6f 72 6d 61 74 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 63 64 72 20 72 65 ormat.(calibredb-getattr.(cdr.re
32ee0 73 29 20 3a 62 6f 6f 6b 2d 66 6f 72 6d 61 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s).:book-format))...............
32f00 28 62 6f 6f 6b 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 63 64 72 20 72 65 (book.(calibredb-getattr.(cdr.re
32f20 73 29 20 3a 66 69 6c 65 2d 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 s).:file-path)))...........(if.(
32f40 69 6d 61 67 65 2d 74 79 70 65 2d 61 76 61 69 6c 61 62 6c 65 2d 70 20 28 69 6e 74 65 72 6e 20 66 image-type-available-p.(intern.f
32f60 6f 72 6d 61 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 6f 76 65 ormat))...............(setq.cove
32f80 72 20 62 6f 6f 6b 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 r.book))...........(with-current
32fa0 2d 62 75 66 66 65 72 20 6f 63 63 75 72 2d 62 75 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 -buffer.occur-buf.............(w
32fc0 68 65 6e 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 63 6f 76 65 72 29 0a 20 20 20 20 20 20 hen.(file-exists-p.cover).......
32fe0 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 ........(insert."\n")...........
33000 20 20 20 20 28 69 6e 73 65 72 74 20 22 23 2b 61 74 74 72 5f 6f 72 67 3a 20 3a 77 69 64 74 68 20 ....(insert."#+attr_org:.:width.
33020 32 30 30 70 78 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 200px\n")...............(insert.
33040 22 5b 5b 66 69 6c 65 3a 22 20 63 6f 76 65 72 20 22 5d 5d 22 29 29 0a 20 20 20 20 20 20 20 20 20 "[[file:".cover."]]"))..........
33060 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e ...(insert."\n").............(in
33080 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 5b 5b 66 69 6c 65 3a 25 73 5d 5b 25 73 5d 5d 22 20 62 sert.(format."[[file:%s][%s]]".b
330a0 6f 6f 6b 20 74 69 74 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 ook.title)).............(insert.
330c0 22 5c 6e 22 29 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 62 75 66 66 65 72 2d 6c 69 76 65 "\n"))))).....(when.(buffer-live
330e0 2d 70 20 6f 63 63 75 72 2d 62 75 66 29 0a 20 20 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 -p.occur-buf).......(switch-to-b
33100 75 66 66 65 72 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 6f 63 63 75 72 2d 62 75 66 29 0a 20 20 uffer-other-window.occur-buf)...
33120 20 20 20 20 28 72 65 61 64 2d 6f 6e 6c 79 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 ....(read-only-mode).......(unle
33140 73 73 20 28 66 65 61 74 75 72 65 70 20 27 6f 72 67 29 0a 20 20 20 20 20 20 20 20 28 72 65 71 75 ss.(featurep.'org).........(requ
33160 69 72 65 20 27 6f 72 67 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6f ire.'org)).......(if.(fboundp.'o
33180 72 67 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 6d 6f 64 65 29 29 0a 20 rg-mode)...........(org-mode))..
331a0 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 29 29 0a .....(goto-char.(point-min))))).
331c0 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 65 6e 2d 77 69 74 68 2d 64 65 66 61 .(defun.calibredb-open-with-defa
331e0 75 6c 74 2d 74 6f 6f 6c 20 28 66 69 6c 65 70 61 74 68 29 0a 20 20 22 54 4f 44 4f 3a 20 63 6f 6e ult-tool.(filepath)..."TODO:.con
33200 73 6f 6c 69 64 61 74 65 20 64 65 66 61 75 6c 74 2d 6f 70 65 6e 65 72 20 77 69 74 68 20 64 69 73 solidate.default-opener.with.dis
33220 70 61 74 63 68 65 72 2e 0a 41 72 67 75 6d 65 6e 74 20 46 49 4c 45 50 41 54 48 20 69 73 20 74 68 patcher..Argument.FILEPATH.is.th
33240 65 20 66 69 6c 65 20 70 61 74 68 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 65 71 20 73 79 73 74 65 e.file.path."...(cond.((eq.syste
33260 6d 2d 74 79 70 65 20 27 67 6e 75 2f 6c 69 6e 75 78 29 0a 20 20 20 20 20 20 20 20 20 28 63 61 6c m-type.'gnu/linux)..........(cal
33280 6c 2d 70 72 6f 63 65 73 73 20 22 78 64 67 2d 6f 70 65 6e 22 20 6e 69 6c 20 30 20 6e 69 6c 20 28 l-process."xdg-open".nil.0.nil.(
332a0 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 70 61 74 68 29 29 29 0a 20 20 20 expand-file-name.filepath)))....
332c0 20 20 20 20 20 28 28 65 71 20 73 79 73 74 65 6d 2d 74 79 70 65 20 27 77 69 6e 64 6f 77 73 2d 6e .....((eq.system-type.'windows-n
332e0 74 29 0a 20 20 20 20 20 20 20 20 20 28 77 33 32 2d 73 68 65 6c 6c 2d 65 78 65 63 75 74 65 20 22 t)..........(w32-shell-execute."
33300 6f 70 65 6e 22 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 70 61 74 68 open".(expand-file-name.filepath
33320 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 65 71 20 73 79 73 74 65 6d 2d 74 79 70 65 20 27 64 61 ))).........((eq.system-type.'da
33340 72 77 69 6e 29 0a 20 20 20 20 20 20 20 20 20 28 73 74 61 72 74 2d 70 72 6f 63 65 73 73 20 22 73 rwin)..........(start-process."s
33360 68 65 6c 6c 2d 70 72 6f 63 65 73 73 22 20 22 2a 4d 65 73 73 61 67 65 73 2a 22 0a 20 20 20 20 20 hell-process"."*Messages*"......
33380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6f 70 65 6e 22 20 28 65 78 70 61 6e ..................."open".(expan
333a0 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 d-file-name.filepath))).........
333c0 28 74 20 28 6d 65 73 73 61 67 65 20 22 75 6e 6b 6e 6f 77 6e 20 73 79 73 74 65 6d 21 3f 22 29 29 (t.(message."unknown.system!?"))
333e0 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 73 74 2d 65 62 6f 6f 6b 73 ))..(defun.calibredb-list-ebooks
33400 2d 66 69 6c 65 73 20 28 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 2d 65 78 74 65 6e 73 69 6f 6e -files.(directory.file-extension
33420 73 29 0a 20 20 22 52 65 63 75 72 73 69 76 65 6c 79 20 6c 69 73 74 20 61 6c 6c 20 65 62 6f 6f 6b s)..."Recursively.list.all.ebook
33440 20 66 69 6c 65 73 20 77 69 74 68 20 46 49 4c 45 2d 45 58 54 45 4e 53 49 4f 4e 53 20 69 6e 20 44 .files.with.FILE-EXTENSIONS.in.D
33460 49 52 45 43 54 4f 52 59 2e 0a 46 49 4c 45 2d 45 58 54 45 4e 53 49 4f 4e 53 20 73 68 6f 75 6c 64 IRECTORY..FILE-EXTENSIONS.should
33480 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 73 74 72 69 6e 67 73 2e 22 0a 20 20 28 6c 65 74 2a 20 .be.a.list.of.strings."...(let*.
334a0 28 28 72 65 67 65 78 20 28 66 6f 72 6d 61 74 20 22 5c 5c 2e 25 73 5c 5c 27 22 20 28 72 65 67 65 ((regex.(format."\\.%s\\'".(rege
334c0 78 70 2d 6f 70 74 20 66 69 6c 65 2d 65 78 74 65 6e 73 69 6f 6e 73 29 29 29 0a 20 20 20 20 20 20 xp-opt.file-extensions))).......
334e0 20 20 20 28 66 69 6c 65 73 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 2d 72 65 63 75 72 ...(files.(directory-files-recur
33500 73 69 76 65 6c 79 20 64 69 72 65 63 74 6f 72 79 20 72 65 67 65 78 20 74 29 29 29 0a 20 20 20 20 sively.directory.regex.t))).....
33520 28 63 6f 6e 64 20 28 28 3e 20 28 6c 65 6e 67 74 68 20 66 69 6c 65 73 29 20 30 29 0a 20 20 20 20 (cond.((>.(length.files).0).....
33540 20 20 20 20 20 20 20 66 69 6c 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 20 28 65 72 72 6f .......files)...........(t.(erro
33560 72 20 22 4e 6f 20 45 62 6f 6f 6b 73 20 66 6f 75 6e 64 20 69 6e 20 25 73 22 20 64 69 72 65 63 74 r."No.Ebooks.found.in.%s".direct
33580 6f 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 29 29 29 29 0a 0a 28 64 65 66 75 ory)..............nil))))..(defu
335a0 6e 20 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 66 69 6c 65 2d 70 61 74 68 20 28 65 6e 74 72 79 n.calibredb-get-file-path.(entry
335c0 20 26 6f 70 74 69 6f 6e 61 6c 20 70 72 6f 6d 70 74 29 0a 20 20 22 47 65 74 20 66 69 6c 65 20 70 .&optional.prompt)..."Get.file.p
335e0 61 74 68 20 66 72 6f 6d 20 61 20 76 61 6c 69 64 20 63 61 6e 64 69 64 61 74 65 20 45 4e 54 52 59 ath.from.a.valid.candidate.ENTRY
33600 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 50 52 4f 4d 50 54 20 74 6f 20 53 65 ..Optional.argument.PROMPT.to.Se
33620 6c 65 63 74 20 61 20 66 6f 72 6d 61 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 2d 70 61 lect.a.format."...(let.((file-pa
33640 74 68 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 65 6e 74 72 79 20 3a 66 69 6c th.(calibredb-getattr.entry.:fil
33660 65 2d 70 61 74 68 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 73 2d 65 71 75 61 6c 73 3f 20 e-path))).....(cond.((s-equals?.
33680 22 22 20 66 69 6c 65 2d 70 61 74 68 29 20 22 22 29 20 20 20 20 20 20 20 20 20 3b 20 6e 6f 20 66 "".file-path)."").........;.no.f
336a0 69 6c 65 2d 70 61 74 68 20 66 69 65 6c 64 0a 20 20 20 20 20 20 20 20 20 20 28 28 66 69 6c 65 2d ile-path.field...........((file-
336c0 65 78 69 73 74 73 2d 70 20 66 69 6c 65 2d 70 61 74 68 29 20 66 69 6c 65 2d 70 61 74 68 29 20 3b exists-p.file-path).file-path).;
336e0 20 64 65 66 61 75 6c 74 20 66 69 6c 65 2d 70 61 74 68 20 69 73 20 61 20 76 61 6c 69 64 20 66 69 .default.file-path.is.a.valid.fi
33700 6c 65 0a 20 20 20 20 20 20 20 20 20 20 28 28 63 61 6c 69 62 72 65 64 62 2d 6c 6f 63 61 6c 2d 66 le...........((calibredb-local-f
33720 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 65 6e 74 72 79 29 20 28 63 61 6c 69 62 72 65 64 62 2d 6c ile-exists-p.entry).(calibredb-l
33740 6f 63 61 6c 2d 66 69 6c 65 20 65 6e 74 72 79 29 29 20 3b 20 76 61 6c 69 64 20 6c 6f 63 61 6c 20 ocal-file.entry)).;.valid.local.
33760 66 69 6c 65 20 69 73 20 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 file.is.found...........((string
33780 2d 70 72 65 66 69 78 2d 70 20 22 68 74 74 70 22 20 66 69 6c 65 2d 70 61 74 68 29 20 66 69 6c 65 -prefix-p."http".file-path).file
337a0 2d 70 61 74 68 29 20 3b 20 66 6f 72 20 68 74 74 70 20 6c 69 6e 6b 2c 20 6a 75 73 74 20 72 65 74 -path).;.for.http.link,.just.ret
337c0 75 72 6e 0a 20 20 20 20 20 20 20 20 20 20 28 74 20 28 69 66 20 28 73 2d 63 6f 6e 74 61 69 6e 73 urn...........(t.(if.(s-contains
337e0 3f 20 22 2c 22 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 20 66 69 6c 65 2d ?.",".(file-name-extension.file-
33800 70 61 74 68 29 29 20 3b 20 74 72 79 20 74 6f 20 73 70 6c 69 74 20 74 68 65 20 65 78 74 65 6e 73 path)).;.try.to.split.the.extens
33820 69 6f 6e 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 74 20 6d 61 79 20 62 65 20 65 70 75 62 ion.(for.example,.it.may.be.epub
33840 2c 70 64 66 29 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 61 ,pdf).and.return.the.first.forma
33860 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 70 61 72 65 6e t..................(let*.((paren
33880 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 2d 70 61 74 68 t.(file-name-directory.file-path
338a0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 )).........................(file
338c0 6e 61 6d 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 62 61 73 65 20 66 69 6c 65 2d 70 61 74 68 29 29 name.(file-name-base.file-path))
338e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 74 20 28 73 .........................(ext.(s
33900 2d 73 70 6c 69 74 20 22 2c 22 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 20 -split.",".(file-name-extension.
33920 66 69 6c 65 2d 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 file-path)))....................
33940 20 20 20 20 20 28 66 69 6c 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d 6c 69 73 74 2d 65 62 6f 6f .....(files.(calibredb-list-eboo
33960 6b 73 2d 66 69 6c 65 73 20 70 61 72 65 6e 74 20 65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 ks-files.parent.ext)))..........
33980 20 20 20 20 20 20 20 20 20 20 28 69 66 20 63 61 6c 69 62 72 65 64 62 2d 70 72 65 66 65 72 72 65 ..........(if.calibredb-preferre
339a0 64 2d 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d-format........................
339c0 28 6c 65 74 20 28 28 70 72 65 66 65 72 72 65 64 2d 66 69 6c 65 73 20 28 2d 66 69 6c 74 65 72 20 (let.((preferred-files.(-filter.
339e0 28 6c 61 6d 62 64 61 20 28 66 29 20 28 73 74 72 69 6e 67 3d 20 28 66 69 6c 65 2d 6e 61 6d 65 2d (lambda.(f).(string=.(file-name-
33a00 65 78 74 65 6e 73 69 6f 6e 20 66 29 20 63 61 6c 69 62 72 65 64 62 2d 70 72 65 66 65 72 72 65 64 extension.f).calibredb-preferred
33a20 2d 66 6f 72 6d 61 74 29 29 20 66 69 6c 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -format)).files)))..............
33a40 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 3e 20 28 6c 65 6e 67 74 68 20 70 72 ............(cond.((>.(length.pr
33a60 65 66 65 72 72 65 64 2d 66 69 6c 65 73 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eferred-files).1)...............
33a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 ..................(completing-re
33aa0 61 64 20 28 66 6f 72 6d 61 74 20 22 53 65 6c 65 63 74 20 61 20 66 69 6c 65 20 28 25 73 29 3a 20 ad.(format."Select.a.file.(%s):.
33ac0 22 20 63 61 6c 69 62 72 65 64 62 2d 70 72 65 66 65 72 72 65 64 2d 66 6f 72 6d 61 74 29 20 70 72 ".calibredb-preferred-format).pr
33ae0 65 66 65 72 72 65 64 2d 66 69 6c 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eferred-files)).................
33b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 28 6c 65 6e 67 74 68 20 70 72 65 66 65 ...............((=.(length.prefe
33b20 72 72 65 64 2d 66 69 6c 65 73 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rred-files).1)..................
33b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 72 20 70 72 65 66 65 72 72 65 64 2d 66 69 ...............(car.preferred-fi
33b60 6c 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 les))...........................
33b80 20 20 20 20 20 28 74 20 28 63 61 72 20 66 69 6c 65 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 .....(t.(car.files))))..........
33ba0 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 70 72 6f 6d 70 74 0a 20 20 20 20 20 20 20 20 20 ............(if.prompt..........
33bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 ................(completing-read
33be0 20 28 66 6f 72 6d 61 74 20 22 53 65 6c 65 63 74 20 61 20 66 69 6c 65 20 25 73 3a 20 22 20 65 78 .(format."Select.a.file.%s:.".ex
33c00 74 29 20 66 69 6c 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t).files).......................
33c20 20 28 63 61 72 20 66 69 6c 65 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 .(car.files))))................f
33c40 69 6c 65 2d 70 61 74 68 29 29 29 29 29 20 20 20 20 20 20 20 20 20 20 20 3b 20 69 66 20 65 78 74 ile-path)))))...........;.if.ext
33c60 65 6e 73 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 63 6f 6d 6d 61 2c 20 61 74 20 6c ension.does.not.have.comma,.at.l
33c80 61 73 74 20 6a 75 73 74 20 72 65 74 72 75 6e 20 69 74 2e 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 ast.just.retrun.it...(defun.cali
33ca0 62 72 65 64 62 2d 6c 6f 63 61 6c 2d 66 69 6c 65 20 28 65 6e 74 72 79 29 0a 20 20 22 47 65 74 20 bredb-local-file.(entry)..."Get.
33cc0 74 68 65 20 6c 6f 63 61 6c 20 62 6f 6f 6b 20 66 69 6c 65 20 62 61 73 65 64 20 6f 6e 20 45 4e 54 the.local.book.file.based.on.ENT
33ce0 52 59 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 62 6f 6f 6b 2d 74 69 74 6c 65 20 28 63 61 6c 69 62 RY."...(let*.((book-title.(calib
33d00 72 65 64 62 2d 67 65 74 61 74 74 72 20 65 6e 74 72 79 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 redb-getattr.entry.:book-title))
33d20 0a 20 20 20 20 20 20 20 20 20 28 62 6f 6f 6b 2d 66 6f 72 6d 61 74 20 28 63 61 6c 69 62 72 65 64 ..........(book-format.(calibred
33d40 62 2d 67 65 74 61 74 74 72 20 65 6e 74 72 79 20 3a 62 6f 6f 6b 2d 66 6f 72 6d 61 74 29 29 0a 20 b-getattr.entry.:book-format))..
33d60 20 20 20 20 20 20 20 20 28 6c 6f 63 61 6c 2d 66 69 6c 65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 ........(local-file.(expand-file
33d80 2d 6e 61 6d 65 20 28 66 6f 72 6d 61 74 20 22 25 73 25 73 22 20 62 6f 6f 6b 2d 74 69 74 6c 65 20 -name.(format."%s%s".book-title.
33da0 28 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 6d 61 69 6c 63 61 70 2d 6d 69 6d 65 2d 74 6f 2d (calibredb-opds-mailcap-mime-to-
33dc0 65 78 74 6e 20 62 6f 6f 6b 2d 66 6f 72 6d 61 74 29 29 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 extn.book-format)).calibredb-opd
33de0 73 2d 64 6f 77 6e 6c 6f 61 64 2d 64 69 72 29 29 29 0a 20 20 20 20 6c 6f 63 61 6c 2d 66 69 6c 65 s-download-dir))).....local-file
33e00 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6c 6f 63 61 6c 2d 66 69 6c 65 2d ))..(defun.calibredb-local-file-
33e20 65 78 69 73 74 73 2d 70 20 28 65 6e 74 72 79 29 0a 20 20 22 43 68 65 63 6b 20 6c 6f 63 61 6c 20 exists-p.(entry)..."Check.local.
33e40 62 6f 6f 6b 20 66 69 6c 65 20 65 78 69 73 74 73 20 6f 72 20 6e 6f 74 20 62 61 73 65 64 20 6f 6e book.file.exists.or.not.based.on
33e60 20 45 4e 54 52 59 2e 22 0a 20 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 28 63 61 6c 69 62 .ENTRY."...(file-exists-p.(calib
33e80 72 65 64 62 2d 6c 6f 63 61 6c 2d 66 69 6c 65 20 65 6e 74 72 79 29 29 29 0a 0a 28 64 65 66 75 6e redb-local-file.entry)))..(defun
33ea0 20 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 63 6f 76 65 72 20 28 65 6e 74 72 79 29 0a 20 20 22 .calibredb-get-cover.(entry)..."
33ec0 47 65 74 20 63 6f 76 65 72 20 70 61 74 68 20 62 61 73 65 64 20 6f 6e 20 45 4e 54 52 59 2e 0a 44 Get.cover.path.based.on.ENTRY..D
33ee0 6f 77 6e 6c 6f 61 64 20 69 74 20 69 66 20 62 6f 6f 6b 2d 63 6f 76 65 72 20 69 73 20 6e 6f 6e 2d ownload.it.if.book-cover.is.non-
33f00 6e 69 6c 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 2d 70 61 74 68 20 28 63 61 6c 69 62 72 nil."...(let.((file-path.(calibr
33f20 65 64 62 2d 67 65 74 61 74 74 72 20 65 6e 74 72 79 20 3a 66 69 6c 65 2d 70 61 74 68 29 29 0a 20 edb-getattr.entry.:file-path))..
33f40 20 20 20 20 20 20 20 28 62 6f 6f 6b 2d 66 6f 72 6d 61 74 20 28 63 61 6c 69 62 72 65 64 62 2d 67 .......(book-format.(calibredb-g
33f60 65 74 61 74 74 72 20 65 6e 74 72 79 20 3a 62 6f 6f 6b 2d 66 6f 72 6d 61 74 29 29 0a 20 20 20 20 etattr.entry.:book-format)).....
33f80 20 20 20 20 28 62 6f 6f 6b 2d 63 6f 76 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 ....(book-cover.(calibredb-getat
33fa0 74 72 20 65 6e 74 72 79 20 3a 62 6f 6f 6b 2d 63 6f 76 65 72 29 29 29 0a 20 20 20 20 3b 3b 20 28 tr.entry.:book-cover))).....;;.(
33fc0 70 70 20 62 6f 6f 6b 2d 63 6f 76 65 72 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 69 6d 61 67 65 pp.book-cover).....(cond.((image
33fe0 2d 74 79 70 65 2d 61 76 61 69 6c 61 62 6c 65 2d 70 20 28 69 6e 74 65 72 6e 20 62 6f 6f 6b 2d 66 -type-available-p.(intern.book-f
34000 6f 72 6d 61 74 29 29 20 66 69 6c 65 2d 70 61 74 68 29 20 3b 20 74 68 65 20 66 69 6c 65 20 69 73 ormat)).file-path).;.the.file.is
34020 20 61 6e 20 69 6d 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 28 28 66 69 6c 65 2d 65 78 69 73 74 .an.image...........((file-exist
34040 73 2d 70 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 s-p.(concat.(file-name-directory
34060 20 66 69 6c 65 2d 70 61 74 68 29 20 22 63 6f 76 65 72 2e 6a 70 67 22 29 29 0a 20 20 20 20 20 20 .file-path)."cover.jpg")).......
34080 20 20 20 20 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 .....(concat.(file-name-director
340a0 79 20 66 69 6c 65 2d 70 61 74 68 29 20 22 63 6f 76 65 72 2e 6a 70 67 22 29 29 20 3b 20 63 6f 76 y.file-path)."cover.jpg")).;.cov
340c0 65 72 2e 6a 70 67 20 65 78 69 73 74 73 0a 20 20 20 20 20 20 20 20 20 20 28 28 66 69 6c 65 2d 65 er.jpg.exists...........((file-e
340e0 78 69 73 74 73 2d 70 20 28 63 61 6c 69 62 72 65 64 62 2d 69 6e 66 69 6c 65 2d 63 6f 76 65 72 2d xists-p.(calibredb-infile-cover-
34100 70 61 74 68 20 66 69 6c 65 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c path.file-path))............(cal
34120 69 62 72 65 64 62 2d 69 6e 66 69 6c 65 2d 63 6f 76 65 72 2d 70 61 74 68 20 66 69 6c 65 2d 70 61 ibredb-infile-cover-path.file-pa
34140 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 62 6f 6f 6b 2d 63 6f 76 65 72 29 th))...........((not.book-cover)
34160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
34180 20 20 20 20 20 20 3b 20 62 6f 6f 6b 2d 63 6f 76 65 72 20 69 73 20 6e 69 6c 2c 20 75 73 65 20 64 ......;.book-cover.is.nil,.use.d
341a0 65 66 61 75 6c 74 20 63 6f 76 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 66 69 72 73 74 efault.cover............;;.first
341c0 20 74 72 79 20 74 6f 20 65 78 74 72 61 63 74 20 63 6f 76 65 72 20 66 72 6f 6d 20 74 68 65 20 66 .try.to.extract.cover.from.the.f
341e0 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 6e 66 69 6c 65 2d 63 6f 76 ile............(let.((infile-cov
34200 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 69 6e 66 69 6c 65 2d 63 6f 76 65 72 2d 70 61 74 68 20 er.(calibredb-infile-cover-path.
34220 66 69 6c 65 2d 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 file-path)))..............(calib
34240 72 65 64 62 2d 65 78 74 72 61 63 74 2d 63 6f 76 65 72 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 redb-extract-cover.entry).......
34260 20 20 20 20 20 20 20 28 69 66 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 69 6e 66 69 6c 65 .......(if.(file-exists-p.infile
34280 2d 63 6f 76 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 66 69 6c 65 2d -cover)..................infile-
342a0 63 6f 76 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c cover................(expand-fil
342c0 65 2d 6e 61 6d 65 20 22 63 6f 76 65 72 2e 6a 70 67 22 20 63 61 6c 69 62 72 65 64 62 2d 69 6d 61 e-name."cover.jpg".calibredb-ima
342e0 67 65 73 2d 70 61 74 68 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 73 2d 63 6f 6e 74 61 ges-path))))...........((s-conta
34300 69 6e 73 3f 20 22 62 61 73 65 36 34 22 20 62 6f 6f 6b 2d 63 6f 76 65 72 29 0a 20 20 20 20 20 20 ins?."base64".book-cover).......
34320 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 64 61 74 61 3a 69 6d 61 .....(if.(string-match."data:ima
34340 67 65 2f 5c 5c 28 2e 2a 5c 5c 29 3b 62 61 73 65 36 34 2c 5c 5c 28 2e 2a 5c 5c 29 22 20 62 6f 6f ge/\\(.*\\);base64,\\(.*\\)".boo
34360 6b 2d 63 6f 76 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 k-cover)................(let.((c
34380 6f 76 65 72 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 66 6f 72 6d 61 74 20 22 over.(expand-file-name.(format."
343a0 63 6f 76 65 72 2e 25 73 22 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 62 6f 6f 6b 2d 63 cover.%s".(match-string.1.book-c
343c0 6f 76 65 72 29 29 20 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 29 over)).temporary-file-directory)
343e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e ))..................(with-curren
34400 74 2d 62 75 66 66 65 72 20 28 67 65 6e 65 72 61 74 65 2d 6e 65 77 2d 62 75 66 66 65 72 20 22 20 t-buffer.(generate-new-buffer.".
34420 2a 74 65 6d 70 2a 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 *temp*")....................(ins
34440 65 72 74 20 28 62 61 73 65 36 34 2d 64 65 63 6f 64 65 2d 73 74 72 69 6e 67 20 28 6d 61 74 63 68 ert.(base64-decode-string.(match
34460 2d 73 74 72 69 6e 67 20 32 20 62 6f 6f 6b 2d 63 6f 76 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 -string.2.book-cover))).........
34480 20 20 20 20 20 20 20 20 20 20 20 28 77 72 69 74 65 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d ...........(write-region.(point-
344a0 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 63 6f 76 65 72 29 29 0a 20 20 20 20 20 20 20 min).(point-max).cover))........
344c0 20 20 20 20 20 20 20 20 20 20 63 6f 76 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 ..........cover)..............(e
344e0 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 63 6f 76 65 72 2e 6a 70 67 22 20 63 61 6c 69 xpand-file-name."cover.jpg".cali
34500 62 72 65 64 62 2d 69 6d 61 67 65 73 2d 70 61 74 68 29 29 29 20 3b 20 54 4f 44 4f 3a 20 68 61 6e bredb-images-path))).;.TODO:.han
34520 64 6c 65 20 62 61 73 65 36 34 20 63 6f 76 65 72 20 69 6d 61 67 65 73 0a 20 20 20 20 20 20 20 20 dle.base64.cover.images.........
34540 20 20 28 28 6e 6f 74 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 22 62 61 73 65 36 34 22 20 62 6f ..((not.(s-contains?."base64".bo
34560 6f 6b 2d 63 6f 76 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6c 69 ok-cover))............(let*.((li
34580 62 72 61 72 79 20 28 2d 66 69 72 73 74 20 28 6c 61 6d 62 64 61 20 28 6c 69 62 29 0a 20 20 20 20 brary.(-first.(lambda.(lib).....
345a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
345c0 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f .(s-contains?.(file-name-directo
345e0 72 79 20 28 63 61 72 20 6c 69 62 29 29 20 62 6f 6f 6b 2d 63 6f 76 65 72 29 29 0a 20 20 20 20 20 ry.(car.lib)).book-cover))......
34600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 ..............................ca
34620 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 libredb-library-alist)).........
34640 20 20 20 20 20 20 20 20 20 20 28 75 72 6c 2d 72 65 71 75 65 73 74 2d 6d 65 74 68 6f 64 20 22 47 ..........(url-request-method."G
34660 45 54 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 72 6c 2d 75 73 65 72 ET")...................(url-user
34680 2d 61 67 65 6e 74 20 22 4d 6f 7a 69 6c 6c 61 2f 35 2e 30 20 28 57 69 6e 64 6f 77 73 20 4e 54 20 -agent."Mozilla/5.0.(Windows.NT.
346a0 36 2e 31 3b 20 57 4f 57 36 34 29 20 41 70 70 6c 65 57 65 62 4b 69 74 2f 35 33 37 2e 33 36 20 28 6.1;.WOW64).AppleWebKit/537.36.(
346c0 4b 48 54 4d 4c 2c 20 6c 69 6b 65 20 47 65 63 6b 6f 29 20 43 68 72 6f 6d 65 2f 34 31 2e 30 2e 32 KHTML,.like.Gecko).Chrome/41.0.2
346e0 32 37 32 2e 31 30 31 20 53 61 66 61 72 69 2f 35 33 37 2e 33 36 22 29 0a 20 20 20 20 20 20 20 20 272.101.Safari/537.36").........
34700 20 20 20 20 20 20 20 20 20 20 28 75 72 6c 2d 72 65 71 75 65 73 74 2d 65 78 74 72 61 2d 68 65 61 ..........(url-request-extra-hea
34720 64 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 2c 28 69 66 20 28 61 ders....................`,(if.(a
34740 6e 64 20 28 6e 74 68 20 31 20 6c 69 62 72 61 72 79 29 20 28 6e 74 68 20 32 20 6c 69 62 72 61 72 nd.(nth.1.library).(nth.2.librar
34760 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 28 y))..........................`((
34780 22 43 6f 6e 74 65 6e 74 2d 54 79 70 65 22 20 2e 20 22 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 6d "Content-Type"..."application/xm
347a0 6c 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 l")............................(
347c0 22 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 22 20 2e 20 2c 28 63 6f 6e 63 61 74 20 22 42 61 73 69 "Authorization"...,(concat."Basi
347e0 63 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c.".............................
34800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 61 73 65 ...........................(base
34820 36 34 2d 65 6e 63 6f 64 65 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64-encode-string................
34840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
34860 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 28 6e 74 68 20 31 20 6c 69 62 72 61 72 79 29 .........(concat.(nth.1.library)
34880 20 22 3a 22 20 28 6e 74 68 20 32 20 6c 69 62 72 61 72 79 29 29 29 29 29 29 0a 20 20 20 20 20 20 .":".(nth.2.library)))))).......
348a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 28 22 43 6f 6e 74 65 6e 74 2d 54 79 70 65 ................'(("Content-Type
348c0 22 20 2e 20 22 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 6d 6c 22 29 29 29 29 0a 20 20 20 20 20 20 "..."application/xml")))).......
348e0 20 20 20 20 20 20 20 20 20 20 20 20 28 75 72 6c 2d 61 75 74 6f 6d 61 74 69 63 2d 63 61 63 68 69 ............(url-automatic-cachi
34900 6e 67 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 6e 61 6d ng.t)...................(filenam
34920 65 20 28 75 72 6c 2d 63 61 63 68 65 2d 63 72 65 61 74 65 2d 66 69 6c 65 6e 61 6d 65 20 62 6f 6f e.(url-cache-create-filename.boo
34940 6b 2d 63 6f 76 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74 k-cover)))..............(if.(not
34960 20 28 75 72 6c 2d 69 73 2d 63 61 63 68 65 64 20 62 6f 6f 6b 2d 63 6f 76 65 72 29 29 0a 20 20 20 .(url-is-cached.book-cover))....
34980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 ..............(with-current-buff
349a0 65 72 20 28 75 72 6c 2d 72 65 74 72 69 65 76 65 2d 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 20 62 er.(url-retrieve-synchronously.b
349c0 6f 6f 6b 2d 63 6f 76 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 ook-cover)....................(g
349e0 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 oto-char.(point-min))...........
34a00 20 20 20 20 20 20 20 20 20 28 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 5c 6e 5c 6e 22 29 .........(search-forward."\n\n")
34a20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 72 69 74 65 2d 72 65 67 69 6f ....................(write-regio
34a40 6e 20 28 70 6f 69 6e 74 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 66 69 6c 65 6e 61 6d 65 29 29 n.(point).(point-max).filename))
34a60 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 )..............filename)).......
34a80 20 20 20 20 28 74 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 63 6f 76 65 72 2e ....(t.(expand-file-name."cover.
34aa0 6a 70 67 22 20 63 61 6c 69 62 72 65 64 62 2d 69 6d 61 67 65 73 2d 70 61 74 68 29 29 29 29 29 20 jpg".calibredb-images-path))))).
34ac0 3b 72 65 74 75 72 6e 20 74 68 65 20 64 65 66 61 75 6c 74 20 69 6d 61 67 65 0a 0a 28 64 65 66 75 ;return.the.default.image..(defu
34ae0 6e 20 63 61 6c 69 62 72 65 64 62 2d 65 78 74 72 61 63 74 2d 63 6f 76 65 72 20 28 65 6e 74 72 79 n.calibredb-extract-cover.(entry
34b00 29 0a 20 20 22 45 78 74 72 61 63 74 20 45 4e 54 52 59 20 61 6e 64 20 73 61 76 65 20 74 68 65 20 )..."Extract.ENTRY.and.save.the.
34b20 63 6f 76 65 72 20 74 6f 20 74 68 65 20 73 61 6d 65 20 64 69 72 65 63 74 6f 72 79 2e 22 0a 20 20 cover.to.the.same.directory."...
34b40 3b 3b 20 6f 6e 6c 79 20 65 78 74 72 61 63 74 20 63 6f 76 65 72 20 69 66 20 63 61 6c 69 62 72 65 ;;.only.extract.cover.if.calibre
34b60 64 62 2d 72 6f 6f 74 2d 64 69 72 20 69 73 20 6e 6f 74 20 61 20 68 74 74 70 20 6c 69 6e 6b 0a 20 db-root-dir.is.not.a.http.link..
34b80 20 28 75 6e 6c 65 73 73 20 28 73 74 72 69 6e 67 2d 70 72 65 66 69 78 2d 70 20 22 68 74 74 70 22 .(unless.(string-prefix-p."http"
34ba0 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 0a 20 20 20 20 3b 3b 20 6f 6e 6c 79 .calibredb-root-dir).....;;.only
34bc0 20 65 78 74 72 61 63 74 20 63 6f 76 65 72 20 69 66 20 65 62 6f 6f 6b 2d 6d 65 74 61 20 69 73 20 .extract.cover.if.ebook-meta.is.
34be0 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 28 77 68 65 6e 20 28 65 78 65 63 75 74 61 62 6c 65 2d available.....(when.(executable-
34c00 66 69 6e 64 20 63 61 6c 69 62 72 65 64 62 2d 65 62 6f 6f 6b 2d 6d 65 74 61 2d 70 72 6f 67 72 61 find.calibredb-ebook-meta-progra
34c20 6d 29 0a 20 20 20 20 20 20 3b 3b 20 65 78 74 72 61 63 74 20 63 6f 76 65 72 0a 20 20 20 20 20 20 m).......;;.extract.cover.......
34c40 28 6c 65 74 2a 20 28 28 66 69 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 (let*.((file.(calibredb-getattr.
34c60 65 6e 74 72 79 20 3a 66 69 6c 65 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 entry.:file-path))..............
34c80 28 63 6f 76 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 69 6e 66 69 6c 65 2d 63 6f 76 65 72 2d 70 (cover.(calibredb-infile-cover-p
34ca0 61 74 68 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 6c 2d 70 72 6f 63 65 73 ath.file))).........(call-proces
34cc0 73 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 28 66 6f 72 6d 61 74 20 22 25 73 20 25 73 20 2d s-shell-command.(format."%s.%s.-
34ce0 2d 67 65 74 2d 63 6f 76 65 72 20 25 73 22 20 63 61 6c 69 62 72 65 64 62 2d 65 62 6f 6f 6b 2d 6d -get-cover.%s".calibredb-ebook-m
34d00 65 74 61 2d 70 72 6f 67 72 61 6d 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e eta-program.(shell-quote-argumen
34d20 74 20 66 69 6c 65 29 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20 63 6f t.file).(shell-quote-argument.co
34d40 76 65 72 29 29 20 6e 69 6c 20 22 2a 65 62 6f 6f 6b 2d 6d 65 74 61 2a 22 29 0a 20 20 20 20 20 20 ver)).nil."*ebook-meta*").......
34d60 20 20 28 69 66 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 63 6f 76 65 72 29 0a 20 20 20 20 ..(if.(file-exists-p.cover).....
34d80 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 53 61 76 65 64 20 25 73 22 20 63 6f 76 65 ........(message."Saved.%s".cove
34da0 72 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 63 61 6e 20 6e 6f 74 20 67 65 6e 65 72 61 74 65 r)...........;;.can.not.generate
34dc0 20 63 6f 76 65 72 2e 6a 70 67 2c 20 74 72 79 20 74 6f 20 63 6f 70 79 20 63 6f 76 65 72 2e 6a 70 .cover.jpg,.try.to.copy.cover.jp
34de0 67 20 66 72 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 69 6d 61 67 65 73 2d 70 61 74 68 0a 20 20 20 g.from.calibredb-images-path....
34e00 20 20 20 20 20 20 20 28 63 6f 70 79 2d 66 69 6c 65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e .......(copy-file.(expand-file-n
34e20 61 6d 65 20 22 63 6f 76 65 72 2e 6a 70 67 22 20 63 61 6c 69 62 72 65 64 62 2d 69 6d 61 67 65 73 ame."cover.jpg".calibredb-images
34e40 2d 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 76 65 -path)......................cove
34e60 72 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 69 6e 66 69 6c 65 r))))))..(defun.calibredb-infile
34e80 2d 63 6f 76 65 72 2d 70 61 74 68 20 28 66 69 6c 65 29 0a 20 20 22 45 78 74 72 61 63 74 20 46 49 -cover-path.(file)..."Extract.FI
34ea0 4c 45 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 76 65 72 20 70 61 74 68 2e 22 0a 20 LE.and.return.the.cover.path."..
34ec0 20 28 6c 65 74 2a 20 28 28 6f 72 69 2d 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 20 28 66 69 6c .(let*.((ori-file-directory.(fil
34ee0 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 e-name-directory.file)).........
34f00 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 20 28 63 6f 6e 63 61 74 20 6f 72 69 2d 66 69 6c .(file-directory.(concat.ori-fil
34f20 65 2d 64 69 72 65 63 74 6f 72 79 20 22 63 6f 76 65 72 73 22 29 29 0a 20 20 20 20 20 20 20 20 20 e-directory."covers"))..........
34f40 28 66 69 6c 65 2d 62 61 73 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 62 61 73 65 20 66 69 6c 65 29 (file-base.(file-name-base.file)
34f60 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 76 65 72 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e )..........(cover.(expand-file-n
34f80 61 6d 65 20 28 63 6f 6e 63 61 74 20 66 69 6c 65 2d 62 61 73 65 20 22 2e 6a 70 67 22 29 20 66 69 ame.(concat.file-base.".jpg").fi
34fa0 6c 65 2d 64 69 72 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 66 69 6c le-directory))).....(unless.(fil
34fc0 65 2d 65 78 69 73 74 73 2d 70 20 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 20 e-exists-p.file-directory)......
34fe0 20 28 6d 61 6b 65 2d 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 29 .(make-directory.file-directory)
35000 29 0a 20 20 20 20 63 6f 76 65 72 29 29 0a 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 ).....cover))...(defun.calibredb
35020 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 28 70 61 74 68 20 61 6c 74 20 77 69 64 74 68 20 68 65 -insert-image.(path.alt.width.he
35040 69 67 68 74 29 0a 20 20 22 49 6e 73 65 72 74 20 61 6e 20 69 6d 61 67 65 20 66 6f 72 20 50 41 54 ight)..."Insert.an.image.for.PAT
35060 48 20 61 74 20 70 6f 69 6e 74 20 77 69 74 68 20 6d 61 78 20 57 49 44 54 48 20 61 6e 64 20 6d 61 H.at.point.with.max.WIDTH.and.ma
35080 78 20 48 45 49 47 54 48 2c 20 66 61 6c 6c 69 6e 67 20 62 61 63 6b 20 74 6f 20 41 4c 54 2e 22 0a x.HEIGTH,.falling.back.to.ALT.".
350a0 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 6f 74 20 28 64 69 73 70 6c 61 79 2d 67 72 61 70 68 69 ..(cond....((not.(display-graphi
350c0 63 2d 70 29 29 0a 20 20 20 20 28 69 6e 73 65 72 74 20 61 6c 74 29 29 0a 20 20 20 28 28 66 62 6f c-p)).....(insert.alt))....((fbo
350e0 75 6e 64 70 20 27 69 6d 61 67 65 6d 61 67 69 63 6b 2d 74 79 70 65 73 29 0a 20 20 20 20 28 69 6e undp.'imagemagick-types).....(in
35100 73 65 72 74 2d 69 6d 61 67 65 0a 20 20 20 20 20 28 63 72 65 61 74 65 2d 69 6d 61 67 65 20 70 61 sert-image......(create-image.pa
35120 74 68 20 27 69 6d 61 67 65 6d 61 67 69 63 6b 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 th.'imagemagick.nil.............
35140 20 20 20 20 20 20 20 3a 61 73 63 65 6e 74 20 31 30 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .......:ascent.100..............
35160 20 20 20 20 20 20 3a 6d 61 78 2d 77 69 64 74 68 20 77 69 64 74 68 0a 20 20 20 20 20 20 20 20 20 ......:max-width.width..........
35180 20 20 20 20 20 20 20 20 20 20 3a 6d 61 78 2d 68 65 69 67 68 74 20 68 65 69 67 68 74 29 29 29 0a ..........:max-height.height))).
351a0 20 20 20 28 74 0a 20 20 20 20 3b 3b 20 65 6d 61 63 73 20 32 37 2e 31 0a 20 20 20 20 28 6c 65 74 ...(t.....;;.emacs.27.1.....(let
351c0 20 28 28 69 6d 61 67 65 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20 28 63 72 65 61 74 65 2d .((image.(ignore-errors.(create-
351e0 69 6d 61 67 65 20 70 61 74 68 20 6e 69 6c 20 6e 69 6c 20 3a 77 69 64 74 68 20 77 69 64 74 68 20 image.path.nil.nil.:width.width.
35200 3a 68 65 69 67 68 74 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 69 6d 61 67 65 0a :height.nil)))).......(if.image.
35220 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 69 6d 61 67 65 29 0a 20 ..........(insert-image.image)..
35240 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 61 6c 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e .......(insert.alt))))))..(defun
35260 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 66 69 6c 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 .calibredb-find-file.(&optional.
35280 63 61 6e 64 69 64 61 74 65 20 61 72 67 29 0a 20 20 22 4f 70 65 6e 20 66 69 6c 65 20 6f 66 20 74 candidate.arg)..."Open.file.of.t
352a0 68 65 20 73 65 6c 65 63 74 65 64 20 69 74 65 6d 2e 0a 49 66 20 74 68 65 20 75 6e 69 76 65 72 73 he.selected.item..If.the.univers
352c0 61 6c 20 70 72 65 66 69 78 20 41 52 47 20 69 73 20 75 73 65 64 2c 20 69 67 6e 6f 72 65 20 60 63 al.prefix.ARG.is.used,.ignore.`c
352e0 61 6c 69 62 72 65 64 62 2d 70 72 65 66 65 72 72 65 64 2d 66 6f 72 6d 61 74 27 2e 0a 4f 70 74 69 alibredb-preferred-format'..Opti
35300 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 43 41 4e 44 49 44 41 54 45 20 69 73 20 74 68 65 20 73 onal.argument.CANDIDATE.is.the.s
35320 65 6c 65 63 74 65 64 20 69 74 65 6d 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 elected.item."...(interactive...
35340 20 28 6c 69 73 74 20 28 63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 .(list.(car.(calibredb-find-cand
35360 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e idate-at-point))..........curren
35380 74 2d 70 72 65 66 69 78 2d 61 72 67 29 29 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 20 28 69 66 t-prefix-arg))...(let.((file.(if
353a0 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 .current-prefix-arg.............
353c0 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 61 6c 69 62 72 65 64 62 2d 70 72 65 66 65 72 72 65 64 ......(let.((calibredb-preferred
353e0 2d 66 6f 72 6d 61 74 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -format.nil))...................
35400 20 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 66 69 6c 65 2d 70 61 74 68 20 63 61 6e 64 69 ..(calibredb-get-file-path.candi
35420 64 61 74 65 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 date.t)).................(calibr
35440 65 64 62 2d 67 65 74 2d 66 69 6c 65 2d 70 61 74 68 20 63 61 6e 64 69 64 61 74 65 20 74 29 29 29 edb-get-file-path.candidate.t)))
35460 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 2d 70 72 65 66 69 78 2d 70 20 22 68 ).....(cond.((string-prefix-p."h
35480 74 74 70 22 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 75 72 6c ttp".file)............(let.((url
354a0 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64 61 74 65 20 3a 66 .(calibredb-getattr.candidate.:f
354c0 69 6c 65 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 69 74 ile-path))..................(tit
354e0 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64 61 74 65 20 le.(calibredb-getattr.candidate.
35500 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 :book-title))..................(
35520 74 79 70 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64 61 74 type.(calibredb-getattr.candidat
35540 65 20 3a 62 6f 6f 6b 2d 66 6f 72 6d 61 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 e.:book-format)))..............(
35560 69 66 20 28 73 2d 65 71 75 61 6c 73 2d 70 20 74 69 74 6c 65 20 22 73 65 61 72 63 68 22 29 20 3b if.(s-equals-p.title."search").;
35580 20 54 4f 44 4f 3a 20 57 6f 72 6b 61 72 6f 75 6e 64 2c 20 6e 6f 77 20 69 74 20 6f 6e 6c 79 20 77 .TODO:.Workaround,.now.it.only.w
355a0 6f 72 6b 73 20 77 69 74 68 20 63 61 6c 69 62 72 65 2d 77 65 62 0a 20 20 20 20 20 20 20 20 20 20 orks.with.calibre-web...........
355c0 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 73 65 61 72 63 68 20 75 72 .......(calibredb-opds-search.ur
355e0 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 75 72 6c 29 0a l)................(message.url).
35600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 74 79 70 65 29 0a 20 20 ...............(message.type)...
35620 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 69 62 72 61 72 79 20 28 2d 66 69 .............(let.((library.(-fi
35640 72 73 74 20 28 6c 61 6d 62 64 61 20 28 6c 69 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rst.(lambda.(lib)...............
35660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 2d 63 6f 6e ..........................(s-con
35680 74 61 69 6e 73 3f 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 28 63 61 72 tains?.(file-name-directory.(car
356a0 20 6c 69 62 29 29 20 75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .lib)).url))....................
356c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 ...................calibredb-lib
356e0 72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 rary-alist)))..................(
35700 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 28 72 65 67 65 78 70 2d 6f 70 74 20 27 28 22 if.(string-match.(regexp-opt.'("
35720 61 74 6f 6d 22 20 22 78 6d 6c 22 29 29 20 74 79 70 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 atom"."xml")).type).............
35740 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 72 65 71 75 65 73 74 .........(calibredb-opds-request
35760 2d 70 61 67 65 20 75 72 6c 20 28 61 73 73 6f 63 2d 64 65 66 61 75 6c 74 20 27 61 63 63 6f 75 6e -page.url.(assoc-default.'accoun
35780 74 20 6c 69 62 72 61 72 79 29 20 28 61 73 73 6f 63 2d 64 65 66 61 75 6c 74 20 27 70 61 73 73 77 t.library).(assoc-default.'passw
357a0 6f 72 64 20 6c 69 62 72 61 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ord.library))...................
357c0 20 28 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 64 6f 77 6e 6c 6f 61 64 20 74 69 74 6c 65 20 .(calibredb-opds-download.title.
357e0 75 72 6c 20 74 79 70 65 20 28 61 73 73 6f 63 2d 64 65 66 61 75 6c 74 20 27 61 63 63 6f 75 6e 74 url.type.(assoc-default.'account
35800 20 6c 69 62 72 61 72 79 29 20 28 61 73 73 6f 63 2d 64 65 66 61 75 6c 74 20 27 70 61 73 73 77 6f .library).(assoc-default.'passwo
35820 72 64 20 6c 69 62 72 61 72 79 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 73 2d rd.library)))))))...........((s-
35840 65 71 75 61 6c 73 3f 20 22 22 20 66 69 6c 65 29 20 28 6d 65 73 73 61 67 65 20 22 4e 6f 20 66 69 equals?."".file).(message."No.fi
35860 6c 65 73 2e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 20 28 66 69 6e 64 2d 66 69 6c 65 20 les."))...........(t.(find-file.
35880 66 69 6c 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 file)))))..(defun.calibredb-find
358a0 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 66 72 61 6d 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 6e -file-other-frame.(&optional.can
358c0 64 69 64 61 74 65 20 61 72 67 29 0a 20 20 22 4f 70 65 6e 20 66 69 6c 65 20 69 6e 20 6f 74 68 65 didate.arg)..."Open.file.in.othe
358e0 72 20 66 72 61 6d 65 20 6f 66 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 69 74 65 6d 2e 0a 49 66 r.frame.of.the.selected.item..If
35900 20 74 68 65 20 75 6e 69 76 65 72 73 61 6c 20 70 72 65 66 69 78 20 41 52 47 20 69 73 20 75 73 65 .the.universal.prefix.ARG.is.use
35920 64 2c 20 69 67 6e 6f 72 65 20 60 63 61 6c 69 62 72 65 64 62 2d 70 72 65 66 65 72 72 65 64 2d 66 d,.ignore.`calibredb-preferred-f
35940 6f 72 6d 61 74 27 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 43 41 4e 44 49 44 ormat'..Optional.argument.CANDID
35960 41 54 45 20 69 73 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 69 74 65 6d 2e 22 0a 20 20 28 69 6e ATE.is.the.selected.item."...(in
35980 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c 69 73 74 20 28 63 61 72 20 28 63 61 6c 69 62 72 65 teractive....(list.(car.(calibre
359a0 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 0a 20 20 20 db-find-candidate-at-point))....
359c0 20 20 20 20 20 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 29 29 0a 20 20 28 66 69 ......current-prefix-arg))...(fi
359e0 6e 64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 66 72 61 6d 65 20 28 69 66 20 63 75 72 72 65 6e 74 2d nd-file-other-frame.(if.current-
35a00 70 72 65 66 69 78 2d 61 72 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 prefix-arg......................
35a20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 61 6c 69 62 72 65 64 62 2d 70 72 65 66 65 72 72 ........(let.((calibredb-preferr
35a40 65 64 2d 66 6f 72 6d 61 74 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ed-format.nil)).................
35a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 66 69 ...............(calibredb-get-fi
35a80 6c 65 2d 70 61 74 68 20 63 61 6e 64 69 64 61 74 65 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 le-path.candidate.t))...........
35aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 ...................(calibredb-ge
35ac0 74 2d 66 69 6c 65 2d 70 61 74 68 20 63 61 6e 64 69 64 61 74 65 20 74 29 29 29 29 0a 0a 28 64 65 t-file-path.candidate.t))))..(de
35ae0 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 65 6e 2d 66 69 6c 65 2d 77 69 74 68 2d 64 65 66 fun.calibredb-open-file-with-def
35b00 61 75 6c 74 2d 74 6f 6f 6c 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 6e 64 69 64 61 74 65 20 61 ault-tool.(&optional.candidate.a
35b20 72 67 29 0a 20 20 22 4f 70 65 6e 20 66 69 6c 65 20 77 69 74 68 20 74 68 65 20 73 79 73 74 65 6d rg)..."Open.file.with.the.system
35b40 20 64 65 66 61 75 6c 74 20 74 6f 6f 6c 2e 0a 49 66 20 74 68 65 20 75 6e 69 76 65 72 73 61 6c 20 .default.tool..If.the.universal.
35b60 70 72 65 66 69 78 20 41 52 47 20 69 73 20 75 73 65 64 2c 20 69 67 6e 6f 72 65 20 60 63 61 6c 69 prefix.ARG.is.used,.ignore.`cali
35b80 62 72 65 64 62 2d 70 72 65 66 65 72 72 65 64 2d 66 6f 72 6d 61 74 27 2e 0a 4f 70 74 69 6f 6e 61 bredb-preferred-format'..Optiona
35ba0 6c 20 61 72 67 75 6d 65 6e 74 20 43 41 4e 44 49 44 41 54 45 20 69 73 20 74 68 65 20 73 65 6c 65 l.argument.CANDIDATE.is.the.sele
35bc0 63 74 65 64 20 69 74 65 6d 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c cted.item."...(interactive....(l
35be0 69 73 74 20 28 63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 ist.(car.(calibredb-find-candida
35c00 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 2d 70 te-at-point))..........current-p
35c20 72 65 66 69 78 2d 61 72 67 29 29 0a 20 20 28 69 66 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 refix-arg))...(if.current-prefix
35c40 2d 61 72 67 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 61 6c 69 62 72 65 64 62 2d 70 72 65 66 -arg.......(let.((calibredb-pref
35c60 65 72 72 65 64 2d 66 6f 72 6d 61 74 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 erred-format.nil)).........(cali
35c80 62 72 65 64 62 2d 6f 70 65 6e 2d 77 69 74 68 2d 64 65 66 61 75 6c 74 2d 74 6f 6f 6c 20 28 63 61 bredb-open-with-default-tool.(ca
35ca0 6c 69 62 72 65 64 62 2d 67 65 74 2d 66 69 6c 65 2d 70 61 74 68 20 63 61 6e 64 69 64 61 74 65 20 libredb-get-file-path.candidate.
35cc0 74 29 29 29 0a 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 6f 70 65 6e 2d 77 69 74 68 2d 64 65 t))).....(calibredb-open-with-de
35ce0 66 61 75 6c 74 2d 74 6f 6f 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 66 69 6c 65 2d 70 fault-tool.(calibredb-get-file-p
35d00 61 74 68 20 63 61 6e 64 69 64 61 74 65 20 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 ath.candidate.t))))..(defun.cali
35d20 62 72 65 64 62 2d 71 75 69 63 6b 2d 6c 6f 6f 6b 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 6e 64 bredb-quick-look.(&optional.cand
35d40 69 64 61 74 65 20 61 72 67 29 0a 20 20 22 51 75 69 63 6b 20 74 68 65 20 66 69 6c 65 20 77 69 74 idate.arg)..."Quick.the.file.wit
35d60 68 20 74 68 65 20 71 6c 6d 61 6e 61 67 65 2c 20 62 75 74 20 69 74 20 6f 6e 6c 79 20 53 75 70 70 h.the.qlmanage,.but.it.only.Supp
35d80 6f 72 74 20 6d 61 63 4f 53 2e 0a 49 66 20 74 68 65 20 75 6e 69 76 65 72 73 61 6c 20 70 72 65 66 ort.macOS..If.the.universal.pref
35da0 69 78 20 41 52 47 20 69 73 20 75 73 65 64 2c 20 69 67 6e 6f 72 65 20 60 63 61 6c 69 62 72 65 64 ix.ARG.is.used,.ignore.`calibred
35dc0 62 2d 70 72 65 66 65 72 72 65 64 2d 66 6f 72 6d 61 74 27 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 b-preferred-format'..Optional.ar
35de0 67 75 6d 65 6e 74 20 43 41 4e 44 49 44 41 54 45 20 69 73 20 74 68 65 20 73 65 6c 65 63 74 65 64 gument.CANDIDATE.is.the.selected
35e00 20 69 74 65 6d 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c 69 73 74 20 .item."...(interactive....(list.
35e20 28 63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 (car.(calibredb-find-candidate-a
35e40 74 2d 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 t-point))..........current-prefi
35e60 78 2d 61 72 67 29 29 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 20 28 73 68 65 6c 6c 2d 71 75 6f x-arg))...(let.((file.(shell-quo
35e80 74 65 2d 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 61 te-argument................(expa
35ea0 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 69 66 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d nd-file-name.(if.current-prefix-
35ec0 61 72 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 arg.............................
35ee0 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 61 6c 69 62 72 65 64 62 2d 70 72 65 66 65 72 .........(let.((calibredb-prefer
35f00 72 65 64 2d 66 6f 72 6d 61 74 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 red-format.nil))................
35f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 ........................(calibre
35f40 64 62 2d 67 65 74 2d 66 69 6c 65 2d 70 61 74 68 20 63 61 6e 64 69 64 61 74 65 20 74 29 29 0a 20 db-get-file-path.candidate.t))..
35f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
35f80 20 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 66 69 6c 65 2d 70 61 74 68 20 63 61 6e 64 69 ..(calibredb-get-file-path.candi
35fa0 64 61 74 65 20 74 29 29 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 65 71 20 73 79 73 74 65 6d 2d date.t)))))).....(if.(eq.system-
35fc0 74 79 70 65 20 27 64 61 72 77 69 6e 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 6c 2d 70 72 6f 63 type.'darwin).........(call-proc
35fe0 65 73 73 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 28 63 6f 6e 63 61 74 20 22 71 6c 6d 61 6e ess-shell-command.(concat."qlman
36000 61 67 65 20 2d 70 20 22 20 66 69 6c 65 29 20 6e 69 6c 20 30 29 0a 20 20 20 20 20 20 28 6d 65 73 age.-p.".file).nil.0).......(mes
36020 73 61 67 65 20 22 54 68 69 73 20 66 65 61 74 75 72 65 20 6f 6e 6c 79 20 73 75 70 70 6f 72 74 73 sage."This.feature.only.supports
36040 20 6d 61 63 4f 53 2e 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 72 .macOS."))))..(defun.calibredb-r
36060 65 61 64 2d 6d 65 74 61 64 61 74 61 73 20 28 66 69 65 6c 64 20 26 6f 70 74 69 6f 6e 61 6c 20 63 ead-metadatas.(field.&optional.c
36080 61 6e 64 69 64 61 74 65 29 0a 20 20 22 52 65 61 64 20 6d 65 74 61 64 61 74 61 2e 0a 41 72 67 75 andidate)..."Read.metadata..Argu
360a0 6d 65 6e 74 20 46 49 45 4c 44 20 69 73 20 74 68 65 20 66 69 65 6c 64 20 74 6f 20 72 65 61 64 2e ment.FIELD.is.the.field.to.read.
360c0 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 43 41 4e 44 49 44 41 54 45 20 69 73 20 .Optional.argument.CANDIDATE.is.
360e0 63 61 6e 64 69 64 61 74 65 20 74 6f 20 72 65 61 64 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 61 6e candidate.to.read."...(let.((can
36100 64 29 29 0a 20 20 20 20 28 69 66 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 d)).....(if.(eq.major-mode.'cali
36120 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 63 bredb-search-mode).........(if.c
36140 61 6e 64 69 64 61 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 20 andidate.............(setq.cand.
36160 63 61 6e 64 69 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 20 candidate)...........(setq.cand.
36180 28 63 64 72 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 (cdr.(get-text-property.(point).
361a0 27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20 28 'calibredb-entry.nil)))).......(
361c0 69 66 20 63 61 6e 64 69 64 61 74 65 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e if.candidate...........(setq.can
361e0 64 20 63 61 6e 64 69 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 20 d.candidate).........(setq.cand.
36200 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 27 (get-text-property.(point-min).'
36220 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 20 6e 69 6c 29 29 20 29 29 0a 20 20 20 20 28 63 61 calibredb-entry.nil)).)).....(ca
36240 6c 69 62 72 65 64 62 2d 67 65 74 2d 69 6e 69 74 20 66 69 65 6c 64 20 63 61 6e 64 29 29 29 0a 0a libredb-get-init.field.cand)))..
36260 3b 3b 20 6f 72 67 2d 63 61 70 74 75 72 65 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 ;;.org-capture..(defun.calibredb
36280 2d 63 61 70 74 75 72 65 2d 61 74 2d 70 6f 69 6e 74 20 28 29 0a 20 20 22 54 4f 44 4f 3a 20 6f 72 -capture-at-point.()..."TODO:.or
362a0 67 20 63 61 70 74 75 72 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 74 65 6d 2e 22 0a 20 20 28 g.capture.the.current.item."...(
362c0 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 63 61 70 74 75 72 65 2d 70 61 74 interactive)...(let.(capture-pat
362e0 68 20 63 61 70 74 75 72 65 2d 74 69 74 6c 65 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 h.capture-title).....(with-curre
36300 6e 74 2d 62 75 66 66 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 2d 62 75 66 nt-buffer.(calibredb-search--buf
36320 66 65 72 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 61 6e 64 69 64 61 74 65 fer-name).......(let.((candidate
36340 73 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 6d 61 72 6b 65 64 2d 63 61 6e 64 69 64 61 s.(calibredb-find-marked-candida
36360 74 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 63 61 6e 64 69 64 61 74 65 tes))).........(unless.candidate
36380 73 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 73 20 28 63 61 s...........(setq.candidates.(ca
363a0 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 libredb-find-candidate-at-point)
363c0 29 29 0a 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 63 61 6e 64 20 63 61 6e 64 69 64 61 )).........(dolist.(cand.candida
363e0 74 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 61 74 68 20 28 63 61 6c 69 tes)...........(let.((path.(cali
36400 62 72 65 64 62 2d 67 65 74 2d 66 69 6c 65 2d 70 61 74 68 20 63 61 6e 64 20 74 29 29 0a 20 20 20 bredb-get-file-path.cand.t))....
36420 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 .............(title.(calibredb-g
36440 65 74 61 74 74 72 20 63 61 6e 64 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 29 0a 20 20 20 20 20 etattr.cand.:book-title)))......
36460 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 70 74 75 72 65 2d 70 61 74 68 20 70 61 74 68 29 0a .......(setq.capture-path.path).
36480 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 70 74 75 72 65 2d 74 69 74 6c 65 20 ............(setq.capture-title.
364a0 74 69 74 6c 65 29 29 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 title))))).....(with-temp-buffer
364c0 20 28 69 6e 73 65 72 74 20 22 2a 20 54 4f 44 4f 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(insert."*.TODO.").............
364e0 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 5b 5b 66 69 6c ..........(insert.(format."[[fil
36500 65 3a 25 73 5d 5b 25 73 5d 5d 22 20 63 61 70 74 75 72 65 2d 70 61 74 68 20 63 61 70 74 75 72 65 e:%s][%s]]".capture-path.capture
36520 2d 74 69 74 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 -title)).......................(
36540 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 buffer-string))))..(defun.calibr
36560 65 64 62 2d 61 64 64 20 28 61 72 67 29 0a 20 20 22 41 64 64 20 66 69 6c 65 28 73 29 20 69 6e 74 edb-add.(arg)..."Add.file(s).int
36580 6f 20 63 61 6c 69 62 72 65 64 62 2e 0a 57 69 74 68 20 69 76 79 2d 6d 6f 64 65 3a 20 41 64 64 20 o.calibredb..With.ivy-mode:.Add.
365a0 6d 61 72 6b 65 64 20 69 74 65 6d 73 2e 0a 4f 74 68 65 72 73 3a 20 41 64 64 20 6f 6e 6c 79 20 6f marked.items..Others:.Add.only.o
365c0 6e 65 20 69 74 65 6d 2e 0a 49 66 20 70 72 65 66 69 78 20 41 52 47 20 69 73 20 6e 6f 6e 2d 6e 69 ne.item..If.prefix.ARG.is.non-ni
365e0 6c 2c 20 6b 65 65 70 20 74 68 65 20 66 69 6c 65 73 20 61 66 74 65 72 20 61 64 64 69 6e 67 20 77 l,.keep.the.files.after.adding.w
36600 69 74 68 6f 75 74 20 70 72 6f 6d 70 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 ithout.prompt."...(interactive."
36620 50 22 29 0a 20 20 28 63 6f 6e 64 20 28 28 61 6e 64 20 28 62 6f 75 6e 64 70 20 27 69 76 79 2d 6d P")...(cond.((and.(boundp.'ivy-m
36640 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 76 79 2d 6d 6f 64 65 0a 20 20 20 20 ode)...............ivy-mode.....
36660 20 20 20 20 20 20 20 20 20 20 28 66 62 6f 75 6e 64 70 20 27 63 6f 75 6e 73 65 6c 2d 2d 66 69 6e ..........(fboundp.'counsel--fin
36680 64 2d 66 69 6c 65 2d 31 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 75 6e 73 65 6c 2d 2d 66 69 d-file-1))..........(counsel--fi
366a0 6e 64 2d 66 69 6c 65 2d 31 0a 20 20 20 20 20 20 20 20 20 20 22 41 64 64 20 66 69 6c 65 28 73 29 nd-file-1..........."Add.file(s)
366c0 20 74 6f 20 63 61 6c 69 62 72 65 3a 20 22 20 63 61 6c 69 62 72 65 64 62 2d 64 6f 77 6e 6c 6f 61 .to.calibre:.".calibredb-downloa
366e0 64 2d 64 69 72 0a 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 66 69 6c 65 29 0a 20 d-dir...........(lambda.(file)..
36700 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 75 6e 73 65 6c 2d 61 64 ...........(calibredb-counsel-ad
36720 64 2d 66 69 6c 65 2d 61 63 74 69 6f 6e 20 61 72 67 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 d-file-action.arg.file))........
36740 20 20 20 27 63 61 6c 69 62 72 65 64 62 2d 61 64 64 29 29 0a 20 20 20 20 20 20 20 20 28 74 20 28 ...'calibredb-add)).........(t.(
36760 6c 65 74 20 28 28 66 69 6c 65 20 28 72 65 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 41 64 64 20 let.((file.(read-file-name."Add.
36780 61 20 66 69 6c 65 20 74 6f 20 43 61 6c 69 62 72 65 3a 20 22 20 63 61 6c 69 62 72 65 64 62 2d 64 a.file.to.Calibre:.".calibredb-d
367a0 6f 77 6e 6c 6f 61 64 2d 64 69 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c ownload-dir)))..............(cal
367c0 69 62 72 65 64 62 2d 63 6f 75 6e 73 65 6c 2d 61 64 64 2d 66 69 6c 65 2d 61 63 74 69 6f 6e 20 61 ibredb-counsel-add-file-action.a
367e0 72 67 20 66 69 6c 65 29 29 29 29 0a 20 20 28 69 66 20 28 65 71 75 61 6c 20 6d 61 6a 6f 72 2d 6d rg.file))))...(if.(equal.major-m
36800 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 ode.'calibredb-search-mode).....
36820 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d 72 ..(calibredb-search-refresh-or-r
36840 65 73 75 6d 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 61 64 64 2d 66 esume)))..(defun.calibredb-add-f
36860 6f 72 6d 61 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 6e 64 69 64 61 74 65 29 0a 20 20 22 41 ormat.(&optional.candidate)..."A
36880 64 64 20 66 6f 72 6d 61 74 20 74 6f 20 73 65 6c 65 63 74 65 64 20 69 74 65 6d 2e 0a 4f 70 74 69 dd.format.to.selected.item..Opti
368a0 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 43 41 4e 44 49 44 41 54 45 20 69 73 20 74 68 65 20 73 onal.argument.CANDIDATE.is.the.s
368c0 65 6c 65 63 74 65 64 20 69 74 65 6d 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 elected.item."...(interactive)..
368e0 20 28 75 6e 6c 65 73 73 20 63 61 6e 64 69 64 61 74 65 0a 20 20 20 20 28 73 65 74 71 20 63 61 6e .(unless.candidate.....(setq.can
36900 64 69 64 61 74 65 20 28 63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 didate.(car.(calibredb-find-cand
36920 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 29 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d idate-at-point))))...(calibredb-
36940 63 6f 6d 6d 61 6e 64 20 3a 63 6f 6d 6d 61 6e 64 20 22 61 64 64 5f 66 6f 72 6d 61 74 22 0a 20 20 command.:command."add_format"...
36960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 6e 70 75 74 20 28 63 6f 6e 63 61 ...................:input.(conca
36980 74 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64 61 74 65 20 3a t.(calibredb-getattr.candidate.:
369a0 69 64 29 20 22 20 22 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 70 6c 65 74 65 2d 66 69 6c 65 id).".".(calibredb-complete-file
369c0 2d 71 75 6f 74 65 20 22 41 64 64 20 66 6f 72 6d 61 74 20 74 6f 20 73 65 6c 65 63 74 65 64 20 69 -quote."Add.format.to.selected.i
369e0 74 65 6d 22 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 tem").)......................:li
36a00 62 72 61 72 79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 20 25 73 brary.(format."--library-path.%s
36a20 22 20 28 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 2d 71 75 6f 74 65 29 29 29 0a 20 ".(calibredb-root-dir-quote)))..
36a40 20 28 69 66 20 28 65 71 75 61 6c 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 .(if.(equal.major-mode.'calibred
36a60 62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d b-search-mode).......(calibredb-
36a80 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d 72 65 73 75 6d 65 29 29 29 0a 0a 28 64 65 search-refresh-or-resume)))..(de
36aa0 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 61 64 64 2d 64 69 72 20 28 26 6f 70 74 69 6f 6e 61 6c fun.calibredb-add-dir.(&optional
36ac0 20 6f 70 74 69 6f 6e 29 0a 20 20 22 41 64 64 20 61 6c 6c 20 66 69 6c 65 73 20 69 6e 20 61 20 64 .option)..."Add.all.files.in.a.d
36ae0 69 72 65 63 74 6f 72 79 20 69 6e 74 6f 20 63 61 6c 69 62 72 65 20 64 61 74 61 62 61 73 65 2e 0a irectory.into.calibre.database..
36b00 42 79 20 64 65 66 61 75 6c 74 20 6f 6e 6c 79 20 66 69 6c 65 73 20 74 68 61 74 20 68 61 76 65 20 By.default.only.files.that.have.
36b20 65 78 74 65 6e 73 69 6f 6e 73 20 6f 66 20 6b 6e 6f 77 6e 20 65 2d 62 6f 6f 6b 20 66 69 6c 65 0a extensions.of.known.e-book.file.
36b40 74 79 70 65 73 20 61 72 65 20 61 64 64 65 64 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 types.are.added..Optional.argume
36b60 6e 74 20 4f 50 54 49 4f 4e 20 69 73 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 70 74 69 6f 6e 73 2e nt.OPTION.is.additional.options.
36b80 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 63 "...(interactive)...(calibredb-c
36ba0 6f 6d 6d 61 6e 64 20 3a 63 6f 6d 6d 61 6e 64 20 22 61 64 64 22 0a 20 20 20 20 20 20 20 20 20 20 ommand.:command."add"...........
36bc0 20 20 20 20 20 20 20 20 20 20 20 3a 69 6e 70 75 74 20 28 66 6f 72 6d 61 74 20 22 2d 2d 61 64 64 ...........:input.(format."--add
36be0 20 25 73 22 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 .%s".(concat.(file-name-as-direc
36c00 74 6f 72 79 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 70 6c 65 74 65 2d 64 69 72 65 63 74 6f tory.(calibredb-complete-directo
36c20 72 79 2d 71 75 6f 74 65 20 22 41 64 64 20 61 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 43 61 6c ry-quote."Add.a.directory.to.Cal
36c40 69 62 72 65 22 29 29 20 22 2a 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ibre"))."*"))...................
36c60 20 20 20 3a 6f 70 74 69 6f 6e 20 28 6f 72 20 6f 70 74 69 6f 6e 20 22 22 29 0a 20 20 20 20 20 20 ...:option.(or.option."").......
36c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 62 72 61 72 79 20 28 66 6f 72 6d 61 74 20 ...............:library.(format.
36ca0 22 2d 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 20 25 73 22 20 28 63 61 6c 69 62 72 65 64 62 2d 72 "--library-path.%s".(calibredb-r
36cc0 6f 6f 74 2d 64 69 72 2d 71 75 6f 74 65 29 29 29 0a 20 20 28 69 66 20 28 65 71 75 61 6c 20 6d 61 oot-dir-quote)))...(if.(equal.ma
36ce0 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 jor-mode.'calibredb-search-mode)
36d00 0a 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 .......(calibredb-search-refresh
36d20 2d 6f 72 2d 72 65 73 75 6d 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d -or-resume)))..(defun.calibredb-
36d40 63 6c 6f 6e 65 20 28 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 63 6c 6f 6e 65 20 6f 66 20 74 68 clone.()..."Create.a.clone.of.th
36d60 65 20 63 75 72 72 65 6e 74 20 6c 69 62 72 61 72 79 2e 0a 54 68 69 73 20 63 72 65 61 74 65 73 20 e.current.library..This.creates.
36d80 61 20 6e 65 77 2c 20 65 6d 70 74 79 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 68 61 73 20 61 6c a.new,.empty.library.that.has.al
36da0 6c 20 74 68 65 20 73 61 6d 65 20 63 75 73 74 6f 6d 0a 63 6f 6c 75 6d 6e 73 2c 20 56 69 72 74 75 l.the.same.custom.columns,.Virtu
36dc0 61 6c 20 6c 69 62 72 61 72 69 65 73 20 61 6e 64 20 6f 74 68 65 72 20 73 65 74 74 69 6e 67 73 20 al.libraries.and.other.settings.
36de0 61 73 20 74 68 65 20 63 75 72 72 65 6e 74 0a 6c 69 62 72 61 72 79 2e 22 0a 20 20 28 69 6e 74 65 as.the.current.library."...(inte
36e00 72 61 63 74 69 76 65 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 61 6e 64 20 3a 63 ractive)...(calibredb-command.:c
36e20 6f 6d 6d 61 6e 64 20 22 63 6c 6f 6e 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ommand."clone"..................
36e40 20 20 20 20 3a 69 6e 70 75 74 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 70 6c 65 74 65 2d 66 ....:input.(calibredb-complete-f
36e60 69 6c 65 2d 71 75 6f 74 65 20 22 43 6c 6f 6e 65 20 6c 69 62 61 72 79 20 74 6f 20 22 29 29 29 0a ile-quote."Clone.libary.to."))).
36e80 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 70 6c 65 74 65 2d 66 69 6c 65 2d .(defun.calibredb-complete-file-
36ea0 71 75 6f 74 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 61 72 67 20 26 72 65 73 74 20 72 65 73 74 29 quote.(&optional.arg.&rest.rest)
36ec0 0a 20 20 22 47 65 74 20 71 75 6f 74 65 64 20 66 69 6c 65 20 6e 61 6d 65 20 75 73 69 6e 67 20 63 ..."Get.quoted.file.name.using.c
36ee0 6f 6d 70 6c 65 74 69 6f 6e 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 41 52 47 ompletion..Optional.argument.ARG
36f00 20 69 73 20 74 68 65 20 70 72 6f 6d 70 74 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e .is.the.prompt..Optional.argumen
36f20 74 20 52 45 53 54 20 69 73 20 74 68 65 20 72 65 73 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 69 t.REST.is.the.rest."...(let.((fi
36f40 6c 65 20 28 72 65 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 66 6f 72 6d 61 74 20 22 25 73 3a 20 le.(read-file-name.(format."%s:.
36f60 22 20 61 72 67 29 20 28 70 6f 70 20 72 65 73 74 29 29 29 29 0a 20 20 20 20 28 73 68 65 6c 6c 2d ".arg).(pop.rest)))).....(shell-
36f80 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 quote-argument.(expand-file-name
36fa0 20 66 69 6c 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 70 .file))))..(defun.calibredb-comp
36fc0 6c 65 74 65 2d 64 69 72 65 63 74 6f 72 79 2d 71 75 6f 74 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 lete-directory-quote.(&optional.
36fe0 61 72 67 20 26 72 65 73 74 20 72 65 73 74 29 0a 20 20 22 47 65 74 20 71 75 6f 74 65 64 20 64 69 arg.&rest.rest)..."Get.quoted.di
37000 72 65 63 74 6f 72 79 20 6e 61 6d 65 20 75 73 69 6e 67 20 63 6f 6d 70 6c 65 74 69 6f 6e 2e 0a 4f rectory.name.using.completion..O
37020 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 41 52 47 20 69 73 20 74 68 65 20 70 72 6f 6d ptional.argument.ARG.is.the.prom
37040 70 74 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 52 45 53 54 20 69 73 20 74 68 pt..Optional.argument.REST.is.th
37060 65 20 72 65 73 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 20 28 72 65 61 64 2d 64 69 72 e.rest."...(let.((file.(read-dir
37080 65 63 74 6f 72 79 2d 6e 61 6d 65 20 28 66 6f 72 6d 61 74 20 22 25 73 3a 20 22 20 61 72 67 29 20 ectory-name.(format."%s:.".arg).
370a0 28 70 6f 70 20 72 65 73 74 29 29 29 29 0a 20 20 20 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 (pop.rest)))).....(shell-quote-a
370c0 72 67 75 6d 65 6e 74 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 29 29 rgument.(expand-file-name.file))
370e0 29 29 0a 0a 3b 3b 20 72 65 6d 6f 76 65 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d ))..;;.remove..(defun.calibredb-
37100 72 65 6d 6f 76 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 6e 64 69 64 61 74 65 29 0a 20 20 22 remove.(&optional.candidate)..."
37120 52 65 6d 6f 76 65 20 74 68 65 20 69 74 65 6d 20 61 74 20 70 6f 69 6e 74 2e 0a 4f 70 74 69 6f 6e Remove.the.item.at.point..Option
37140 61 6c 20 61 72 67 75 6d 65 6e 74 20 43 41 4e 44 49 44 41 54 45 20 69 73 20 74 68 65 20 69 74 65 al.argument.CANDIDATE.is.the.ite
37160 6d 20 61 74 20 70 6f 69 6e 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 m.at.point."...(interactive)...(
37180 75 6e 6c 65 73 73 20 63 61 6e 64 69 64 61 74 65 0a 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 unless.candidate.....(setq.candi
371a0 64 61 74 65 20 28 63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 date.(car.(calibredb-find-candid
371c0 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 29 29 0a 20 20 28 6c 65 74 20 28 28 69 64 20 28 63 61 ate-at-point))))...(let.((id.(ca
371e0 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64 61 74 65 20 3a 69 64 29 29 0a libredb-getattr.candidate.:id)).
37200 20 20 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 ........(title.(calibredb-getatt
37220 72 20 63 61 6e 64 69 64 61 74 65 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 29 0a 20 20 20 20 28 r.candidate.:book-title))).....(
37240 69 66 20 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 20 28 63 6f 6e 63 61 74 20 22 41 72 65 20 79 6f 75 if.(yes-or-no-p.(concat."Are.you
37260 20 73 75 72 65 20 74 6f 20 6d 6f 76 65 3a 20 22 20 69 64 20 22 20 2d 20 22 20 74 69 74 6c 65 20 .sure.to.move:.".id.".-.".title.
37280 22 20 74 6f 20 72 65 63 79 63 6c 65 20 62 69 6e 3f 22 29 29 0a 20 20 20 20 20 20 20 20 28 63 61 ".to.recycle.bin?")).........(ca
372a0 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 61 6e 64 20 3a 63 6f 6d 6d 61 6e 64 20 22 72 65 6d 6f 76 65 libredb-command.:command."remove
372c0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 64 "............................:id
372e0 20 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a .id............................:
37300 6c 69 62 72 61 72 79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 20 library.(format."--library-path.
37320 25 73 22 20 28 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 2d 71 75 6f 74 65 29 29 29 %s".(calibredb-root-dir-quote)))
37340 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 75 61 6c 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 ).....(cond.((equal.major-mode.'
37360 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 calibredb-show-mode)............
37380 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 2d 62 75 (kill-buffer.(calibredb-show--bu
373a0 66 66 65 72 2d 6e 61 6d 65 20 63 61 6e 64 69 64 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 ffer-name.candidate))...........
373c0 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 29 29 0a 20 20 20 .(calibredb-search-refresh))....
373e0 20 20 20 20 20 20 20 28 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 .......((eq.major-mode.'calibred
37400 62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 b-search-mode)............(calib
37420 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d 72 65 73 75 6d 65 29 29 29 redb-search-refresh-or-resume)))
37440 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 72 65 6d 6f 76 65 2d 6d 61 72 6b ))..(defun.calibredb-remove-mark
37460 65 64 2d 69 74 65 6d 73 20 28 61 72 67 29 0a 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 6d 61 72 ed-items.(arg)..."Remove.the.mar
37480 6b 65 64 20 69 74 65 6d 28 73 29 2e 0a 49 66 20 70 72 65 66 69 78 20 41 52 47 20 69 73 20 6e 6f ked.item(s)..If.prefix.ARG.is.no
374a0 6e 2d 6e 69 6c 2c 20 64 65 6c 65 74 65 20 74 68 65 20 66 69 6c 65 73 20 77 69 74 68 6f 75 74 20 n-nil,.delete.the.files.without.
374c0 70 72 6f 6d 70 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 prompt."...(interactive."P")...(
374e0 6c 65 74 20 28 28 63 61 6e 64 69 64 61 74 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 let.((candidates.(calibredb-find
37500 2d 6d 61 72 6b 65 64 2d 63 61 6e 64 69 64 61 74 65 73 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 -marked-candidates))).....(unles
37520 73 20 63 61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61 s.candidates.......(setq.candida
37540 74 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 tes.(calibredb-find-candidate-at
37560 2d 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 69 64 73 20 28 6d 61 70 63 6f 6e -point))).....(let.((ids.(mapcon
37580 63 61 74 20 28 6c 61 6d 62 64 61 20 28 63 61 6e 64 29 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 cat.(lambda.(cand).(calibredb-ge
375a0 74 61 74 74 72 20 63 61 6e 64 20 3a 69 64 29 29 20 20 63 61 6e 64 69 64 61 74 65 73 20 22 2c 22 tattr.cand.:id))..candidates.","
375c0 20 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 49 66 20 77 69 74 68 20 70 72 65 66 69 78 2c 20 64 65 .))).......;;.If.with.prefix,.de
375e0 6c 65 74 65 20 77 69 74 68 6f 75 74 20 70 72 6f 6d 70 74 0a 20 20 20 20 20 20 28 69 66 20 61 72 lete.without.prompt.......(if.ar
37600 67 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 g...........(progn.............(
37620 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 61 6e 64 20 3a 63 6f 6d 6d 61 6e 64 20 22 72 65 6d 6f calibredb-command.:command."remo
37640 76 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ve".............................
37660 20 20 20 3a 69 64 20 69 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...:id.ids......................
37680 20 20 20 20 20 20 20 20 20 20 3a 6c 69 62 72 61 72 79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 ..........:library.(format."--li
376a0 62 72 61 72 79 2d 70 61 74 68 20 25 73 22 20 28 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 brary-path.%s".(calibredb-root-d
376c0 69 72 2d 71 75 6f 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 ir-quote))).............(message
376e0 20 22 44 65 6c 65 74 65 64 20 25 73 22 20 69 64 73 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 ."Deleted.%s".ids)).........(if.
37700 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 20 28 63 6f 6e 63 61 74 20 22 41 72 65 20 79 6f 75 20 73 75 (yes-or-no-p.(concat."Are.you.su
37720 72 65 20 74 6f 20 6d 6f 76 65 3a 20 22 20 69 64 73 20 22 20 74 6f 20 72 65 63 79 63 6c 65 20 62 re.to.move:.".ids.".to.recycle.b
37740 69 6e 3f 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f in?")).............(calibredb-co
37760 6d 6d 61 6e 64 20 3a 63 6f 6d 6d 61 6e 64 20 22 72 65 6d 6f 76 65 22 0a 20 20 20 20 20 20 20 20 mmand.:command."remove".........
37780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 64 20 69 64 73 0a 20 .......................:id.ids..
377a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c ..............................:l
377c0 69 62 72 61 72 79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 20 25 ibrary.(format."--library-path.%
377e0 73 22 20 28 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 2d 71 75 6f 74 65 29 29 29 29 s".(calibredb-root-dir-quote))))
37800 29 29 0a 20 20 20 20 28 69 66 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 )).....(if.(eq.major-mode.'calib
37820 72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 redb-search-mode).........(calib
37840 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d 72 65 73 75 6d 65 29 29 29 redb-search-refresh-or-resume)))
37860 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 72 65 6d 6f 76 65 2d 66 6f 72 6d 61 )..(defun.calibredb-remove-forma
37880 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 6e 64 69 64 61 74 65 29 0a 20 20 22 52 65 6d 6f 76 t.(&optional.candidate)..."Remov
378a0 65 20 74 68 65 20 73 6c 65 63 74 65 64 20 66 6f 72 6d 61 74 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 e.the.slected.format..Optional.a
378c0 72 67 75 6d 65 6e 74 20 43 41 4e 44 49 44 41 54 45 20 69 73 20 74 68 65 20 73 65 6c 65 63 74 65 rgument.CANDIDATE.is.the.selecte
378e0 64 20 69 74 65 6d 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 75 6e 6c 65 d.item."...(interactive)...(unle
37900 73 73 20 63 61 6e 64 69 64 61 74 65 0a 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 ss.candidate.....(setq.candidate
37920 20 28 63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d .(car.(calibredb-find-candidate-
37940 61 74 2d 70 6f 69 6e 74 29 29 29 29 0a 20 20 28 6c 65 74 20 28 28 69 64 20 28 63 61 6c 69 62 72 at-point))))...(let.((id.(calibr
37960 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64 61 74 65 20 3a 69 64 29 29 0a 20 20 20 20 edb-getattr.candidate.:id)).....
37980 20 20 20 20 28 66 6f 72 6d 61 74 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 ....(format.(calibredb-getattr.c
379a0 61 6e 64 69 64 61 74 65 20 3a 62 6f 6f 6b 2d 66 6f 72 6d 61 74 29 29 0a 20 20 20 20 20 20 20 20 andidate.:book-format)).........
379c0 28 74 69 74 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64 (title.(calibredb-getattr.candid
379e0 61 74 65 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 29 0a 20 20 20 20 28 69 66 20 28 79 65 73 2d ate.:book-title))).....(if.(yes-
37a00 6f 72 2d 6e 6f 2d 70 20 28 63 6f 6e 63 61 74 20 22 43 6f 6e 66 69 72 6d 20 44 65 6c 65 74 65 3a or-no-p.(concat."Confirm.Delete:
37a20 20 69 64 20 2d 20 22 20 69 64 20 22 2c 20 74 69 74 6c 65 20 2d 20 22 20 74 69 74 6c 65 20 22 2c .id.-.".id.",.title.-.".title.",
37a40 20 66 6f 72 6d 61 74 20 2d 20 22 20 66 6f 72 6d 61 74 29 29 0a 20 20 20 20 20 20 20 20 28 63 61 .format.-.".format)).........(ca
37a60 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 61 6e 64 20 3a 63 6f 6d 6d 61 6e 64 20 22 72 65 6d 6f 76 65 libredb-command.:command."remove
37a80 5f 66 6f 72 6d 61 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 _format"........................
37aa0 20 20 20 20 3a 69 64 20 28 63 6f 6e 63 61 74 20 69 64 20 22 20 22 20 66 6f 72 6d 61 74 29 0a 20 ....:id.(concat.id.".".format)..
37ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 62 72 61 ..........................:libra
37ae0 72 79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 20 25 73 22 20 28 ry.(format."--library-path.%s".(
37b00 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 2d 71 75 6f 74 65 29 29 29 29 0a 20 20 20 calibredb-root-dir-quote))))....
37b20 20 28 63 6f 6e 64 20 28 28 65 71 75 61 6c 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 .(cond.((equal.major-mode.'calib
37b40 72 65 64 62 2d 73 68 6f 77 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c redb-show-mode)............(kill
37b60 2d 62 75 66 66 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 2d 62 75 66 66 65 72 2d -buffer.(calibredb-show--buffer-
37b80 6e 61 6d 65 20 63 61 6e 64 69 64 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c name.candidate))............(cal
37ba0 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 29 29 0a 20 20 20 20 20 20 20 20 ibredb-search-refresh)).........
37bc0 20 20 28 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 ..((eq.major-mode.'calibredb-sea
37be0 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d rch-mode)............(calibredb-
37c00 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d 72 65 73 75 6d 65 29 29 29 29 29 0a 0a 3b search-refresh-or-resume)))))..;
37c20 3b 20 73 65 74 5f 6d 65 74 61 64 61 74 61 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 ;.set_metadata..(defun.calibredb
37c40 2d 67 65 74 2d 69 6e 69 74 20 28 6e 61 6d 65 20 63 61 6e 64 29 0a 20 20 22 47 65 74 20 74 68 65 -get-init.(name.cand)..."Get.the
37c60 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 69 6e 20 63 6f 6d 70 6c 65 74 69 6e 67 20 70 72 6f .initial.value.in.completing.pro
37c80 6d 70 74 2e 0a 41 72 67 75 6d 65 6e 74 20 4e 41 4d 45 20 69 73 20 74 68 65 20 6d 65 74 61 64 61 mpt..Argument.NAME.is.the.metada
37ca0 74 61 20 66 69 65 6c 64 20 6e 61 6d 65 20 73 74 72 69 6e 67 2e 0a 41 72 67 75 6d 65 6e 74 20 43 ta.field.name.string..Argument.C
37cc0 41 4e 44 20 69 73 20 74 68 65 20 63 61 6e 64 69 64 61 74 65 2e 22 0a 20 20 28 63 6f 6e 64 20 28 AND.is.the.candidate."...(cond.(
37ce0 28 65 71 75 61 6c 20 6e 61 6d 65 20 22 74 61 67 73 22 29 20 28 63 61 6c 69 62 72 65 64 62 2d 67 (equal.name."tags").(calibredb-g
37d00 65 74 61 74 74 72 20 63 61 6e 64 20 3a 74 61 67 29 29 0a 20 20 20 20 20 20 20 20 28 28 65 71 75 etattr.cand.:tag)).........((equ
37d20 61 6c 20 6e 61 6d 65 20 22 63 6f 6d 6d 65 6e 74 73 22 29 20 28 63 61 6c 69 62 72 65 64 62 2d 67 al.name."comments").(calibredb-g
37d40 65 74 61 74 74 72 20 63 61 6e 64 20 3a 63 6f 6d 6d 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 28 etattr.cand.:comment)).........(
37d60 28 65 71 75 61 6c 20 6e 61 6d 65 20 22 61 75 74 68 6f 72 5f 73 6f 72 74 22 29 20 28 63 61 6c 69 (equal.name."author_sort").(cali
37d80 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 20 3a 61 75 74 68 6f 72 2d 73 6f 72 74 29 bredb-getattr.cand.:author-sort)
37da0 29 0a 20 20 20 20 20 20 20 20 28 28 65 71 75 61 6c 20 6e 61 6d 65 20 22 61 75 74 68 6f 72 73 22 ).........((equal.name."authors"
37dc0 29 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 20 3a 61 75 74 68 6f ).(calibredb-getattr.cand.:autho
37de0 72 2d 73 6f 72 74 29 29 0a 20 20 20 20 20 20 20 20 28 28 65 71 75 61 6c 20 6e 61 6d 65 20 22 74 r-sort)).........((equal.name."t
37e00 69 74 6c 65 22 29 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 20 3a itle").(calibredb-getattr.cand.:
37e20 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 0a 20 20 20 20 20 20 20 20 28 28 65 71 75 61 6c 20 6e 61 6d book-title)).........((equal.nam
37e40 65 20 22 69 64 22 29 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 20 e."id").(calibredb-getattr.cand.
37e60 3a 69 64 29 29 0a 20 20 20 20 20 20 20 20 28 28 65 71 75 61 6c 20 6e 61 6d 65 20 22 69 64 73 22 :id)).........((equal.name."ids"
37e80 29 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 20 3a 69 64 73 29 29 ).(calibredb-getattr.cand.:ids))
37ea0 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 ))..(defun.calibredb-set-metadat
37ec0 61 20 28 6e 61 6d 65 20 26 72 65 73 74 20 70 72 6f 70 73 29 0a 20 20 22 53 65 74 20 6d 65 74 61 a.(name.&rest.props)..."Set.meta
37ee0 64 61 74 61 20 6f 6e 20 66 69 6c 65 20 4e 41 4d 45 20 6f 6e 20 6d 61 72 6b 65 64 20 63 61 6e 64 data.on.file.NAME.on.marked.cand
37f00 69 64 61 74 65 73 2e 0a 41 72 67 75 6d 65 6e 74 20 50 52 4f 50 53 20 61 72 65 20 74 68 65 20 61 idates..Argument.PROPS.are.the.a
37f20 64 64 69 74 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74 65 72 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 dditional.parameters."...(let.((
37f40 63 61 6e 64 69 64 61 74 65 73 20 28 70 6c 69 73 74 2d 67 65 74 20 70 72 6f 70 73 20 3a 63 61 6e candidates.(plist-get.props.:can
37f60 64 69 64 61 74 65 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 63 61 6e 64 69 64 61 74 65 73 didate))).....(unless.candidates
37f80 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 73 20 28 6f 72 20 28 63 61 6c .......(setq.candidates.(or.(cal
37fa0 69 62 72 65 64 62 2d 66 69 6e 64 2d 6d 61 72 6b 65 64 2d 63 61 6e 64 69 64 61 74 65 73 29 20 28 ibredb-find-marked-candidates).(
37fc0 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e calibredb-find-candidate-at-poin
37fe0 74 29 29 29 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 63 61 6e 64 73 20 28 63 6f 6e 64 20 28 28 t)))).....(let*.((cands.(cond.((
38000 6d 65 6d 71 20 74 68 69 73 2d 63 6f 6d 6d 61 6e 64 20 27 28 69 76 79 2d 64 69 73 70 61 74 63 68 memq.this-command.'(ivy-dispatch
38020 69 6e 67 2d 64 6f 6e 65 29 29 20 28 6c 69 73 74 20 63 61 6e 64 69 64 61 74 65 73 29 29 0a 20 20 ing-done)).(list.candidates))...
38040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6d 65 6d 71 20 74 68 69 ......................((memq.thi
38060 73 2d 63 6f 6d 6d 61 6e 64 20 27 28 68 65 6c 6d 2d 6d 61 79 62 65 2d 65 78 69 74 2d 6d 69 6e 69 s-command.'(helm-maybe-exit-mini
38080 62 75 66 66 65 72 29 29 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 68 65 6c 6d 2d 6d 61 72 6b buffer)).(if.(fboundp.'helm-mark
380a0 65 64 2d 63 61 6e 64 69 64 61 74 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ed-candidates)..................
380c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
380e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 ..............................(h
38100 65 6c 6d 2d 6d 61 72 6b 65 64 2d 63 61 6e 64 69 64 61 74 65 73 29 20 6e 69 6c 29 29 0a 20 20 20 elm-marked-candidates).nil))....
38120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 63 61 6e 64 69 64 61 74 .....................(t.candidat
38140 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6e 64 20 28 63 61 72 20 63 61 6e 64 es)))............(cand.(car.cand
38160 73 29 29 20 20 20 20 20 20 20 20 20 20 20 3b 20 77 65 20 75 73 65 20 63 61 72 20 6f 66 20 63 61 s))...........;.we.use.car.of.ca
38180 6e 64 73 20 74 6f 20 67 65 74 20 74 68 65 20 70 72 6f 6d 70 74 20 64 61 74 61 0a 20 20 20 20 20 nds.to.get.the.prompt.data......
381a0 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 ......(title.(calibredb-getattr.
381c0 63 61 6e 64 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 cand.:book-title))............(i
381e0 64 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 20 3a 69 64 29 29 0a d.(calibredb-getattr.cand.:id)).
38200 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 70 74 20 28 70 6c 69 73 74 2d 67 65 74 20 70 72 ...........(prompt.(plist-get.pr
38220 6f 70 73 20 3a 70 72 6f 6d 70 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 69 65 6c 64 20 ops.:prompt))............(field.
38240 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 69 74 20 28 63 61 6c 69 62 72 65 64 name)............(init.(calibred
38260 62 2d 67 65 74 2d 69 6e 69 74 20 66 69 65 6c 64 20 63 61 6e 64 29 29 0a 20 20 20 20 20 20 20 20 b-get-init.field.cand)).........
38280 20 20 20 28 6e 75 6d 20 28 6c 65 6e 67 74 68 20 63 61 6e 64 73 29 29 0a 20 20 20 20 20 20 20 20 ...(num.(length.cands)).........
382a0 20 20 20 28 69 6e 70 75 74 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 28 69 66 20 28 3e 20 6e 75 ...(input.(read-string.(if.(>.nu
382c0 6d 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 m.0)............................
382e0 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 53 65 74 20 22 20 66 69 65 6c 64 20 22 20 66 ........(concat."Set.".field.".f
38300 6f 72 20 22 20 28 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 6e 75 6d 29 20 22 20 69 74 or.".(number-to-string.num).".it
38320 65 6d 73 3a 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ems:.").........................
38340 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 70 72 6f 6d 70 74 20 69 64 20 22 20 22 20 74 .........(concat.prompt.id.".".t
38360 69 74 6c 65 20 22 3a 20 22 29 20 29 20 69 6e 69 74 29 29 29 0a 20 20 20 20 20 20 28 63 61 6c 69 itle.":.").).init))).......(cali
38380 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 70 72 6f 63 65 73 73 20 63 61 6e 64 73 bredb-set-metadata-process.cands
383a0 20 66 69 65 6c 64 20 69 6e 70 75 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 .field.input))))..(defun.calibre
383c0 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 70 72 6f 63 65 73 73 20 28 63 61 6e 64 73 20 66 db-set-metadata-process.(cands.f
383e0 69 65 6c 64 20 69 6e 70 75 74 29 0a 20 20 22 52 75 6e 20 73 65 71 75 65 6e 74 69 61 6c 20 70 72 ield.input)..."Run.sequential.pr
38400 6f 63 65 73 73 65 73 20 74 6f 20 73 65 74 20 6d 65 74 61 64 61 74 61 2e 0a 41 72 67 75 6d 65 6e ocesses.to.set.metadata..Argumen
38420 74 20 43 41 4e 44 53 20 69 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 63 61 6e 64 69 61 74 65 73 t.CANDS.is.the.list.of.candiates
38440 2e 0a 41 72 67 75 6d 65 6e 74 20 46 49 45 4c 44 20 69 73 20 74 68 65 20 6d 65 74 61 64 61 74 61 ..Argument.FIELD.is.the.metadata
38460 20 66 69 65 6c 64 2c 20 65 2e 67 2e 20 74 61 67 73 2c 20 61 75 74 68 6f 72 2e 0a 41 72 67 75 6d .field,.e.g..tags,.author..Argum
38480 65 6e 74 20 49 4e 50 55 54 20 69 73 20 74 68 65 20 6d 65 74 61 64 61 74 61 20 63 6f 6e 74 65 6e ent.INPUT.is.the.metadata.conten
384a0 74 73 20 74 6f 20 62 65 20 73 65 74 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 63 61 6e 64 20 28 70 ts.to.be.set."...(let*.((cand.(p
384c0 6f 70 20 63 61 6e 64 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 70 61 74 68 20 28 63 61 6c 69 op.cands))..........(lpath.(cali
384e0 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 20 3a 6c 70 61 74 68 29 29 29 0a 20 20 20 bredb-getattr.cand.:lpath)))....
38500 20 28 69 66 20 6c 70 61 74 68 0a 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 66 69 65 6c 64 0a .(if.lpath.........(pcase.field.
38520 20 20 20 20 20 20 20 20 20 20 28 22 74 61 67 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 61 ..........("tags"............(ca
38540 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 75 70 64 61 74 65 2d 74 61 67 73 2d 62 79 2d 6c 70 libredb-folder-update-tags-by-lp
38560 61 74 68 20 6c 70 61 74 68 20 69 6e 70 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e ath.lpath.input)............(con
38580 64 20 28 28 65 71 75 61 6c 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d d.((equal.major-mode.'calibredb-
385a0 73 68 6f 77 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 show-mode)...................(ca
385c0 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 72 65 66 72 65 73 68 29 29 0a 20 20 20 20 20 20 20 20 20 libredb-show-refresh))..........
385e0 20 20 20 20 20 20 20 20 28 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 ........((eq.major-mode.'calibre
38600 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 db-search-mode).................
38620 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d 72 ..(calibredb-search-refresh-or-r
38640 65 73 75 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 6e 69 6c 29 esume))..................(t.nil)
38660 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 5f 20 28 6d 65 73 73 61 67 65 20 22 57 65 20 64 6f 20 ))...........(_.(message."We.do.
38680 6e 6f 74 20 73 75 70 70 6f 72 74 20 73 65 74 74 69 6e 67 20 25 73 20 66 6f 72 20 2e 6d 61 74 61 not.support.setting.%s.for..mata
386a0 64 61 74 61 2e 63 61 6c 69 62 72 65 20 61 74 20 74 68 69 73 20 6d 6f 6d 65 6e 74 2e 22 20 63 61 data.calibre.at.this.moment.".ca
386c0 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 28 70 70 20 63 libredb-db-dir))).......;;.(pp.c
386e0 61 6e 64 29 0a 20 20 20 20 20 20 28 69 66 20 63 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 28 73 and).......(if.cand...........(s
38700 65 74 2d 70 72 6f 63 65 73 73 2d 73 65 6e 74 69 6e 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 28 et-process-sentinel............(
38720 6c 65 74 2a 20 28 28 69 64 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e let*.((id.(calibredb-getattr.can
38740 64 20 3a 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 d.:id)))..............(calibredb
38760 2d 70 72 6f 63 65 73 73 20 3a 63 6f 6d 6d 61 6e 64 20 22 73 65 74 5f 6d 65 74 61 64 61 74 61 22 -process.:command."set_metadata"
38780 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
387a0 20 3a 6f 70 74 69 6f 6e 20 22 2d 2d 66 69 65 6c 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .:option."--field"..............
387c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 6e 70 75 74 20 28 66 6f 72 6d 61 ...................:input.(forma
387e0 74 20 22 25 73 3a 5c 22 25 73 5c 22 22 20 66 69 65 6c 64 20 69 6e 70 75 74 29 0a 20 20 20 20 20 t."%s:\"%s\"".field.input)......
38800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 64 20 69 ...........................:id.i
38820 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d...............................
38840 20 20 3a 6c 69 62 72 61 72 79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62 72 61 72 79 2d 70 61 ..:library.(format."--library-pa
38860 74 68 20 5c 22 25 73 5c 22 22 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 29 29 th.\"%s\"".calibredb-root-dir)))
38880 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 20 5f 65 29 0a 20 20 20 20 20 ............(lambda.(p._e)......
388a0 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3d 20 30 20 28 70 72 6f 63 65 73 73 2d 65 78 69 74 ........(when.(=.0.(process-exit
388c0 2d 73 74 61 74 75 73 20 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 -status.p))................(cali
388e0 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 70 72 6f 63 65 73 73 20 63 61 6e 64 73 bredb-set-metadata-process.cands
38900 20 66 69 65 6c 64 20 69 6e 70 75 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 69 66 20 6e .field.input)))).........;;.if.n
38920 6f 20 63 61 6e 64 69 64 61 74 65 20 6c 65 66 74 20 74 6f 20 62 65 20 70 72 6f 63 65 73 73 65 64 o.candidate.left.to.be.processed
38940 2c 20 72 65 66 72 65 73 68 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 0a 20 20 20 ,.refresh.*calibredb-search*....
38960 20 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 75 61 6c 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 .....(cond.((equal.major-mode.'c
38980 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 alibredb-show-mode).............
389a0 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 72 65 66 72 65 73 68 29 29 0a 20 20 20 ...(calibredb-show-refresh))....
389c0 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 ...........((eq.major-mode.'cali
389e0 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 bredb-search-mode)..............
38a00 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d 72 ..(calibredb-search-refresh-or-r
38a20 65 73 75 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 6e 69 6c 29 29 29 29 esume))...............(t.nil))))
38a40 29 29 0a 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 ))...(defun.calibredb-set-metada
38a60 74 61 2d 2d 74 61 67 73 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 6e 64 69 64 61 74 65 29 0a 20 ta--tags.(&optional.candidate)..
38a80 20 22 41 64 64 20 74 61 67 73 2c 20 64 69 76 69 64 65 64 20 62 79 20 63 6f 6d 6d 61 2c 20 6f 6e ."Add.tags,.divided.by.comma,.on
38aa0 20 6d 61 72 6b 65 64 20 43 41 4e 44 49 44 41 54 45 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 .marked.CANDIDATEs."...(interact
38ac0 69 76 65 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 20 22 ive)...(calibredb-set-metadata."
38ae0 74 61 67 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tags"...........................
38b00 3a 70 72 6f 6d 70 74 20 22 41 64 64 20 74 61 67 73 20 66 6f 72 20 22 0a 20 20 20 20 20 20 20 20 :prompt."Add.tags.for.".........
38b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 61 6e 64 69 64 61 74 65 20 63 61 6e ..................:candidate.can
38b40 64 69 64 61 74 65 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d didate))..(defun.calibredb-set-m
38b60 65 74 61 64 61 74 61 2d 2d 63 6f 6d 6d 65 6e 74 73 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 6e etadata--comments.(&optional.can
38b80 64 69 64 61 74 65 29 0a 20 20 22 41 64 64 20 63 6f 6d 6d 65 6e 74 73 20 6f 6e 20 6d 61 72 6b 65 didate)..."Add.comments.on.marke
38ba0 64 20 43 41 4e 44 49 44 41 54 45 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 d.CANDIDATEs."...(interactive)..
38bc0 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 20 22 63 6f 6d 6d 65 6e .(calibredb-set-metadata."commen
38be0 74 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 70 ts"...........................:p
38c00 72 6f 6d 70 74 20 22 41 64 64 20 63 6f 6d 6d 65 6e 74 73 20 66 6f 72 20 22 0a 20 20 20 20 20 20 rompt."Add.comments.for.".......
38c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 61 6e 64 69 64 61 74 65 20 63 ....................:candidate.c
38c40 61 6e 64 69 64 61 74 65 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 andidate))..(defun.calibredb-set
38c60 2d 6d 65 74 61 64 61 74 61 2d 2d 74 69 74 6c 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 6e 64 -metadata--title.(&optional.cand
38c80 69 64 61 74 65 29 0a 20 20 22 43 68 61 6e 67 65 20 74 69 74 6c 65 20 6f 6e 20 6d 61 72 6b 65 64 idate)..."Change.title.on.marked
38ca0 20 43 41 4e 44 49 44 41 54 45 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 .CANDIDATEs."...(interactive)...
38cc0 28 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 20 22 74 69 74 6c 65 22 0a (calibredb-set-metadata."title".
38ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 70 72 6f 6d 70 ..........................:promp
38d00 74 20 22 43 68 61 6e 67 65 20 74 69 74 6c 65 20 66 6f 72 20 22 0a 20 20 20 20 20 20 20 20 20 20 t."Change.title.for."...........
38d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 61 6e 64 69 64 61 74 65 20 63 61 6e 64 69 ................:candidate.candi
38d40 64 61 74 65 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 date))..(defun.calibredb-set-met
38d60 61 64 61 74 61 2d 2d 61 75 74 68 6f 72 5f 73 6f 72 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 adata--author_sort.(&optional.ca
38d80 6e 64 69 64 61 74 65 29 0a 20 20 22 43 68 61 6e 67 65 20 61 75 74 68 6f 72 5f 73 6f 72 74 20 6f ndidate)..."Change.author_sort.o
38da0 6e 20 6d 61 72 6b 65 64 20 43 41 4e 44 49 44 41 54 45 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 n.marked.CANDIDATEs."...(interac
38dc0 74 69 76 65 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 20 tive)...(calibredb-set-metadata.
38de0 22 61 75 74 68 6f 72 5f 73 6f 72 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "author_sort"...................
38e00 20 20 20 20 20 20 20 20 3a 70 72 6f 6d 70 74 20 22 43 68 61 6e 67 65 20 61 75 74 68 6f 72 20 66 ........:prompt."Change.author.f
38e20 6f 72 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a or."...........................:
38e40 63 61 6e 64 69 64 61 74 65 20 63 61 6e 64 69 64 61 74 65 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 candidate.candidate))..(defun.ca
38e60 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 61 75 74 68 6f 72 73 20 28 26 libredb-set-metadata--authors.(&
38e80 6f 70 74 69 6f 6e 61 6c 20 63 61 6e 64 69 64 61 74 65 29 0a 20 20 22 43 68 61 6e 67 65 20 61 75 optional.candidate)..."Change.au
38ea0 74 68 6f 72 73 20 6f 6e 20 6d 61 72 6b 65 64 20 43 41 4e 44 49 44 41 54 45 73 2e 22 0a 20 20 28 thors.on.marked.CANDIDATEs."...(
38ec0 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 interactive)...(calibredb-set-me
38ee0 74 61 64 61 74 61 20 22 61 75 74 68 6f 72 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tadata."authors"................
38f00 20 20 20 20 20 20 20 20 20 20 20 3a 70 72 6f 6d 70 74 20 22 43 68 61 6e 67 65 20 61 75 74 68 6f ...........:prompt."Change.autho
38f20 72 20 66 6f 72 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.for.".........................
38f40 20 20 3a 63 61 6e 64 69 64 61 74 65 20 63 61 6e 64 69 64 61 74 65 29 29 0a 0a 28 64 65 66 75 6e ..:candidate.candidate))..(defun
38f60 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 6c 69 73 74 2d 66 69 .calibredb-set-metadata--list-fi
38f80 65 6c 64 73 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 6e 64 69 64 61 74 65 29 0a 20 20 22 4c 69 elds.(&optional.candidate)..."Li
38fa0 73 74 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 43 41 4e 44 49 44 41 54 45 20 73 75 70 70 6f 72 st.the.selected.CANDIDATE.suppor
38fc0 74 65 64 20 66 69 6c 65 64 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 ted.fileds."...(interactive)...(
38fe0 75 6e 6c 65 73 73 20 63 61 6e 64 69 64 61 74 65 0a 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 unless.candidate.....(setq.candi
39000 64 61 74 65 20 28 63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 date.(car.(calibredb-find-candid
39020 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 69 64 20 28 63 ate-at-point))))...(let*.((id.(c
39040 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64 61 74 65 20 3a 69 64 29 29 alibredb-getattr.candidate.:id))
39060 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 61 6e ).....(message.(calibredb-comman
39080 64 20 3a 63 6f 6d 6d 61 6e 64 20 22 73 65 74 5f 6d 65 74 61 64 61 74 61 22 0a 20 20 20 20 20 20 d.:command."set_metadata".......
390a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6f 70 74 69 6f ..........................:optio
390c0 6e 20 22 2d 2d 6c 69 73 74 2d 66 69 65 6c 64 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n."--list-fields"...............
390e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 64 20 69 64 0a 20 20 20 20 20 20 20 ..................:id.id........
39100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 62 72 61 72 .........................:librar
39120 79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 20 25 73 22 20 28 63 y.(format."--library-path.%s".(c
39140 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 2d 71 75 6f 74 65 29 29 29 29 29 29 0a 0a 28 alibredb-root-dir-quote))))))..(
39160 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 72 defun.calibredb-set-metadata--tr
39180 61 6e 73 69 65 6e 74 20 28 29 0a 20 20 22 53 65 74 20 6d 65 74 61 64 61 74 61 20 66 6f 72 20 63 ansient.()..."Set.metadata.for.c
391a0 61 6e 64 69 64 61 74 65 20 61 74 20 70 6f 69 6e 74 20 6f 72 20 6d 61 72 6b 65 64 20 63 61 6e 64 andidate.at.point.or.marked.cand
391c0 69 64 61 74 65 73 20 77 69 74 68 20 74 72 61 6e 73 69 65 6e 74 20 61 72 67 75 6d 65 6e 74 73 2e idates.with.transient.arguments.
391e0 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 63 61 6e 64 69 "...(interactive)...(let.((candi
39200 64 61 74 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 6d 61 72 6b 65 64 2d 63 61 6e dates.(calibredb-find-marked-can
39220 64 69 64 61 74 65 73 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 63 61 6e 64 69 64 61 74 65 didates))).....(unless.candidate
39240 73 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 73 20 28 63 61 6c 69 62 72 s.......(setq.candidates.(calibr
39260 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 29 0a 20 edb-find-candidate-at-point)))..
39280 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 72 61 6e ...(calibredb-set-metadata--tran
392a0 73 69 65 6e 74 2d 70 72 6f 63 65 73 73 20 63 61 6e 64 69 64 61 74 65 73 29 29 29 0a 0a 28 64 65 sient-process.candidates)))..(de
392c0 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 72 61 6e fun.calibredb-set-metadata--tran
392e0 73 69 65 6e 74 2d 70 72 6f 63 65 73 73 20 28 63 61 6e 64 73 29 0a 20 20 22 52 75 6e 20 73 65 71 sient-process.(cands)..."Run.seq
39300 75 65 6e 74 69 61 6c 20 70 72 6f 63 65 73 73 65 73 20 74 6f 20 73 65 74 20 6d 65 74 61 64 61 74 uential.processes.to.set.metadat
39320 61 20 77 69 74 68 20 74 72 61 6e 73 69 65 6e 74 20 63 6f 6d 6d 61 6e 64 73 2e 0a 41 72 67 75 6d a.with.transient.commands..Argum
39340 65 6e 74 20 43 41 4e 44 53 20 69 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 63 61 6e 64 69 61 74 ent.CANDS.is.the.list.of.candiat
39360 65 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 61 6e 64 20 28 70 6f 70 20 63 61 6e 64 73 29 29 29 es."...(let.((cand.(pop.cands)))
39380 0a 20 20 20 20 3b 3b 20 28 70 70 20 63 61 6e 64 29 0a 20 20 20 20 28 69 66 20 63 61 6e 64 0a 20 .....;;.(pp.cand).....(if.cand..
393a0 20 20 20 20 20 20 20 28 73 65 74 2d 70 72 6f 63 65 73 73 2d 73 65 6e 74 69 6e 65 6c 0a 20 20 20 .......(set-process-sentinel....
393c0 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 64 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 ......(let*.((id.(calibredb-geta
393e0 74 74 72 20 63 61 6e 64 20 3a 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 ttr.cand.:id)))............(cali
39400 62 72 65 64 62 2d 70 72 6f 63 65 73 73 20 3a 63 6f 6d 6d 61 6e 64 20 22 73 65 74 5f 6d 65 74 61 bredb-process.:command."set_meta
39420 64 61 74 61 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 data"...........................
39440 20 20 20 20 3a 6f 70 74 69 6f 6e 20 28 66 6f 72 6d 61 74 20 22 2d 2d 66 69 65 6c 64 20 5c 22 25 ....:option.(format."--field.\"%
39460 73 5c 22 22 20 28 73 2d 6a 6f 69 6e 20 22 5c 22 20 2d 2d 66 69 65 6c 64 20 5c 22 22 20 28 2d 72 s\"".(s-join."\".--field.\"".(-r
39480 65 6d 6f 76 65 20 27 73 2d 62 6c 61 6e 6b 3f 20 28 2d 66 6c 61 74 74 65 6e 20 28 63 61 6c 69 62 emove.'s-blank?.(-flatten.(calib
394a0 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 61 72 67 75 6d 65 6e 74 73 29 29 29 29 29 redb-set-metadata-arguments)))))
394c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a ...............................:
394e0 69 64 20 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 id.id...........................
39500 20 20 20 20 3a 6c 69 62 72 61 72 79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62 72 61 72 79 2d ....:library.(format."--library-
39520 70 61 74 68 20 5c 22 25 73 5c 22 22 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 path.\"%s\"".calibredb-root-dir)
39540 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 20 5f 65 29 0a 20 20 20 20 20 ))..........(lambda.(p._e)......
39560 20 20 20 20 20 20 28 77 68 65 6e 20 28 3d 20 30 20 28 70 72 6f 63 65 73 73 2d 65 78 69 74 2d 73 ......(when.(=.0.(process-exit-s
39580 74 61 74 75 73 20 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 tatus.p))..............(calibred
395a0 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 72 61 6e 73 69 65 6e 74 2d 70 72 6f 63 65 73 b-set-metadata--transient-proces
395c0 73 20 63 61 6e 64 73 29 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 69 66 20 6e 6f 20 63 61 6e 64 69 s.cands)))).......;;.if.no.candi
395e0 64 61 74 65 20 6c 65 66 74 20 74 6f 20 62 65 20 70 72 6f 63 65 73 73 65 64 2c 20 72 65 66 72 65 date.left.to.be.processed,.refre
39600 73 68 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 0a 20 20 20 20 20 20 28 63 6f 6e sh.*calibredb-search*.......(con
39620 64 20 28 28 65 71 75 61 6c 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d d.((equal.major-mode.'calibredb-
39640 73 68 6f 77 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 show-mode)..............(calibre
39660 64 62 2d 73 68 6f 77 2d 72 65 66 72 65 73 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 db-show-refresh)).............((
39680 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d eq.major-mode.'calibredb-search-
396a0 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 mode)..............(calibredb-se
396c0 61 72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d 72 65 73 75 6d 65 29 29 0a 20 20 20 20 20 20 20 arch-refresh-or-resume))........
396e0 20 20 20 20 20 28 74 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 .....(t.nil)))))..(defun.calibre
39700 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 20 28 29 0a 20 20 db-find-candidate-at-point.()...
39720 22 46 69 6e 64 20 63 61 6e 64 69 64 61 74 65 20 61 74 20 70 6f 69 6e 74 20 61 6e 64 20 72 65 74 "Find.candidate.at.point.and.ret
39740 75 72 6e 20 74 68 65 20 6c 69 73 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 urn.the.list."...(interactive)..
39760 20 28 69 66 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 .(if.(eq.major-mode.'calibredb-s
39780 65 61 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 28 6c 69 73 74 20 28 63 64 72 20 28 6f 72 earch-mode).......(list.(cdr.(or
397a0 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 6c .(get-text-property.(point).'cal
397c0 69 62 72 65 64 62 2d 65 6e 74 72 79 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ibredb-entry.nil)...............
397e0 20 20 20 20 20 20 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 .......(get-text-property.(point
39800 29 20 27 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 20 6e 69 6c 29 0a 20 20 20 20 20 ).'calibredb-detailed.nil)......
39820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 ................(get-text-proper
39840 74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 70 61 63 74 20 6e 69 ty.(point).'calibredb-compact.ni
39860 6c 29 29 29 29 0a 20 20 20 20 28 6c 69 73 74 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 l)))).....(list.(get-text-proper
39880 74 79 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 20 ty.(point-min).'calibredb-entry.
398a0 6e 69 6c 29 20 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d nil).)))..(defun.calibredb-find-
398c0 6d 61 72 6b 65 64 2d 63 61 6e 64 69 64 61 74 65 73 20 28 29 0a 20 20 22 46 69 6e 64 20 6d 61 72 marked-candidates.()..."Find.mar
398e0 6b 65 64 20 63 61 6e 64 69 64 61 74 65 73 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 61 6c ked.candidates.and.return.the.al
39900 69 73 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 73 61 76 65 2d 65 78 ist."...(interactive)...(save-ex
39920 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 6c 65 74 20 28 63 61 6e 64 69 64 61 74 65 20 62 65 67 20 cursion.....(let.(candidate.beg.
39940 65 6e 64 20 63 61 6e 64 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 74 65 78 74 end.cand-list).......(when.(text
39960 2d 70 72 6f 70 65 72 74 79 2d 6e 6f 74 2d 61 6c 6c 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 -property-not-all.(point-min).(p
39980 6f 69 6e 74 2d 6d 61 78 29 20 27 63 61 6c 69 62 72 65 64 62 2d 6d 61 72 6b 20 6e 69 6c 29 0a 20 oint-max).'calibredb-mark.nil)..
399a0 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6e 64 20 28 74 65 78 74 2d 70 72 6f 70 65 72 74 79 2d .......(setq.end.(text-property-
399c0 61 6e 79 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 27 63 61 6c any.(point-min).(point-max).'cal
399e0 69 62 72 65 64 62 2d 6d 61 72 6b 20 3f 3e 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 ibredb-mark.?>)).........(while.
39a00 28 73 65 74 71 20 62 65 67 20 28 74 65 78 74 2d 70 72 6f 70 65 72 74 79 2d 61 6e 79 20 65 6e 64 (setq.beg.(text-property-any.end
39a20 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 27 63 61 6c 69 62 72 65 64 62 2d 6d 61 72 6b 20 3f 3e 29 .(point-max).'calibredb-mark.?>)
39a40 20 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 62 65 67 29 0a 20 20 20 .)...........(goto-char.beg)....
39a60 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 20 28 63 64 72 20 28 67 65 74 .......(setq.candidate.(cdr.(get
39a80 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 6c 69 62 72 65 64 -text-property.(point).'calibred
39aa0 62 2d 65 6e 74 72 79 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 b-entry.nil)))...........(push.c
39ac0 61 6e 64 69 64 61 74 65 20 63 61 6e 64 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b andidate.cand-list)...........;;
39ae0 20 28 6d 65 73 73 61 67 65 20 28 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 62 65 67 29 .(message.(number-to-string.beg)
39b00 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 31 29 0a 20 20 20 )...........(forward-line.1)....
39b20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6e 64 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 .......(setq.end.(point)))......
39b40 20 20 20 63 61 6e 64 2d 6c 69 73 74 29 29 29 29 0a 0a 3b 3b 20 66 65 74 63 68 5f 6d 65 74 61 64 ...cand-list))))..;;.fetch_metad
39b60 61 74 61 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 70 64 66 2d 61 75 74 6f 2d 64 ata..(defun.calibredb-pdf-auto-d
39b80 65 74 65 63 74 2d 69 73 62 6e 20 28 26 6f 70 74 69 6f 6e 61 6c 20 65 6e 64 2d 70 61 67 65 29 0a etect-isbn.(&optional.end-page).
39ba0 20 20 22 49 6e 76 6f 6b 65 20 66 72 6f 6d 20 63 61 6c 69 62 72 65 2d 73 65 61 72 63 68 20 62 75 .."Invoke.from.calibre-search.bu
39bc0 66 66 65 72 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20 74 68 65 ffer..This.function.requires.the
39be0 20 70 64 66 2d 74 6f 6f 6c 73 20 28 70 64 66 2d 74 6f 6f 6c 73 2e 65 6c 29 20 74 6f 20 62 65 20 .pdf-tools.(pdf-tools.el).to.be.
39c00 69 6e 73 74 61 6c 6c 65 64 2e 0a 53 63 61 6e 20 66 6f 72 20 69 73 62 6e 20 66 72 6f 6d 20 70 61 installed..Scan.for.isbn.from.pa
39c20 67 65 20 31 20 75 70 74 6f 20 28 6e 6f 74 20 69 6e 63 6c 75 64 69 6e 67 29 20 45 4e 44 2d 50 41 ge.1.upto.(not.including).END-PA
39c40 47 45 20 28 64 65 66 61 75 6c 74 20 31 30 29 20 66 6f 72 20 70 64 66 20 66 69 6c 65 2e 22 0a 20 GE.(default.10).for.pdf.file."..
39c60 20 28 72 65 71 75 69 72 65 20 27 70 64 66 2d 74 6f 6f 6c 73 20 6e 69 6c 20 74 29 0a 20 20 28 69 .(require.'pdf-tools.nil.t)...(i
39c80 66 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 f.(eq.major-mode.'calibredb-sear
39ca0 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 69 73 62 6e 2d 6c 69 6e 65 0a 20 ch-mode).......(let.(isbn-line..
39cc0 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 28 69 73 62 6e 20 22 22 29 0a 20 20 20 20 20 20 20 20 ...........;;.(isbn."").........
39ce0 20 20 20 20 28 70 61 67 65 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 70 ....(page.1).............(file-p
39d00 61 74 68 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 63 61 72 20 28 63 61 6c ath.(calibredb-getattr.(car.(cal
39d20 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 ibredb-find-candidate-at-point))
39d40 20 3a 66 69 6c 65 2d 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 65 .:file-path))).........(unless.e
39d60 6e 64 2d 70 61 67 65 20 28 73 65 74 71 20 65 6e 64 2d 70 61 67 65 20 31 30 29 29 0a 20 20 20 20 nd-page.(setq.end-page.10)).....
39d80 20 20 20 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 3d 20 28 75 72 6c 2d 66 69 6c 65 2d 65 78 ....(cond.((string=.(url-file-ex
39da0 74 65 6e 73 69 6f 6e 20 66 69 6c 65 2d 70 61 74 68 29 20 22 2e 70 64 66 22 29 0a 20 20 20 20 20 tension.file-path).".pdf")......
39dc0 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 70 61 67 65 20 65 6e 64 2d 70 61 67 ..........(while.(<.page.end-pag
39de0 65 29 20 3b 20 73 63 61 6e 6e 69 6e 67 20 66 72 6f 6d 20 62 65 6c 6f 77 20 62 65 63 61 75 73 65 e).;.scanning.from.below.because
39e00 20 77 65 20 77 61 6e 74 20 74 6f 20 66 69 6e 64 20 66 69 72 73 74 20 69 6e 73 74 61 6e 63 65 20 .we.want.to.find.first.instance.
39e20 6f 66 20 49 53 42 4e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 of.ISBN..................(let.((
39e40 6d 61 74 63 68 20 28 63 64 72 20 28 61 73 73 6f 63 20 27 65 64 67 65 73 20 28 63 61 72 20 28 6f match.(cdr.(assoc.'edges.(car.(o
39e60 72 20 28 70 64 66 2d 69 6e 66 6f 2d 73 65 61 72 63 68 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 r.(pdf-info-search-string.......
39e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
39ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 73 62 6e 22 0a 20 20 20 20 20 20 20 .................."isbn"........
39ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
39ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 .................page...........
39f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
39f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 2d 70 61 74 68 29 0a 20 20 20 20 20 20 20 ..............file-path)........
39f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
39f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 64 66 2d 69 6e 66 6f 2d 73 65 61 ...................(pdf-info-sea
39f80 72 63 68 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rch-string......................
39fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
39fc0 20 20 20 20 20 20 22 6e 75 6d 62 65 72 2d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"number-".................
39fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3a000 20 20 20 20 20 20 20 20 20 20 20 70 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........page.................
3a020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3a040 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 2d 70 61 74 68 29 29 29 29 29 29 29 0a 20 20 20 20 ...........file-path))))))).....
3a060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 ...............;;.(current-buffe
3a080 72 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 r)))))))....................(set
3a0a0 71 20 70 61 67 65 20 28 31 2b 20 70 61 67 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 q.page.(1+.page))...............
3a0c0 20 20 20 20 20 28 63 6f 6e 64 20 28 6d 61 74 63 68 20 28 73 65 74 71 20 69 73 62 6e 2d 6c 69 6e .....(cond.(match.(setq.isbn-lin
3a0e0 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e...............................
3a100 20 20 20 20 20 20 20 20 28 70 64 66 2d 69 6e 66 6f 2d 67 65 74 74 65 78 74 0a 20 20 20 20 20 20 ........(pdf-info-gettext.......
3a120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3a140 20 28 31 2d 20 70 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(1-.page)......................
3a160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 72 20 6d 61 74 63 68 29 0a 20 20 ..................(car.match)...
3a180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3a1a0 20 20 20 20 20 27 6c 69 6e 65 20 66 69 6c 65 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 .....'line.file-path))..........
3a1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 61 67 .......................(setq.pag
3a1e0 65 20 28 31 2b 20 65 6e 64 2d 70 61 67 65 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 e.(1+.end-page))))))............
3a200 20 20 20 20 28 63 6f 6e 64 20 28 69 73 62 6e 2d 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 ....(cond.(isbn-line............
3a220 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 ...........(cond.((string-match.
3a240 22 5c 5c 28 49 53 42 4e 5c 5c 29 5b 5e 30 2d 39 5d 2a 5c 5c 28 31 30 5c 5c 7c 31 33 5c 5c 29 2a "\\(ISBN\\)[^0-9]*\\(10\\|13\\)*
3a260 5b 5e 30 2d 39 5d 2a 20 2a 5c 5c 28 5b 30 2d 39 2d 20 78 5d 2a 5c 5c 29 20 2a 22 20 69 73 62 6e [^0-9]*.*\\([0-9-.x]*\\).*".isbn
3a280 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -line)..........................
3a2a0 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 33 20 69 73 62 6e 2d 6c 69 6e 65 29 29 0a ....(match-string.3.isbn-line)).
3a2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 74 ............................((st
3a2e0 72 69 6e 67 2d 6d 61 74 63 68 20 22 31 33 3a 20 2a 5c 5c 28 5b 30 2d 39 2d 20 78 5d 2a 5c 5c 29 ring-match."13:.*\\([0-9-.x]*\\)
3a300 20 2a 22 20 69 73 62 6e 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*".isbn-line)..................
3a320 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 69 73 62 6e ............(match-string.1.isbn
3a340 2d 6c 69 6e 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 -line))))......................(
3a360 74 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 6e 69 6c 29 29 29 t.nil)))...............(t.nil)))
3a380 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 53 68 6f 75 6c 64 20 62 65 20 69 6e 76 6f 6b 65 64 .....(message."Should.be.invoked
3a3a0 20 66 72 6f 6d 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 20 62 75 66 66 65 72 22 .from.*calibredb-search*.buffer"
3a3c0 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 64 6a 76 75 2d 61 75 74 6f 2d )))..(defun.calibredb-djvu-auto-
3a3e0 64 65 74 65 63 74 2d 69 73 62 6e 20 28 29 0a 20 20 22 49 6e 76 6f 6b 65 20 66 72 6f 6d 20 63 61 detect-isbn.()..."Invoke.from.ca
3a400 6c 69 62 72 65 2d 73 65 61 72 63 68 20 62 75 66 66 65 72 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 libre-search.buffer..This.functi
3a420 6f 6e 20 72 65 71 75 69 72 65 73 20 74 68 65 20 64 6a 76 75 20 28 64 6a 76 75 2e 65 6c 29 20 70 on.requires.the.djvu.(djvu.el).p
3a440 61 63 6b 61 67 65 20 74 6f 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 2e 0a 53 63 61 6e 20 66 6f 72 ackage.to.be.installed..Scan.for
3a460 20 69 73 62 6e 20 66 72 6f 6d 20 74 68 65 20 66 69 72 73 74 20 39 20 70 61 67 65 73 20 6f 66 20 .isbn.from.the.first.9.pages.of.
3a480 74 68 65 20 64 6a 76 75 20 66 69 6c 65 2e 22 0a 20 20 28 64 6a 76 75 2d 66 69 6e 64 2d 66 69 6c the.djvu.file."...(djvu-find-fil
3a4a0 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 63 61 72 20 28 63 61 6c 69 62 e.(calibredb-getattr.(car.(calib
3a4c0 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 20 3a redb-find-candidate-at-point)).:
3a4e0 66 69 6c 65 2d 70 61 74 68 29 29 0a 20 20 28 64 6a 76 75 2d 67 6f 74 6f 2d 70 61 67 65 20 31 29 file-path))...(djvu-goto-page.1)
3a500 0a 20 20 28 6c 65 74 2a 20 28 28 6d 61 74 63 68 20 28 6c 65 74 20 28 28 70 61 67 65 20 64 6a 76 ...(let*.((match.(let.((page.djv
3a520 75 2d 64 6f 63 2d 70 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 u-doc-page).....................
3a540 20 20 28 6d 61 74 63 68 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(match.nil))..................
3a560 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6f 72 20 6d 61 74 63 68 20 28 3e 20 70 61 67 65 20 31 .(while.(not.(or.match.(>.page.1
3a580 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 6e 0))).....................(djvu-n
3a5a0 65 78 74 2d 70 61 67 65 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ext-page.1).....................
3a5c0 28 73 65 74 71 20 70 61 67 65 20 64 6a 76 75 2d 64 6f 63 2d 70 61 67 65 29 0a 20 20 20 20 20 20 (setq.page.djvu-doc-page).......
3a5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 72 65 2d 73 65 61 72 63 68 2d 66 ..............(when.(re-search-f
3a600 6f 72 77 61 72 64 20 22 5e 2e 2a 69 73 62 6e 2e 2a 24 22 20 6e 69 6c 20 74 29 20 28 73 65 74 71 orward."^.*isbn.*$".nil.t).(setq
3a620 20 6d 61 74 63 68 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 .match.t)))...................(p
3a640 72 69 6e 74 20 6d 61 74 63 68 29 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 69 73 62 6e 2d 6c rint.match)))).....(let.((isbn-l
3a660 69 6e 65 20 22 22 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 20 28 6d 61 74 63 68 0a 20 20 20 20 ine."")).......(cond.(match.....
3a680 20 20 20 20 20 20 20 20 20 3b 3b 20 28 70 72 69 6e 74 20 28 66 6f 72 6d 61 74 20 22 48 45 4c 4c .........;;.(print.(format."HELL
3a6a0 4f 22 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 30 O".(match-string-no-properties.0
3a6c0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 73 62 6e 2d 6c 69 6e 65 )))..............(setq.isbn-line
3a6e0 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 30 29 29 .(match-string-no-properties.0))
3a700 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 ..............(set-buffer-modifi
3a720 65 64 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 ed-p.nil)..............(kill-buf
3a740 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 fer)..............(string-match.
3a760 22 5c 5c 28 69 73 62 6e 5c 5c 29 5b 5e 30 2d 39 5d 2a 5c 5c 28 31 30 5c 5c 7c 31 33 5c 5c 29 2a "\\(isbn\\)[^0-9]*\\(10\\|13\\)*
3a780 5b 5e 30 2d 39 5d 2a 20 2a 5c 5c 28 5b 30 2d 39 2d 20 78 5d 2a 5c 5c 29 20 2a 22 20 69 73 62 6e [^0-9]*.*\\([0-9-.x]*\\).*".isbn
3a7a0 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e -line)..............(match-strin
3a7c0 67 20 33 20 69 73 62 6e 2d 6c 69 6e 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 g.3.isbn-line)).............(t..
3a7e0 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 ............(set-buffer-modified
3a800 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 -p.nil)..............(kill-buffe
3a820 72 29 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 61 75 r).nil)))))..(defun.calibredb-au
3a840 74 6f 2d 64 65 74 65 63 74 2d 69 73 62 6e 20 28 29 0a 20 20 22 49 6e 76 6f 6b 65 20 66 72 6f 6d to-detect-isbn.()..."Invoke.from
3a860 20 63 61 6c 69 62 72 65 2d 73 65 61 72 63 68 20 62 75 66 66 65 72 20 61 6e 64 20 73 63 61 6e 20 .calibre-search.buffer.and.scan.
3a880 66 6f 72 20 69 73 62 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 for.isbn."...(interactive)...(le
3a8a0 74 20 20 28 28 66 6f 72 6d 61 74 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 t..((format.(calibredb-getattr.(
3a8c0 63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 car.(calibredb-find-candidate-at
3a8e0 2d 70 6f 69 6e 74 29 29 20 3a 62 6f 6f 6b 2d 66 6f 72 6d 61 74 29 29 29 0a 20 20 20 20 28 63 6f -point)).:book-format))).....(co
3a900 6e 64 20 28 28 73 74 72 69 6e 67 3d 20 66 6f 72 6d 61 74 20 22 70 64 66 22 29 0a 20 20 20 20 20 nd.((string=.format."pdf")......
3a920 20 20 20 20 20 20 28 69 66 20 28 66 65 61 74 75 72 65 70 20 27 70 64 66 2d 74 6f 6f 6c 73 29 0a ......(if.(featurep.'pdf-tools).
3a940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 70 64 66 2d 61 75 ...............(calibredb-pdf-au
3a960 74 6f 2d 64 65 74 65 63 74 2d 69 73 62 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c to-detect-isbn)..............nil
3a980 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 3d 20 66 6f 72 6d 61 74 20 22 64 ))...........((string=.format."d
3a9a0 6a 76 75 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 66 65 61 74 75 72 65 70 20 27 jvu")............(if.(featurep.'
3a9c0 64 6a 76 75 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d djvu)................(calibredb-
3a9e0 64 6a 76 75 2d 61 75 74 6f 2d 64 65 74 65 63 74 2d 69 73 62 6e 29 0a 20 20 20 20 20 20 20 20 20 djvu-auto-detect-isbn)..........
3aa00 20 20 20 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 20 6e 69 6c 29 29 29 29 0a 0a ....nil))...........(t.nil))))..
3aa20 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 72 65 73 75 6c 74 73 20 28 6d (defun.calibredb-show-results.(m
3aa40 65 74 61 64 61 74 61 20 26 6f 70 74 69 6f 6e 61 6c 20 73 77 69 74 63 68 29 0a 20 20 22 44 69 73 etadata.&optional.switch)..."Dis
3aa60 70 6c 61 79 20 4d 45 54 41 44 41 54 41 20 66 65 74 63 68 20 72 65 73 75 6c 74 73 20 69 6e 20 74 play.METADATA.fetch.results.in.t
3aa80 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 he.current.buffer..Optional.argu
3aaa0 6d 65 6e 74 20 53 57 49 54 43 48 20 74 6f 20 73 77 69 74 63 68 20 74 6f 20 2a 63 61 6c 69 62 72 ment.SWITCH.to.switch.to.*calibr
3aac0 65 64 62 2d 73 65 61 72 63 68 2a 20 62 75 66 66 65 72 20 74 6f 20 6f 74 68 65 72 20 77 69 6e 64 edb-search*.buffer.to.other.wind
3aae0 6f 77 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 73 6c 69 67 68 6c 79 20 6d ow..This.function.is.a.slighly.m
3ab00 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 66 72 6f 6d 20 66 75 6e 63 74 69 6f 6e 20 60 63 odified.version.from.function.`c
3ab20 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 65 6e 74 72 79 27 22 0a 20 20 28 75 6e 6c 65 73 73 20 alibredb-show-entry'"...(unless.
3ab40 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6d (eq.major-mode.'calibredb-show-m
3ab60 6f 64 65 29 0a 20 20 20 20 28 77 68 65 6e 20 28 67 65 74 2d 62 75 66 66 65 72 20 28 63 61 6c 69 ode).....(when.(get-buffer.(cali
3ab80 62 72 65 64 62 2d 73 68 6f 77 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 6d 65 74 61 64 61 74 61 bredb-show--buffer-name.metadata
3aba0 29 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 28 63 61 6c 69 62 72 65 64 62 )).......(kill-buffer.(calibredb
3abc0 2d 73 68 6f 77 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 6d 65 74 61 64 61 74 61 29 29 29 29 0a -show--buffer-name.metadata)))).
3abe0 20 20 28 6c 65 74 2a 20 28 28 62 75 66 66 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 ..(let*.((buff.(get-buffer-creat
3ac00 65 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 6d e.(calibredb-show--buffer-name.m
3ac20 65 74 61 64 61 74 61 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 61 67 20 28 63 64 72 20 28 61 etadata)))..........(tag.(cdr.(a
3ac40 73 73 6f 63 20 22 54 61 67 73 22 20 6d 65 74 61 64 61 74 61 29 29 29 0a 20 20 20 20 20 20 20 20 ssoc."Tags".metadata))).........
3ac60 20 28 63 6f 6d 6d 65 6e 74 20 28 63 64 72 20 28 61 73 73 6f 63 20 22 43 6f 6d 6d 65 6e 74 73 22 .(comment.(cdr.(assoc."Comments"
3ac80 20 6d 65 74 61 64 61 74 61 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6d 79 61 75 74 68 6f 72 73 .metadata)))..........(myauthors
3aca0 20 28 63 64 72 20 28 61 73 73 6f 63 20 22 41 75 74 68 6f 72 73 22 20 6d 65 74 61 64 61 74 61 29 .(cdr.(assoc."Authors".metadata)
3acc0 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 63 64 72 20 28 61 73 73 6f 63 20 22 ))..........(title.(cdr.(assoc."
3ace0 54 69 74 6c 65 22 20 6d 65 74 61 64 61 74 61 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 75 62 Title".metadata)))..........(pub
3ad00 64 61 74 65 20 28 63 64 72 20 28 61 73 73 6f 63 20 22 50 75 62 6c 69 73 68 65 64 22 20 6d 65 74 date.(cdr.(assoc."Published".met
3ad20 61 64 61 74 61 29 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 28 71 75 65 72 79 2d 72 65 73 75 adata)))..........;;.(query-resu
3ad40 6c 74 20 28 63 64 72 20 28 63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 63 61 6e 64 69 64 61 74 lt.(cdr.(car.(calibredb-candidat
3ad60 65 20 69 64 29 29 29 29 20 3b 20 67 65 74 20 74 68 65 20 6e 65 77 20 6d 65 74 61 64 61 74 61 20 e.id)))).;.get.the.new.metadata.
3ad80 74 68 72 6f 75 67 68 20 53 51 4c 20 71 75 65 72 79 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 28 63 through.SQL.query..........;;.(c
3ada0 6f 76 65 72 20 28 66 6f 72 6d 61 74 20 22 2f 74 6d 70 2f 25 73 2e 6a 70 67 22 20 73 6f 75 72 63 over.(format."/tmp/%s.jpg".sourc
3adc0 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 76 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 67 e))..........(cover.(calibredb-g
3ade0 65 74 2d 63 6f 76 65 72 20 28 63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 et-cover.(car.(calibredb-find-ca
3ae00 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b ndidate-at-point))))..........;;
3ae20 20 28 66 6f 72 6d 61 74 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 6d 65 74 61 .(format.(calibredb-getattr.meta
3ae40 64 61 74 61 20 3a 62 6f 6f 6b 2d 66 6f 72 6d 61 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 6f 72 data.:book-format))..........(or
3ae60 69 67 69 6e 61 6c 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 62 65 67 20 65 6e 64 iginal.(point))..........beg.end
3ae80 29 0a 20 20 20 20 28 63 6c 65 61 72 2d 69 6d 61 67 65 2d 63 61 63 68 65 20 63 6f 76 65 72 29 0a ).....(clear-image-cache.cover).
3aea0 20 20 20 20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 29 ....(let.((inhibit-read-only.t))
3aec0 0a 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 .......(with-current-buffer.buff
3aee0 0a 20 20 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 .........(erase-buffer).........
3af00 28 73 65 74 71 20 62 65 67 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 28 69 (setq.beg.(point)).........;;.(i
3af20 6e 73 65 72 74 20 28 70 72 6f 70 65 72 74 69 7a 65 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f nsert.(propertize.(calibredb-sho
3af40 77 2d 6d 65 74 61 64 61 74 61 20 6d 65 74 61 64 61 74 61 29 20 27 63 61 6c 69 62 72 65 64 62 2d w-metadata.metadata).'calibredb-
3af60 6d 65 74 61 64 61 74 61 20 6d 65 74 61 64 61 74 61 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 metadata.metadata)).........(set
3af80 71 20 65 6e 64 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 q.end.(point)).........(put-text
3afa0 2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 65 6e 64 20 27 63 61 6c 69 62 72 65 64 62 2d 6d 65 74 -property.beg.end.'calibredb-met
3afc0 61 64 61 74 61 20 6d 65 74 61 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 adata.metadata).........(insert.
3afe0 28 66 6f 72 6d 61 74 20 22 54 69 74 6c 65 20 20 20 20 20 20 20 25 73 5c 6e 22 20 28 70 72 6f 70 (format."Title.......%s\n".(prop
3b000 65 72 74 69 7a 65 20 74 69 74 6c 65 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 74 69 ertize.title.'face.'calibredb-ti
3b020 74 6c 65 2d 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 tle-face))).........(insert.(for
3b040 6d 61 74 20 22 41 75 74 68 6f 72 28 73 29 20 20 20 25 73 5c 6e 22 20 28 70 72 6f 70 65 72 74 69 mat."Author(s)...%s\n".(properti
3b060 7a 65 20 6d 79 61 75 74 68 6f 72 73 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 61 75 ze.myauthors.'face.'calibredb-au
3b080 74 68 6f 72 2d 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 74 61 67 20 28 thor-face))).........(when.tag.(
3b0a0 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 54 61 67 73 20 20 20 20 20 20 20 20 25 73 5c 6e insert.(format."Tags........%s\n
3b0c0 22 20 28 70 72 6f 70 65 72 74 69 7a 65 20 74 61 67 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 ".(propertize.tag.'face.'calibre
3b0e0 64 62 2d 74 61 67 2d 66 61 63 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 63 6f db-tag-face)))).........(when.co
3b100 6d 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 mment...........(insert.(format.
3b120 22 43 6f 6d 6d 65 6e 74 73 20 20 20 20 25 73 5c 6e 22 20 28 70 72 6f 70 65 72 74 69 7a 65 20 63 "Comments....%s\n".(propertize.c
3b140 6f 6d 6d 65 6e 74 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 65 6e 74 2d omment.'face.'calibredb-comment-
3b160 66 61 63 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 70 75 62 64 61 74 65 0a 20 face)))).........(when.pubdate..
3b180 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 50 75 62 6c 69 73 .........(insert.(format."Publis
3b1a0 68 65 64 20 20 20 25 73 5c 6e 22 20 28 70 72 6f 70 65 72 74 69 7a 65 20 70 75 62 64 61 74 65 20 hed...%s\n".(propertize.pubdate.
3b1c0 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 70 75 62 64 61 74 65 2d 66 61 63 65 29 29 29 'face.'calibredb-pubdate-face)))
3b1e0 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 ).........(insert."\n").........
3b200 3b 3b 20 28 69 66 20 28 69 6d 61 67 65 2d 74 79 70 65 2d 61 76 61 69 6c 61 62 6c 65 2d 70 20 28 ;;.(if.(image-type-available-p.(
3b220 69 6e 74 65 72 6e 20 66 6f 72 6d 61 74 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 20 20 20 20 28 intern.format)).........;;.....(
3b240 63 61 6c 69 62 72 65 64 62 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 66 69 6c 65 20 22 22 20 63 calibredb-insert-image.file."".c
3b260 61 6c 69 62 72 65 64 62 2d 6c 69 73 74 2d 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78 2d 77 69 64 alibredb-list-view-image-max-wid
3b280 74 68 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 73 74 2d 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78 th.calibredb-list-view-image-max
3b2a0 2d 68 65 69 67 68 74 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 20 20 28 63 61 6c 69 62 72 65 64 62 -height).........;;...(calibredb
3b2c0 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 63 6f 76 65 72 20 22 22 20 63 61 6c 69 62 72 65 64 62 -insert-image.cover."".calibredb
3b2e0 2d 6c 69 73 74 2d 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78 2d 77 69 64 74 68 20 63 61 6c 69 62 -list-view-image-max-width.calib
3b300 72 65 64 62 2d 6c 69 73 74 2d 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78 2d 68 65 69 67 68 74 29 redb-list-view-image-max-height)
3b320 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 63 6f 76 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 ).........(if.cover.............
3b340 28 63 61 6c 69 62 72 65 64 62 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 63 6f 76 65 72 0a 20 20 (calibredb-insert-image.cover...
3b360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3b380 20 20 22 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..""............................
3b3a0 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 73 74 2d 76 69 65 77 2d 69 6d 61 .........calibredb-list-view-ima
3b3c0 67 65 2d 6d 61 78 2d 77 69 64 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ge-max-width....................
3b3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 73 74 2d .................calibredb-list-
3b400 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78 2d 68 65 69 67 68 74 29 0a 20 20 20 20 20 20 20 20 20 view-image-max-height)..........
3b420 20 28 70 72 69 6e 74 20 22 4e 6f 20 63 6f 76 65 72 20 61 76 61 69 6c 61 62 6c 65 22 29 29 0a 20 .(print."No.cover.available"))..
3b440 20 20 20 20 20 20 20 3b 3b 20 28 73 65 74 71 20 65 6e 64 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 .......;;.(setq.end.(point))....
3b460 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6d 6f 64 65 29 0a 20 20 20 20 20 .....(calibredb-show-mode)......
3b480 20 20 20 3b 3b 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6d 65 74 61 64 ...;;.(setq.calibredb-show-metad
3b4a0 61 74 61 20 6d 65 74 61 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 ata.metadata).........(goto-char
3b4c0 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 .(point-min)))).....(unless.(eq.
3b4e0 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6d 6f 64 65 29 major-mode.'calibredb-show-mode)
3b500 0a 20 20 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 62 75 66 66 29 0a 20 .......(switch-to-buffer.buff)..
3b520 20 20 20 20 20 28 77 68 65 6e 20 73 77 69 74 63 68 0a 20 20 20 20 20 20 20 20 28 73 77 69 74 63 .....(when.switch.........(switc
3b540 68 2d 74 6f 2d 62 75 66 66 65 72 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 28 73 65 74 2d 62 75 h-to-buffer-other-window.(set-bu
3b560 66 66 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 2d 62 75 66 66 65 72 2d 6e ffer.(calibredb-search--buffer-n
3b580 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6f 72 69 67 69 6e ame))).........(goto-char.origin
3b5a0 61 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d al)))))..(defun.calibredb-fetch-
3b5c0 6d 65 74 61 64 61 74 61 2d 66 72 6f 6d 2d 73 6f 75 72 63 65 73 20 28 61 75 74 68 6f 72 20 74 69 metadata-from-sources.(author.ti
3b5e0 74 6c 65 20 26 6f 70 74 69 6f 6e 61 6c 20 69 64 73 20 69 73 62 6e 20 66 65 74 63 68 2d 63 6f 76 tle.&optional.ids.isbn.fetch-cov
3b600 65 72 29 0a 20 20 22 46 65 74 63 68 20 6d 65 74 61 64 61 74 61 20 66 72 6f 6d 20 6f 6e 6c 69 6e er)..."Fetch.metadata.from.onlin
3b620 65 20 73 6f 75 72 63 65 20 76 69 61 20 61 75 74 68 6f 72 20 61 6e 64 20 74 69 74 6c 65 20 6f 72 e.source.via.author.and.title.or
3b640 20 49 53 42 4e 2e 0a 49 6e 76 6f 6b 65 20 66 72 6f 6d 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 .ISBN..Invoke.from.*calibredb-se
3b660 61 72 63 68 2a 20 62 75 66 66 65 72 2e 0a 41 55 54 48 4f 52 2c 20 54 49 54 4c 45 2c 20 49 44 53 arch*.buffer..AUTHOR,.TITLE,.IDS
3b680 20 61 6e 64 20 49 53 42 4e 20 73 68 6f 75 6c 64 20 62 65 20 73 74 72 69 6e 67 73 2e 0a 52 65 74 .and.ISBN.should.be.strings..Ret
3b6a0 75 72 6e 73 20 61 6e 20 61 6c 69 73 74 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 73 20 28 53 4f 55 urns.an.alist.with.elements.(SOU
3b6c0 52 43 45 20 52 45 53 55 4c 54 53 29 20 77 68 65 72 65 20 53 4f 55 52 43 45 20 69 73 20 61 0a 73 RCE.RESULTS).where.SOURCE.is.a.s
3b6e0 74 72 69 6e 67 20 61 6e 64 20 52 45 53 55 4c 54 53 20 69 73 20 61 6e 20 61 6c 69 73 74 20 77 69 tring.and.RESULTS.is.an.alist.wi
3b700 74 68 20 65 6c 65 6d 65 6e 74 73 20 28 50 52 4f 50 20 56 41 4c 55 45 29 2e 20 49 66 20 6e 6f 0a th.elements.(PROP.VALUE)..If.no.
3b720 6d 65 74 61 64 61 74 61 20 77 61 73 20 66 6f 75 6e 64 20 66 72 6f 6d 20 61 20 73 6f 75 72 63 65 metadata.was.found.from.a.source
3b740 20 74 68 65 6e 20 69 6e 20 74 68 65 6e 20 6e 69 6c 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6e .then.in.then.nil.is.returned.in
3b760 0a 74 68 65 20 6f 75 74 65 72 20 61 6c 69 73 74 20 28 6e 69 6c 20 69 6e 73 74 65 61 64 20 6f 66 .the.outer.alist.(nil.instead.of
3b780 20 28 53 4f 55 52 43 45 20 52 45 53 55 4c 54 53 29 29 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 61 .(SOURCE.RESULTS))."...(let*.((a
3b7a0 75 74 68 6f 72 73 20 28 69 66 20 28 6f 72 20 69 73 62 6e 20 69 64 73 29 20 22 22 0a 20 20 20 20 uthors.(if.(or.isbn.ids)."".....
3b7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 22 41 75 ................(read-string."Au
3b7e0 74 68 6f 72 73 3a 20 22 20 61 75 74 68 6f 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 69 74 thors:.".author)))..........(tit
3b800 6c 65 20 28 69 66 20 28 6f 72 20 69 73 62 6e 20 69 64 73 29 20 22 22 0a 20 20 20 20 20 20 20 20 le.(if.(or.isbn.ids)."".........
3b820 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 22 54 69 74 6c 65 3a 20 22 ..........(read-string."Title:."
3b840 20 74 69 74 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 64 20 28 69 66 20 69 64 73 20 28 .title)))..........(id.(if.ids.(
3b860 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 49 44 3a 20 22 20 69 64 73 29 0a 20 20 20 20 completing-read."ID:.".ids).....
3b880 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 73 62 6e 20 ...........nil))..........(isbn.
3b8a0 28 69 66 20 69 73 62 6e 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 22 49 53 42 4e 3a 20 22 20 69 (if.isbn.(read-string."ISBN:.".i
3b8c0 73 62 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 29 29 29 0a 20 20 20 sbn)..................nil)))....
3b8e0 20 28 6d 65 73 73 61 67 65 20 22 46 65 74 63 68 69 6e 67 20 6d 65 74 61 64 61 74 61 20 66 72 6f .(message."Fetching.metadata.fro
3b900 6d 20 73 6f 75 72 63 65 73 2e 2e 2e 20 6d 61 79 20 74 61 6b 65 20 61 20 66 65 77 20 73 65 63 6f m.sources....may.take.a.few.seco
3b920 6e 64 73 22 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 73 6f 75 72 63 65 73 20 63 61 6c 69 62 72 nds").....(let*.((sources.calibr
3b940 65 64 62 2d 66 65 74 63 68 2d 6d 65 74 61 64 61 74 61 2d 73 6f 75 72 63 65 2d 6c 69 73 74 29 0a edb-fetch-metadata-source-list).
3b960 20 20 20 20 20 20 20 20 20 20 20 28 72 65 73 75 6c 74 73 20 28 6d 61 70 63 61 72 0a 20 20 20 20 ...........(results.(mapcar.....
3b980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 73 6f 75 72 63 65 .................(lambda.(source
3b9a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 )........................(let*.(
3b9c0 28 63 6d 64 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (cmd.(cond......................
3b9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............(id..............
3ba00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 0a ........................(format.
3ba20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3ba40 20 20 20 20 20 20 28 69 66 20 66 65 74 63 68 2d 63 6f 76 65 72 0a 20 20 20 20 20 20 20 20 20 20 ......(if.fetch-cover...........
3ba60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3ba80 60 2c 28 66 6f 72 6d 61 74 20 22 25 25 73 20 2d 70 20 5c 22 25 25 73 5c 22 20 2d 2d 69 64 65 6e `,(format."%%s.-p.\"%%s\".--iden
3baa0 74 69 66 69 65 72 20 5c 22 25 25 73 5c 22 20 2d 63 20 25 73 20 20 32 3e 2f 64 65 76 2f 6e 75 6c tifier.\"%%s\".-c.%s..2>/dev/nul
3bac0 6c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l"..............................
3bae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 .......................(expand-f
3bb00 69 6c 65 2d 6e 61 6d 65 20 22 63 6f 76 65 72 2e 6a 70 67 22 20 74 65 6d 70 6f 72 61 72 79 2d 66 ile-name."cover.jpg".temporary-f
3bb20 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ile-directory)).................
3bb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 25 73 20 2d 70 20 5c ........................"%s.-p.\
3bb60 22 25 73 5c 22 20 2d 2d 69 64 65 6e 74 69 66 69 65 72 20 5c 22 25 73 5c 22 20 32 3e 2f 64 65 76 "%s\".--identifier.\"%s\".2>/dev
3bb80 2f 6e 75 6c 6c 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /null").........................
3bba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 6d 65 ..............calibredb-fetch-me
3bbc0 74 61 64 61 74 61 2d 70 72 6f 67 72 61 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tadata-program..................
3bbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 75 72 63 65 0a 20 20 20 20 .....................source.....
3bc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3bc20 20 20 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..id))..........................
3bc40 20 20 20 20 20 20 20 20 20 20 20 28 69 73 62 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........(isbn................
3bc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 0a 20 20 ......................(format...
3bc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3bca0 20 20 20 20 28 69 66 20 66 65 74 63 68 2d 63 6f 76 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 ....(if.fetch-cover.............
3bcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 2c ..............................`,
3bce0 28 66 6f 72 6d 61 74 20 22 25 25 73 20 2d 70 20 5c 22 25 25 73 5c 22 20 2d 2d 69 73 62 6e 20 5c (format."%%s.-p.\"%%s\".--isbn.\
3bd00 22 25 25 73 5c 22 20 2d 63 20 25 73 20 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 22 0a 20 20 20 20 20 "%%s\".-c.%s..2>/dev/null"......
3bd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3bd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 ..............(expand-file-name.
3bd60 22 63 6f 76 65 72 2e 6a 70 67 22 20 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 65 63 "cover.jpg".temporary-file-direc
3bd80 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tory))..........................
3bda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 25 73 20 2d 70 20 5c 22 25 73 5c 22 20 2d 2d 69 ..............."%s.-p.\"%s\".--i
3bdc0 73 62 6e 20 5c 22 25 73 5c 22 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 22 29 0a 20 20 20 20 20 20 20 sbn.\"%s\".2>/dev/null")........
3bde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 ...............................c
3be00 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 6d 65 74 61 64 61 74 61 2d 70 72 6f 67 72 61 6d 0a alibredb-fetch-metadata-program.
3be20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3be40 20 20 20 20 20 20 73 6f 75 72 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......source....................
3be60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 62 6e 29 29 0a 20 20 20 20 20 20 ...................isbn)).......
3be80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 ..............................(t
3bea0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3bec0 20 20 20 20 20 20 28 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......(format...................
3bee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 66 65 74 63 68 2d 63 6f ....................(if.fetch-co
3bf00 76 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ver.............................
3bf20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 2c 28 66 6f 72 6d 61 74 20 22 25 25 73 20 2d 70 20 ..............`,(format."%%s.-p.
3bf40 5c 22 25 25 73 5c 22 20 2d 2d 61 75 74 68 6f 72 73 20 5c 22 25 25 73 5c 22 20 2d 2d 74 69 74 6c \"%%s\".--authors.\"%%s\".--titl
3bf60 65 20 5c 22 25 25 73 5c 22 20 2d 63 20 25 73 20 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 22 0a 20 20 e.\"%%s\".-c.%s..2>/dev/null"...
3bf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3bfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 .................(expand-file-na
3bfc0 6d 65 20 22 63 6f 76 65 72 2e 6a 70 67 22 20 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 me."cover.jpg".temporary-file-di
3bfe0 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rectory)).......................
3c000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 25 73 20 2d 70 20 5c 22 25 73 5c 22 20 .................."%s.-p.\"%s\".
3c020 2d 2d 61 75 74 68 6f 72 73 20 5c 22 25 73 5c 22 20 2d 2d 74 69 74 6c 65 20 5c 22 25 73 5c 22 20 --authors.\"%s\".--title.\"%s\".
3c040 32 3e 2f 64 65 76 2f 6e 75 6c 6c 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2>/dev/null")...................
3c060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 66 65 ....................calibredb-fe
3c080 74 63 68 2d 6d 65 74 61 64 61 74 61 2d 70 72 6f 67 72 61 6d 0a 20 20 20 20 20 20 20 20 20 20 20 tch-metadata-program............
3c0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 75 72 63 ...........................sourc
3c0c0 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e...............................
3c0e0 20 20 20 20 20 20 20 20 61 75 74 68 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........authors.................
3c100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 69 74 6c 65 29 29 29 29 0a ......................title)))).
3c120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d ..............................(m
3c140 64 20 28 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 74 6f 2d 73 74 72 69 6e 67 20 63 6d 64 29 29 d.(shell-command-to-string.cmd))
3c160 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
3c180 6d 64 2d 73 70 6c 69 74 20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 4e 6f 20 72 md-split.(if.(string-match."No.r
3c1a0 65 73 75 6c 74 73 20 66 6f 75 6e 64 24 22 20 6d 64 29 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 esults.found$".md).nil..........
3c1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c1e0 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 6d 64 20 22 43 6f 6d 6d 65 6e 74 73 22 20 6e 69 6c .(split-string.md."Comments".nil
3c200 20 22 20 2a 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .".*")))........................
3c220 20 20 20 20 20 20 20 28 6e 6f 2d 63 6f 6d 6d 65 6e 74 73 20 28 69 66 20 6d 64 2d 73 70 6c 69 74 .......(no-comments.(if.md-split
3c240 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 ................(mapcar.(lambda.
3c280 28 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (x).............................
3c2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 .............................(le
3c2c0 74 20 28 28 73 74 72 69 6e 67 20 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.((string.x))..................
3c2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c300 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 28 5b 41 2d 7a ..........(string-match."\\([A-z
3c320 5d 2a 5c 5c 29 28 2a 5c 5c 28 73 5c 5c 29 2a 29 2a 20 2a 3a 20 2a 5c 5c 28 2e 2a 5c 5c 29 22 20 ]*\\)(*\\(s\\)*)*.*:.*\\(.*\\)".
3c340 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 string).........................
3c360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c380 20 20 20 28 63 6f 6e 73 20 28 66 6f 72 6d 61 74 20 22 25 73 25 73 22 20 28 6d 61 74 63 68 2d 73 ...(cons.(format."%s%s".(match-s
3c3a0 74 72 69 6e 67 20 31 20 73 74 72 69 6e 67 29 20 28 63 6f 6e 64 20 28 28 6d 61 74 63 68 2d 73 74 tring.1.string).(cond.((match-st
3c3c0 72 69 6e 67 20 32 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ring.2.string)).................
3c3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 ..............................("
3c440 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ")))............................
3c460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c480 20 20 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 33 20 73 74 72 69 6e 67 29 29 29 29 ......(match-string.3.string))))
3c4a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 70 6c 69 74 2d 73 ........................(split-s
3c4e0 74 72 69 6e 67 20 28 63 61 72 20 6d 64 2d 73 70 6c 69 74 29 20 22 5c 6e 22 20 74 20 22 20 2a 22 tring.(car.md-split)."\n".t.".*"
3c500 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))..............................
3c520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 ................nil))...........
3c540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 6f 76 69 64 73 2d 6d 61 67 69 ....................(kovids-magi
3c560 63 20 22 25 73 20 2d 63 20 20 5c 22 66 72 6f 6d 20 63 61 6c 69 62 72 65 2e 65 62 6f 6f 6b 73 2e c."%s.-c..\"from.calibre.ebooks.
3c580 6d 65 74 61 64 61 74 61 20 69 6d 70 6f 72 74 20 2a 3b 20 69 6d 70 6f 72 74 20 73 79 73 3b 20 70 metadata.import.*;.import.sys;.p
3c5a0 72 69 6e 74 28 61 75 74 68 6f 72 5f 74 6f 5f 61 75 74 68 6f 72 5f 73 6f 72 74 28 27 20 27 2e 6a rint(author_to_author_sort('.'.j
3c5c0 6f 69 6e 28 73 79 73 2e 61 72 67 76 5b 31 3a 5d 29 29 29 5c 22 20 5c 22 25 73 5c 22 22 29 0a 20 oin(sys.argv[1:])))\".\"%s\"")..
3c5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 75 .............................(au
3c600 74 68 6f 72 2d 73 6f 72 74 20 28 77 68 65 6e 20 28 63 64 72 20 28 61 73 73 6f 63 20 22 41 75 74 thor-sort.(when.(cdr.(assoc."Aut
3c620 68 6f 72 73 22 20 6e 6f 2d 63 6f 6d 6d 65 6e 74 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 hors".no-comments)).............
3c640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c660 20 28 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 74 6f 2d 73 74 72 69 6e 67 20 28 66 6f 72 6d 61 .(shell-command-to-string.(forma
3c680 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t...............................
3c6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c6c0 20 20 20 20 20 20 20 20 20 6b 6f 76 69 64 73 2d 6d 61 67 69 63 0a 20 20 20 20 20 20 20 20 20 20 .........kovids-magic...........
3c6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c .............................cal
3c720 69 62 72 65 64 62 2d 64 65 62 75 67 2d 70 72 6f 67 72 61 6d 0a 20 20 20 20 20 20 20 20 20 20 20 ibredb-debug-program............
3c740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3c760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 74 ............................(int
3c780 65 72 6e 20 28 63 64 72 20 28 61 73 73 6f 63 20 22 41 75 74 68 6f 72 73 22 20 6e 6f 2d 63 6f 6d ern.(cdr.(assoc."Authors".no-com
3c7a0 6d 65 6e 74 73 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ments)))))))....................
3c7c0 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 2d 63 6f 6d 6d 65 6e 74 73 20 28 77 68 65 6e 20 61 ...........(new-comments.(when.a
3c7e0 75 74 68 6f 72 2d 73 6f 72 74 20 28 61 70 70 65 6e 64 20 6e 6f 2d 63 6f 6d 6d 65 6e 74 73 20 28 uthor-sort.(append.no-comments.(
3c800 6c 69 73 74 20 28 63 6f 6e 73 20 22 41 75 74 68 6f 72 5f 73 6f 72 74 22 20 61 75 74 68 6f 72 2d list.(cons."Author_sort".author-
3c820 73 6f 72 74 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sort))))))......................
3c840 20 20 20 20 28 6d 65 73 73 61 67 65 20 63 6d 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(message.cmd)...............
3c860 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e 74 68 20 31 20 6d 64 2d 73 70 6c 69 74 29 0a ...........(if.(nth.1.md-split).
3c880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 .............................(wh
3c8a0 65 6e 20 6e 65 77 2d 63 6f 6d 6d 65 6e 74 73 20 28 63 6f 6e 73 20 73 6f 75 72 63 65 20 28 61 70 en.new-comments.(cons.source.(ap
3c8c0 70 65 6e 64 20 6e 65 77 2d 63 6f 6d 6d 65 6e 74 73 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 22 43 pend.new-comments.(list.(cons."C
3c8e0 6f 6d 6d 65 6e 74 73 22 20 28 73 75 62 73 74 72 69 6e 67 20 28 6e 74 68 20 31 20 6d 64 2d 73 70 omments".(substring.(nth.1.md-sp
3c900 6c 69 74 29 20 32 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lit).2))))))....................
3c920 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 6e 65 77 2d 63 6f 6d 6d 65 6e 74 73 20 28 63 6f 6e 73 ........(when.new-comments.(cons
3c940 20 73 6f 75 72 63 65 20 6e 65 77 2d 63 6f 6d 6d 65 6e 74 73 29 29 29 29 29 0a 20 20 20 20 20 20 .source.new-comments))))).......
3c960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 75 72 63 65 73 29 29 29 0a 20 20 20 20 20 20 ...............sources))).......
3c980 28 69 66 20 28 72 65 6d 6f 76 65 20 6e 69 6c 20 72 65 73 75 6c 74 73 29 0a 20 20 20 20 20 20 20 (if.(remove.nil.results)........
3c9a0 20 20 20 28 72 65 6d 6f 76 65 20 6e 69 6c 20 72 65 73 75 6c 74 73 29 0a 20 20 20 20 20 20 20 20 ...(remove.nil.results).........
3c9c0 6e 69 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 6c 65 63 74 nil))))..(defun.calibredb-select
3c9e0 2d 61 6e 64 2d 73 65 74 2d 63 6f 76 65 72 20 28 29 0a 20 20 22 53 65 6c 65 63 74 20 61 6e 64 20 -and-set-cover.()..."Select.and.
3ca00 73 65 74 20 63 6f 76 65 72 2e 22 0a 20 20 28 77 68 65 6e 20 28 67 65 74 2d 62 75 66 66 65 72 20 set.cover."...(when.(get-buffer.
3ca20 28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 28 63 61 (calibredb-show--buffer-name.(ca
3ca40 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 libredb-find-candidate-at-point)
3ca60 29 29 0a 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 73 )).....(kill-buffer.(calibredb-s
3ca80 68 6f 77 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 how--buffer-name.(calibredb-find
3caa0 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 29 29 0a 20 20 28 6c 65 74 20 28 -candidate-at-point))))...(let.(
3cac0 28 6f 72 69 67 69 6e 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 63 6f 76 65 72 20 28 (original.(calibredb-get-cover.(
3cae0 63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 car.(calibredb-find-candidate-at
3cb00 2d 70 6f 69 6e 74 29 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 66 69 6c 65 2d 65 -point))))).....(if.(and.(file-e
3cb20 78 69 73 74 73 2d 70 20 6f 72 69 67 69 6e 61 6c 29 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 xists-p.original).(file-exists-p
3cb40 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 63 6f 76 65 72 2e 6a 70 67 22 20 74 .(expand-file-name."cover.jpg".t
3cb60 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 20 emporary-file-directory)))......
3cb80 20 20 20 28 6c 65 74 2a 20 28 28 62 75 66 66 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 ...(let*.((buff.(get-buffer-crea
3cba0 74 65 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 te.(calibredb-show--buffer-name.
3cbc0 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 (calibredb-find-candidate-at-poi
3cbe0 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 65 74 63 68 65 64 20 28 nt))))................(fetched.(
3cc00 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 63 6f 76 65 72 2e 6a 70 67 22 20 74 65 6d expand-file-name."cover.jpg".tem
3cc20 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 20 20 20 porary-file-directory)))........
3cc40 20 20 20 28 63 6c 65 61 72 2d 69 6d 61 67 65 2d 63 61 63 68 65 20 28 65 78 70 61 6e 64 2d 66 69 ...(clear-image-cache.(expand-fi
3cc60 6c 65 2d 6e 61 6d 65 20 22 63 6f 76 65 72 2e 6a 70 67 22 20 74 65 6d 70 6f 72 61 72 79 2d 66 69 le-name."cover.jpg".temporary-fi
3cc80 6c 65 2d 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 le-directory))...........(with-c
3cca0 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 urrent-buffer.buff.............(
3ccc0 63 61 6c 69 62 72 65 64 62 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 6f 72 69 67 69 6e 61 6c 20 calibredb-insert-image.original.
3cce0 22 22 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 73 74 2d 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78 "".calibredb-list-view-image-max
3cd00 2d 77 69 64 74 68 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 73 74 2d 76 69 65 77 2d 69 6d 61 67 65 -width.calibredb-list-view-image
3cd20 2d 6d 61 78 2d 68 65 69 67 68 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 -max-height).............(insert
3cd40 20 22 20 6f 72 69 67 69 6e 61 6c 20 20 66 65 74 63 68 65 64 20 22 29 0a 20 20 20 20 20 20 20 20 .".original..fetched.").........
3cd60 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 66 65 74 63 ....(calibredb-insert-image.fetc
3cd80 68 65 64 20 22 22 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 73 74 2d 76 69 65 77 2d 69 6d 61 67 65 hed."".calibredb-list-view-image
3cda0 2d 6d 61 78 2d 77 69 64 74 68 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 73 74 2d 76 69 65 77 2d 69 -max-width.calibredb-list-view-i
3cdc0 6d 61 67 65 2d 6d 61 78 2d 68 65 69 67 68 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 77 mage-max-height).............(sw
3cde0 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 62 75 66 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 itch-to-buffer.buff)............
3ce00 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 3d 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 .(when.(string=.(completing-read
3ce20 20 22 53 65 6c 65 63 74 20 63 6f 76 65 72 3a 20 22 20 27 28 22 6f 72 69 67 69 6e 61 6c 22 20 22 ."Select.cover:.".'("original"."
3ce40 66 65 74 63 68 65 64 22 29 29 20 22 66 65 74 63 68 65 64 22 29 0a 20 20 20 20 20 20 20 20 20 20 fetched"))."fetched")...........
3ce60 20 20 20 20 28 72 65 6e 61 6d 65 2d 66 69 6c 65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 ....(rename-file.(expand-file-na
3ce80 6d 65 20 22 63 6f 76 65 72 2e 6a 70 67 22 20 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 me."cover.jpg".temporary-file-di
3cea0 72 65 63 74 6f 72 79 29 20 6f 72 69 67 69 6e 61 6c 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 rectory).original.t))...........
3cec0 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 ..(kill-buffer))).......(cond.((
3cee0 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 file-exists-p.(expand-file-name.
3cf00 22 63 6f 76 65 72 2e 6a 70 67 22 20 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 65 63 "cover.jpg".temporary-file-direc
3cf20 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6e 61 6d 65 2d 66 69 6c 65 tory))..............(rename-file
3cf40 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 63 6f 76 65 72 2e 6a 70 67 22 20 74 .(expand-file-name."cover.jpg".t
3cf60 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 29 20 6f 72 69 67 69 6e 61 emporary-file-directory).origina
3cf80 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 74 20 22 46 65 74 63 68 65 l.t)..............(print."Fetche
3cfa0 64 20 63 6f 76 65 72 20 61 64 64 65 64 20 74 6f 20 65 6e 74 72 79 22 29 29 0a 20 20 20 20 20 20 d.cover.added.to.entry")).......
3cfc0 20 20 20 20 20 20 28 74 20 28 70 72 69 6e 74 20 22 4e 6f 20 63 6f 76 65 72 20 63 6f 75 6c 64 20 ......(t.(print."No.cover.could.
3cfe0 62 65 20 66 65 74 63 68 65 64 22 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 be.fetched"))))))..(defun.calibr
3d000 65 64 62 2d 73 65 6c 65 63 74 2d 6d 65 74 61 64 61 74 61 2d 73 6f 75 72 63 65 20 28 72 65 73 75 edb-select-metadata-source.(resu
3d020 6c 74 73 29 0a 20 20 22 53 65 6c 65 63 74 20 6d 65 74 61 64 61 74 61 20 73 6f 75 72 63 65 2e 0a lts)..."Select.metadata.source..
3d040 41 72 67 75 6d 65 6e 74 20 52 45 53 55 4c 54 53 20 69 73 20 74 68 65 20 73 6f 75 72 63 65 20 6c Argument.RESULTS.is.the.source.l
3d060 69 73 74 2e 22 0a 20 20 28 63 64 72 20 28 61 73 73 6f 63 20 28 69 66 20 28 66 62 6f 75 6e 64 70 ist."...(cdr.(assoc.(if.(fboundp
3d080 20 27 69 76 79 2d 72 65 61 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 .'ivy-read)...................(i
3d0a0 76 79 2d 72 65 61 64 20 22 53 65 6c 65 63 74 20 6d 65 74 61 64 61 74 61 20 73 6f 75 72 63 65 20 vy-read."Select.metadata.source.
3d0c0 28 70 72 65 76 69 65 77 20 77 69 74 68 20 43 2d 4d 2d 6e 2f 70 29 3a 20 22 20 72 65 73 75 6c 74 (preview.with.C-M-n/p):.".result
3d0e0 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 61 s.............................:a
3d100 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ction...........................
3d120 20 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 69 66 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 ..(lambda.(x).(if.calibredb-show
3d140 2d 72 65 73 75 6c 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -results........................
3d160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d .....................(calibredb-
3d180 73 68 6f 77 2d 72 65 73 75 6c 74 73 20 28 63 64 72 20 78 29 29 29 29 29 0a 20 20 20 20 20 20 20 show-results.(cdr.x)))))........
3d1a0 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 53 65 6c 65 63 .........(completing-read."Selec
3d1c0 74 20 6d 65 74 61 64 61 74 61 20 73 6f 75 72 63 65 20 3a 20 22 20 72 65 73 75 6c 74 73 29 29 0a t.metadata.source.:.".results)).
3d1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 73 29 29 29 0a 0a 28 64 65 66 75 6e ..............results)))..(defun
3d200 20 63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 6d 65 74 61 64 61 74 61 20 28 61 75 74 68 6f .calibredb-fetch-metadata.(autho
3d220 72 20 74 69 74 6c 65 20 26 6f 70 74 69 6f 6e 61 6c 20 69 64 73 20 69 73 62 6e 29 0a 20 20 22 46 r.title.&optional.ids.isbn)..."F
3d240 65 74 63 68 20 6d 65 74 61 64 61 74 61 2e 0a 41 72 67 75 6d 65 6e 74 20 41 55 54 48 4f 52 20 70 etch.metadata..Argument.AUTHOR.p
3d260 72 6f 6d 70 74 73 20 74 6f 20 69 6e 70 75 74 20 74 68 65 20 61 75 74 68 6f 72 2e 0a 41 72 67 75 rompts.to.input.the.author..Argu
3d280 6d 65 6e 74 20 49 44 53 20 70 72 6f 6d 70 74 73 20 74 6f 20 69 6e 70 75 74 20 74 68 65 20 69 64 ment.IDS.prompts.to.input.the.id
3d2a0 73 2e 0a 41 72 67 75 6d 65 6e 74 20 54 49 54 4c 45 20 70 72 6f 6d 70 74 73 20 74 6f 20 69 6e 70 s..Argument.TITLE.prompts.to.inp
3d2c0 75 74 20 74 68 65 20 74 69 74 6c 65 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 ut.the.title..Optional.argument.
3d2e0 49 53 42 4e 20 70 72 6f 6d 70 74 73 20 74 6f 20 69 6e 70 75 74 20 74 68 65 20 69 73 62 6e 2e 22 ISBN.prompts.to.input.the.isbn."
3d300 0a 20 20 28 6c 65 74 2a 20 28 28 66 65 74 63 68 2d 63 6f 76 65 72 20 28 63 6f 6e 64 20 28 28 73 ...(let*.((fetch-cover.(cond.((s
3d320 74 72 69 6e 67 3d 20 63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 63 6f 76 65 72 73 20 22 79 tring=.calibredb-fetch-covers."y
3d340 65 73 22 29 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 es").t).........................
3d360 20 20 20 20 28 28 73 74 72 69 6e 67 3d 20 63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 63 6f ....((string=.calibredb-fetch-co
3d380 76 65 72 73 20 22 6e 6f 22 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 vers."no").nil).................
3d3a0 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 20 22 46 65 74 ............(t.(yes-or-no-p."Fet
3d3c0 63 68 20 63 6f 76 65 72 3f 20 22 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 73 75 6c 74 ch.cover?."))))..........(result
3d3e0 73 20 28 63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 6d 65 74 61 64 61 74 61 2d 66 72 6f 6d s.(calibredb-fetch-metadata-from
3d400 2d 73 6f 75 72 63 65 73 20 61 75 74 68 6f 72 20 74 69 74 6c 65 20 69 64 73 20 69 73 62 6e 20 66 -sources.author.title.ids.isbn.f
3d420 65 74 63 68 2d 63 6f 76 65 72 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 72 65 73 75 6c 74 73 etch-cover))).....(cond.(results
3d440 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 66 65 74 63 68 2d 63 6f 76 65 72 20 28 63 ............(when.fetch-cover.(c
3d460 61 6c 69 62 72 65 64 62 2d 73 65 6c 65 63 74 2d 61 6e 64 2d 73 65 74 2d 63 6f 76 65 72 29 29 0a alibredb-select-and-set-cover)).
3d480 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 6c 65 63 74 2d 6d 65 74 ...........(calibredb-select-met
3d4a0 61 64 61 74 61 2d 73 6f 75 72 63 65 20 72 65 73 75 6c 74 73 29 29 0a 20 20 20 20 20 20 20 20 20 adata-source.results))..........
3d4c0 20 28 74 20 6e 69 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 65 .(t.nil))))..(defun.calibredb-fe
3d4e0 74 63 68 2d 61 6e 64 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 20 28 74 79 70 65 20 26 6f 70 74 69 tch-and-set-metadata.(type.&opti
3d500 6f 6e 61 6c 20 61 72 67 29 0a 20 20 22 41 64 64 20 6d 65 74 61 64 61 74 61 20 66 72 6f 6d 20 60 onal.arg)..."Add.metadata.from.`
3d520 63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 6d 65 74 61 64 61 74 61 27 20 74 6f 20 65 6e 74 calibredb-fetch-metadata'.to.ent
3d540 72 79 20 61 74 20 50 4f 49 4e 54 2e 0a 41 72 67 75 6d 65 6e 74 20 54 59 50 45 20 45 69 74 68 65 ry.at.POINT..Argument.TYPE.Eithe
3d560 72 20 27 61 75 74 68 6f 72 27 20 6f 72 20 27 69 73 62 6e 27 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 r.'author'.or.'isbn'..Optional.a
3d580 72 67 75 6d 65 6e 74 20 41 52 47 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 63 61 6e 64 69 64 61 74 rgument.ARG."...(let*.((candidat
3d5a0 65 20 28 63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 e.(car.(calibredb-find-candidate
3d5c0 2d 61 74 2d 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 64 20 28 63 61 6c 69 62 -at-point)))..........(id.(calib
3d5e0 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64 61 74 65 20 3a 69 64 29 29 0a 20 20 20 redb-getattr.candidate.:id))....
3d600 20 20 20 20 20 20 28 69 64 73 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 28 63 61 6c 69 62 72 ......(ids.(split-string.(calibr
3d620 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64 61 74 65 20 3a 69 64 73 29 20 22 2c 22 29 edb-getattr.candidate.:ids).",")
3d640 29 0a 20 20 20 20 20 20 20 20 20 28 6d 79 61 75 74 68 6f 72 73 20 28 63 61 6c 69 62 72 65 64 62 )..........(myauthors.(calibredb
3d660 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64 61 74 65 20 3a 61 75 74 68 6f 72 2d 73 6f 72 74 29 -getattr.candidate.:author-sort)
3d680 29 0a 20 20 20 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 )..........(title.(calibredb-get
3d6a0 61 74 74 72 20 63 61 6e 64 69 64 61 74 65 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 0a 20 20 20 attr.candidate.:book-title))....
3d6c0 20 20 20 20 20 20 28 6d 65 74 61 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 ......(metadata...........(cond.
3d6e0 28 28 73 74 72 69 6e 67 3d 20 74 79 70 65 20 22 69 64 22 29 20 28 63 61 6c 69 62 72 65 64 62 2d ((string=.type."id").(calibredb-
3d700 66 65 74 63 68 2d 6d 65 74 61 64 61 74 61 20 74 69 74 6c 65 20 6d 79 61 75 74 68 6f 72 73 20 69 fetch-metadata.title.myauthors.i
3d720 64 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 3d 20 74 ds)).................((string=.t
3d740 79 70 65 20 22 61 75 74 68 6f 72 22 29 20 28 69 66 20 61 72 67 20 28 63 61 6c 69 62 72 65 64 62 ype."author").(if.arg.(calibredb
3d760 2d 66 65 74 63 68 2d 6d 65 74 61 64 61 74 61 20 74 69 74 6c 65 20 6d 79 61 75 74 68 6f 72 73 29 -fetch-metadata.title.myauthors)
3d780 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3d7a0 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 6d 65 74 ............(calibredb-fetch-met
3d7c0 61 64 61 74 61 20 6d 79 61 75 74 68 6f 72 73 20 74 69 74 6c 65 29 29 29 0a 20 20 20 20 20 20 20 adata.myauthors.title)))........
3d7e0 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 3d 20 74 79 70 65 20 22 69 73 62 6e 22 29 20 .........((string=.type."isbn").
3d800 28 69 66 20 61 72 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (if.arg.........................
3d820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 65 ...................(calibredb-fe
3d840 74 63 68 2d 6d 65 74 61 64 61 74 61 20 6d 79 61 75 74 68 6f 72 73 20 74 69 74 6c 65 20 6e 69 6c tch-metadata.myauthors.title.nil
3d860 20 74 69 74 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .title).........................
3d880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 .................(calibredb-fetc
3d8a0 68 2d 6d 65 74 61 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h-metadata......................
3d8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 79 61 75 74 68 6f 72 73 0a 20 .....................myauthors..
3d8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3d900 20 20 20 20 20 20 20 20 20 74 69 74 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........title..................
3d920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 .........................nil....
3d940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3d960 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 63 61 6c 69 62 72 65 64 62 2d 61 75 74 6f 2d 64 65 .......(cond.((calibredb-auto-de
3d980 74 65 63 74 2d 69 73 62 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tect-isbn)).....................
3d9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 22 29 ............................("")
3d9c0 29 29 29 29 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 6d 65 74 61 64 61 74 61 0a 20 20 20 20 ))))))).....(cond.(metadata.....
3d9e0 20 20 20 20 20 20 20 28 6d 61 70 63 20 28 6c 61 6d 62 64 61 20 28 78 29 0a 20 20 20 20 20 20 20 .......(mapc.(lambda.(x)........
3da00 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 61 6e 64 20 3a ............(calibredb-command.:
3da20 63 6f 6d 6d 61 6e 64 20 22 73 65 74 5f 6d 65 74 61 64 61 74 61 22 0a 20 20 20 20 20 20 20 20 20 command."set_metadata"..........
3da40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6f 70 .............................:op
3da60 74 69 6f 6e 20 28 66 6f 72 6d 61 74 20 22 2d 2d 66 69 65 6c 64 20 25 73 3a 25 73 20 22 20 28 64 tion.(format."--field.%s:%s.".(d
3da80 6f 77 6e 63 61 73 65 20 28 63 61 72 20 78 29 29 20 28 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e owncase.(car.x)).(prin1-to-strin
3daa0 67 20 28 63 64 72 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g.(cdr.x))).....................
3dac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 64 20 69 64 0a 20 20 20 20 20 20 20 ..................:id.id........
3dae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a ...............................:
3db00 6c 69 62 72 61 72 79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 20 library.(format."--library-path.
3db20 5c 22 25 73 5c 22 22 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 29 29 0a 20 20 \"%s\"".calibredb-root-dir)))...
3db40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 74 61 64 61 74 61 29 0a 20 20 20 20 20 20 20 ...............metadata)........
3db60 20 20 20 20 28 6c 65 74 20 28 28 77 69 6e 64 6f 77 20 28 67 65 74 2d 62 75 66 66 65 72 2d 77 69 ....(let.((window.(get-buffer-wi
3db80 6e 64 6f 77 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 22 29 29 29 0a 20 20 20 ndow."*calibredb-search*")))....
3dba0 20 20 20 20 20 20 20 20 20 20 28 69 66 20 77 69 6e 64 6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 ..........(if.window............
3dbc0 20 20 20 20 20 20 28 73 65 6c 65 63 74 2d 77 69 6e 64 6f 77 20 77 69 6e 64 6f 77 29 0a 20 20 20 ......(select-window.window)....
3dbe0 20 20 20 20 20 20 20 20 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 2d 6f 74 ............(switch-to-buffer-ot
3dc00 68 65 72 2d 77 69 6e 64 6f 77 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 22 29 her-window."*calibredb-search*")
3dc20 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d ))............(calibredb-search-
3dc40 72 65 66 72 65 73 68 2d 6f 72 2d 72 65 73 75 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 refresh-or-resume)............(i
3dc60 66 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 72 65 73 75 6c 74 73 20 28 63 61 6c 69 62 72 f.calibredb-show-results.(calibr
3dc80 65 64 62 2d 73 68 6f 77 2d 72 65 73 75 6c 74 73 20 6d 65 74 61 64 61 74 61 20 74 29 29 0a 20 20 edb-show-results.metadata.t))...
3dca0 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 4d 65 74 61 64 61 74 61 20 75 70 64 61 .........(message."Metadata.upda
3dcc0 74 65 64 3a 20 49 44 20 2d 20 25 73 2c 20 54 69 74 6c 65 20 2d 20 25 73 2c 20 41 75 74 68 6f 72 ted:.ID.-.%s,.Title.-.%s,.Author
3dce0 73 20 2d 20 25 73 2e 22 20 69 64 20 74 69 74 6c 65 20 6d 79 61 75 74 68 6f 72 73 29 29 0a 20 20 s.-.%s.".id.title.myauthors))...
3dd00 20 20 20 20 20 20 20 20 3b 3b 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 2d 6f 74 68 ........;;.(switch-to-buffer-oth
3dd20 65 72 2d 77 69 6e 64 6f 77 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2a 22 29 29 0a er-window."*calibredb-entry*")).
3dd40 20 20 20 20 20 20 20 20 20 20 28 74 20 28 70 72 69 6e 74 20 22 4e 6f 20 6d 65 74 61 64 61 74 61 ..........(t.(print."No.metadata
3dd60 20 72 65 74 72 69 65 76 65 64 20 66 72 6f 6d 20 73 6f 75 72 63 65 73 22 29 29 29 29 29 0a 0a 28 .retrieved.from.sources")))))..(
3dd80 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 61 6e 64 2d 73 65 74 2d 6d 65 defun.calibredb-fetch-and-set-me
3dda0 74 61 64 61 74 61 2d 62 79 2d 61 75 74 68 6f 72 2d 61 6e 64 2d 74 69 74 6c 65 20 28 61 72 67 29 tadata-by-author-and-title.(arg)
3ddc0 0a 20 20 22 49 6e 76 6f 6b 65 20 66 72 6f 6d 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 ..."Invoke.from.*calibredb-searc
3dde0 68 2a 20 62 75 66 66 65 72 2e 0a 46 65 74 63 68 20 6d 65 74 61 64 61 74 61 20 66 72 6f 6d 20 6f h*.buffer..Fetch.metadata.from.o
3de00 6e 6c 69 6e 65 20 73 6f 75 72 63 65 20 76 69 61 20 61 75 74 68 6f 72 20 61 6e 64 20 74 69 74 6c nline.source.via.author.and.titl
3de20 65 2e 20 57 69 74 68 20 75 6e 69 76 65 72 73 61 6c 20 41 52 47 20 5c 5c 5b 75 6e 69 76 65 72 73 e..With.universal.ARG.\\[univers
3de40 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 73 77 69 74 63 68 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 al-argument].switch.initial.valu
3de60 65 73 20 6f 66 20 61 75 74 68 6f 72 73 20 61 6e 64 20 74 69 74 6c 65 2e 22 0a 20 20 28 69 6e 74 es.of.authors.and.title."...(int
3de80 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 eractive."P")...(calibredb-fetch
3dea0 2d 61 6e 64 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 20 22 61 75 74 68 6f 72 22 20 61 72 67 29 29 -and-set-metadata."author".arg))
3dec0 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 61 6e 64 2d 73 65 74 ..(defun.calibredb-fetch-and-set
3dee0 2d 6d 65 74 61 64 61 74 61 2d 62 79 2d 69 64 20 28 61 72 67 29 0a 20 20 22 49 6e 76 6f 6b 65 20 -metadata-by-id.(arg)..."Invoke.
3df00 66 72 6f 6d 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 20 62 75 66 66 65 72 2e 0a from.*calibredb-search*.buffer..
3df20 46 65 74 63 68 20 6d 65 74 61 64 61 74 61 20 66 72 6f 6d 20 6f 6e 6c 69 6e 65 20 73 6f 75 72 63 Fetch.metadata.from.online.sourc
3df40 65 20 76 69 61 20 49 64 65 6e 74 69 66 69 65 72 2e 0a 57 69 74 68 20 75 6e 69 76 65 72 73 61 6c e.via.Identifier..With.universal
3df60 20 41 52 47 20 5c 5c 5b 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 75 73 65 20 .ARG.\\[universal-argument].use.
3df80 74 69 74 6c 65 20 61 73 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 2e 22 0a 20 20 28 69 6e 74 65 title.as.initial.value."...(inte
3dfa0 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d ractive."P")...(calibredb-fetch-
3dfc0 61 6e 64 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 20 22 69 64 22 20 61 72 67 29 29 0a 0a 28 64 65 and-set-metadata."id".arg))..(de
3dfe0 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 61 6e 64 2d 73 65 74 2d 6d 65 74 61 fun.calibredb-fetch-and-set-meta
3e000 64 61 74 61 2d 62 79 2d 69 73 62 6e 20 28 61 72 67 29 0a 20 20 22 49 6e 76 6f 6b 65 20 66 72 6f data-by-isbn.(arg)..."Invoke.fro
3e020 6d 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 20 62 75 66 66 65 72 2e 0a 46 65 74 m.*calibredb-search*.buffer..Fet
3e040 63 68 20 6d 65 74 61 64 61 74 61 20 66 72 6f 6d 20 6f 6e 6c 69 6e 65 20 73 6f 75 72 63 65 20 76 ch.metadata.from.online.source.v
3e060 69 61 20 49 53 42 4e 2e 0a 57 69 74 68 20 75 6e 69 76 65 72 73 61 6c 20 41 52 47 20 5c 5c 5b 75 ia.ISBN..With.universal.ARG.\\[u
3e080 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 75 73 65 20 74 69 74 6c 65 20 61 73 20 niversal-argument].use.title.as.
3e0a0 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 initial.value."...(interactive."
3e0c0 50 22 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 61 6e 64 2d 73 65 74 2d 6d P")...(calibredb-fetch-and-set-m
3e0e0 65 74 61 64 61 74 61 20 22 69 73 62 6e 22 20 61 72 67 29 29 0a 0a 3b 3b 20 73 68 6f 77 5f 6d 65 etadata."isbn".arg))..;;.show_me
3e100 74 61 64 61 74 61 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6d 65 tadata..(defun.calibredb-show-me
3e120 74 61 64 61 74 61 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 6e 64 69 64 61 74 65 29 0a 20 20 22 tadata.(&optional.candidate)..."
3e140 53 68 6f 77 20 73 65 6c 65 63 74 65 64 20 43 41 4e 44 49 44 41 54 45 20 6d 65 74 61 64 61 74 61 Show.selected.CANDIDATE.metadata
3e160 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 75 6e 6c 65 73 73 20 63 61 6e ."...(interactive)...(unless.can
3e180 64 69 64 61 74 65 0a 20 20 20 20 28 69 66 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 didate.....(if.(eq.major-mode.'c
3e1a0 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 28 73 alibredb-search-mode).........(s
3e1c0 65 74 71 20 63 61 6e 64 69 64 61 74 65 20 28 63 64 72 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f etq.candidate.(cdr.(get-text-pro
3e1e0 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 20 6e perty.(point).'calibredb-entry.n
3e200 69 6c 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 20 28 67 65 74 il))).......(setq.candidate.(get
3e220 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 27 63 61 6c 69 -text-property.(point-min).'cali
3e240 62 72 65 64 62 2d 65 6e 74 72 79 20 6e 69 6c 29 29 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 69 64 bredb-entry.nil))))...(let*.((id
3e260 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64 61 74 65 20 3a 69 .(calibredb-getattr.candidate.:i
3e280 64 29 29 29 0a 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 61 6e 64 20 3a 63 6f 6d d))).....(calibredb-command.:com
3e2a0 6d 61 6e 64 20 22 73 68 6f 77 5f 6d 65 74 61 64 61 74 61 22 0a 20 20 20 20 20 20 20 20 20 20 20 mand."show_metadata"............
3e2c0 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 64 20 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ............:id.id..............
3e2e0 20 20 20 20 20 20 20 20 20 20 3a 6c 69 62 72 61 72 79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 ..........:library.(format."--li
3e300 62 72 61 72 79 2d 70 61 74 68 20 25 73 22 20 28 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 brary-path.%s".(calibredb-root-d
3e320 69 72 2d 71 75 6f 74 65 29 29 29 29 29 0a 0a 3b 3b 20 65 78 70 6f 72 74 0a 0a 28 64 65 66 75 6e ir-quote)))))..;;.export..(defun
3e340 20 63 61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 6e .calibredb-export.(&optional.can
3e360 64 69 64 61 74 65 29 0a 20 20 22 45 78 70 6f 72 74 20 74 68 65 20 73 6c 65 63 74 65 64 20 43 41 didate)..."Export.the.slected.CA
3e380 4e 44 49 44 41 54 45 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 75 6e 6c NDIDATE."...(interactive)...(unl
3e3a0 65 73 73 20 63 61 6e 64 69 64 61 74 65 0a 20 20 20 20 28 69 66 20 28 65 71 20 6d 61 6a 6f 72 2d ess.candidate.....(if.(eq.major-
3e3c0 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 mode.'calibredb-search-mode)....
3e3e0 20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 20 28 63 64 72 20 28 67 65 74 2d 74 .....(setq.candidate.(cdr.(get-t
3e400 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 6c 69 62 72 65 64 62 2d ext-property.(point).'calibredb-
3e420 65 6e 74 72 79 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61 entry.nil))).......(setq.candida
3e440 74 65 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 2d 6d 69 6e te.(get-text-property.(point-min
3e460 29 20 27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 20 6e 69 6c 29 29 29 29 0a 20 20 28 6c 65 ).'calibredb-entry.nil))))...(le
3e480 74 20 28 28 69 64 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64 t.((id.(calibredb-getattr.candid
3e4a0 61 74 65 20 3a 69 64 29 29 0a 20 20 20 20 20 20 20 20 28 6f 75 74 70 75 74 2d 66 6f 6c 64 65 72 ate.:id)).........(output-folder
3e4c0 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 28 69 66 20 28 66 69 6c 65 2d .(file-name-directory.(if.(file-
3e4e0 65 78 65 63 75 74 61 62 6c 65 2d 70 20 63 61 6c 69 62 72 65 64 62 2d 64 65 76 69 63 65 2d 64 69 executable-p.calibredb-device-di
3e500 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r)..............................
3e520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 79 65 73 2d 6f 72 2d 6e ...................(if.(yes-or-n
3e540 6f 2d 70 20 22 46 6f 75 6e 64 20 6b 69 6e 64 6c 65 2c 20 64 6f 20 79 6f 75 20 77 61 6e 74 20 74 o-p."Found.kindle,.do.you.want.t
3e560 6f 20 63 6f 6e 76 65 72 74 20 61 6e 64 20 65 78 70 6f 72 74 20 74 6f 20 6b 69 6e 64 6c 65 3f 22 o.convert.and.export.to.kindle?"
3e580 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
3e5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d ......................calibredb-
3e5c0 64 65 76 69 63 65 2d 64 69 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 device-dir......................
3e5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 .............................(ca
3e600 6c 69 62 72 65 64 62 2d 63 6f 6d 70 6c 65 74 65 2d 66 69 6c 65 2d 71 75 6f 74 65 20 22 45 78 70 libredb-complete-file-quote."Exp
3e620 6f 72 74 20 74 6f 20 28 73 65 6c 65 63 74 20 61 20 64 69 72 65 63 74 6f 72 79 29 22 29 29 0a 20 ort.to.(select.a.directory)"))..
3e640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3e660 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 70 6c 65 74 65 .............(calibredb-complete
3e680 2d 66 69 6c 65 2d 71 75 6f 74 65 20 22 45 78 70 6f 72 74 20 74 6f 20 28 73 65 6c 65 63 74 20 61 -file-quote."Export.to.(select.a
3e6a0 20 64 69 72 65 63 74 6f 72 79 29 22 29 29 29 29 29 0a 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 .directory)"))))).....(calibredb
3e6c0 2d 63 6f 6d 6d 61 6e 64 20 3a 63 6f 6d 6d 61 6e 64 20 22 65 78 70 6f 72 74 22 0a 20 20 20 20 20 -command.:command."export"......
3e6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6f 70 74 69 6f 6e 20 28 73 2d 6a 6f 69 ..................:option.(s-joi
3e700 6e 20 22 20 22 20 28 2d 72 65 6d 6f 76 65 20 27 73 2d 62 6c 61 6e 6b 3f 20 28 2d 66 6c 61 74 74 n.".".(-remove.'s-blank?.(-flatt
3e720 65 6e 20 28 63 61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72 74 2d 61 72 67 75 6d 65 6e 74 73 29 29 en.(calibredb-export-arguments))
3e740 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 6e 70 75 74 ))........................:input
3e760 20 28 66 6f 72 6d 61 74 20 22 2d 2d 74 6f 2d 64 69 72 20 25 73 22 20 6f 75 74 70 75 74 2d 66 6f .(format."--to-dir.%s".output-fo
3e780 6c 64 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 64 lder)........................:id
3e7a0 20 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 62 72 .id........................:libr
3e7c0 61 72 79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 20 25 73 22 20 ary.(format."--library-path.%s".
3e7e0 28 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 2d 71 75 6f 74 65 29 29 29 29 29 0a 0a (calibredb-root-dir-quote)))))..
3e800 3b 3b 20 63 6f 6e 76 65 72 74 20 65 62 6f 6f 6b 73 0a 28 64 65 66 6d 61 63 72 6f 20 63 61 6c 69 ;;.convert.ebooks.(defmacro.cali
3e820 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 20 28 74 79 70 65 29 0a 20 20 22 4d 61 63 72 6f 20 6f 66 bredb-convert.(type)..."Macro.of
3e840 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 54 .function.calibredb-convert-to-T
3e860 59 50 45 2e 0a 41 72 67 75 6d 65 6e 74 20 54 59 50 45 20 65 62 6f 6f 6b 20 74 79 70 65 2e 22 0a YPE..Argument.TYPE.ebook.type.".
3e880 20 20 60 28 64 65 66 75 6e 20 2c 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 63 61 6c 69 ..`(defun.,(intern.(format."cali
3e8a0 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 25 73 22 20 74 79 70 65 29 29 20 28 26 6f 70 bredb-convert-to-%s".type)).(&op
3e8c0 74 69 6f 6e 61 6c 20 63 61 6e 64 69 64 61 74 65 29 0a 20 20 20 20 2c 28 66 6f 72 6d 61 74 20 22 tional.candidate).....,(format."
3e8e0 54 4f 44 4f 3a 20 43 6f 6e 76 65 72 74 20 74 68 65 20 73 6c 65 63 74 65 64 20 43 41 4e 44 49 44 TODO:.Convert.the.slected.CANDID
3e900 41 54 45 20 74 6f 20 25 73 2e 22 20 74 79 70 65 29 0a 20 20 20 20 28 69 6e 74 65 72 61 63 74 69 ATE.to.%s.".type).....(interacti
3e920 76 65 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 63 61 6e 64 69 64 61 74 65 0a 20 20 20 20 20 20 ve).....(unless.candidate.......
3e940 28 69 66 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 (if.(eq.major-mode.'calibredb-se
3e960 61 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 arch-mode)...........(setq.candi
3e980 64 61 74 65 20 28 63 64 72 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f date.(cdr.(get-text-property.(po
3e9a0 69 6e 74 29 20 27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 20 6e 69 6c 29 29 29 0a 20 20 20 int).'calibredb-entry.nil)))....
3e9c0 20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 20 28 67 65 74 2d 74 65 78 74 2d 70 .....(setq.candidate.(get-text-p
3e9e0 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 27 63 61 6c 69 62 72 65 64 62 2d 65 roperty.(point-min).'calibredb-e
3ea00 6e 74 72 79 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 3b 3b 20 28 69 64 20 28 63 ntry.nil)))).....(let.(;;.(id.(c
3ea20 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64 61 74 65 20 3a 69 64 29 29 alibredb-getattr.candidate.:id))
3ea40 0a 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d ...........(file.(calibredb-get-
3ea60 66 69 6c 65 2d 70 61 74 68 20 63 61 6e 64 69 64 61 74 65 20 74 29 29 0a 20 20 20 20 20 20 20 20 file-path.candidate.t)).........
3ea80 20 20 28 6f 75 74 70 75 74 2d 66 6f 6c 64 65 72 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 ..(output-folder.(file-name-dire
3eaa0 63 74 6f 72 79 20 28 69 66 20 28 66 69 6c 65 2d 65 78 65 63 75 74 61 62 6c 65 2d 70 20 63 61 6c ctory.(if.(file-executable-p.cal
3eac0 69 62 72 65 64 62 2d 64 65 76 69 63 65 2d 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ibredb-device-dir)..............
3eae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3eb00 20 20 20 20 20 28 69 66 20 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 20 22 46 6f 75 6e 64 20 6b 69 6e .....(if.(yes-or-no-p."Found.kin
3eb20 64 6c 65 2c 20 64 6f 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 6e 64 20 dle,.do.you.want.to.convert.and.
3eb40 65 78 70 6f 72 74 20 74 6f 20 6b 69 6e 64 6c 65 3f 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 export.to.kindle?").............
3eb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3eb80 20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 64 65 76 69 63 65 2d 64 69 72 0a 20 ..........calibredb-device-dir..
3eba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3ebc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 66 69 6c 65 2d 6e 61 ...................(read-file-na
3ebe0 6d 65 20 22 43 6f 6e 76 65 72 74 20 61 6e 64 20 65 78 70 6f 72 74 20 74 6f 20 28 73 65 6c 65 63 me."Convert.and.export.to.(selec
3ec00 74 20 61 20 64 69 72 65 63 74 6f 72 79 29 3a 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 t.a.directory):.")).............
3ec20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3ec40 20 20 20 20 28 72 65 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 43 6f 6e 76 65 72 74 20 61 6e 64 ....(read-file-name."Convert.and
3ec60 20 65 78 70 6f 72 74 20 74 6f 20 28 73 65 6c 65 63 74 20 61 20 64 69 72 65 63 74 6f 72 79 29 3a .export.to.(select.a.directory):
3ec80 20 22 29 29 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 2d 70 72 6f 63 65 73 73 2d 73 65 6e 74 69 ."))))).......(set-process-senti
3eca0 6e 65 6c 0a 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 70 72 nel........(calibredb-convert-pr
3ecc0 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 3a 69 6e 70 75 74 20 28 73 68 65 6c 6c 2d 71 75 6f 74 ocess.........:input.(shell-quot
3ece0 65 2d 61 72 67 75 6d 65 6e 74 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c e-argument.(expand-file-name.fil
3ed00 65 29 29 0a 20 20 20 20 20 20 20 20 3a 6f 75 74 70 75 74 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 e)).........:output.(shell-quote
3ed20 2d 61 72 67 75 6d 65 6e 74 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 -argument.(expand-file-name.....
3ed40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3ed60 20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 2e 25 73 22 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 62 61 ...(format."%s.%s".(file-name-ba
3ed80 73 65 20 66 69 6c 65 29 20 2c 74 79 70 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 se.file).,type).................
3eda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 2d 66 6f .......................output-fo
3edc0 6c 64 65 72 29 29 0a 20 20 20 20 20 20 20 20 3a 6f 70 74 69 6f 6e 20 28 73 2d 6a 6f 69 6e 20 22 lder)).........:option.(s-join."
3ede0 20 22 20 28 2d 72 65 6d 6f 76 65 20 27 73 2d 62 6c 61 6e 6b 3f 20 28 2d 66 6c 61 74 74 65 6e 20 .".(-remove.'s-blank?.(-flatten.
3ee00 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 61 72 67 75 6d 65 6e 74 73 29 29 29 29 (calibredb-convert-arguments))))
3ee20 29 0a 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 20 5f 65 29 0a 20 20 20 20 20 20 20 20 )........(lambda.(p._e).........
3ee40 20 28 77 68 65 6e 20 28 3d 20 30 20 28 70 72 6f 63 65 73 73 2d 65 78 69 74 2d 73 74 61 74 75 73 .(when.(=.0.(process-exit-status
3ee60 20 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 43 6f 6e 76 65 72 .p))............(message."Conver
3ee80 73 69 6f 6e 20 66 69 6e 69 73 68 65 64 2e 20 50 6c 65 61 73 65 20 63 68 65 63 6b 20 6c 6f 67 73 sion.finished..Please.check.logs
3eea0 20 69 6e 20 2a 65 62 6f 6f 6b 2d 63 6f 6e 76 65 72 74 2a 2e 22 29 29 29 29 29 29 20 29 0a 0a 28 .in.*ebook-convert*.")))))).)..(
3eec0 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 20 22 61 7a 77 33 22 29 0a 28 63 61 6c 69 62 calibredb-convert."azw3").(calib
3eee0 72 65 64 62 2d 63 6f 6e 76 65 72 74 20 22 64 6f 63 78 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d redb-convert."docx").(calibredb-
3ef00 63 6f 6e 76 65 72 74 20 22 65 70 75 62 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 convert."epub").(calibredb-conve
3ef20 72 74 20 22 66 62 32 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 20 22 68 74 rt."fb2").(calibredb-convert."ht
3ef40 6d 6c 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 20 22 68 74 6d 6c 7a 22 29 ml").(calibredb-convert."htmlz")
3ef60 0a 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 20 22 6c 69 74 22 29 0a 28 63 61 6c 69 .(calibredb-convert."lit").(cali
3ef80 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 20 22 6c 72 66 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d bredb-convert."lrf").(calibredb-
3efa0 63 6f 6e 76 65 72 74 20 22 6d 6f 62 69 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 convert."mobi").(calibredb-conve
3efc0 72 74 20 22 6f 65 62 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 20 22 70 64 rt."oeb").(calibredb-convert."pd
3efe0 62 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 20 22 70 64 66 22 29 0a 28 63 b").(calibredb-convert."pdf").(c
3f000 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 20 22 70 6d 6c 22 29 0a 28 63 61 6c 69 62 72 65 alibredb-convert."pml").(calibre
3f020 64 62 2d 63 6f 6e 76 65 72 74 20 22 72 62 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 db-convert."rb").(calibredb-conv
3f040 65 72 74 20 22 72 74 66 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 20 22 73 ert."rtf").(calibredb-convert."s
3f060 6e 62 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 20 22 74 63 72 22 29 0a 28 nb").(calibredb-convert."tcr").(
3f080 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 20 22 74 78 74 22 29 0a 28 63 61 6c 69 62 72 calibredb-convert."txt").(calibr
3f0a0 65 64 62 2d 63 6f 6e 76 65 72 74 20 22 74 78 74 7a 22 29 0a 0a 3b 3b 20 63 61 74 61 6c 6f 67 0a edb-convert."txtz")..;;.catalog.
3f0c0 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 61 74 61 6c 6f 67 20 28 29 0a 20 20 22 .(defun.calibredb-catalog.()..."
3f0e0 54 4f 44 4f 20 45 78 70 6f 72 74 20 74 68 65 20 63 61 74 61 6c 6f 67 2e 22 0a 20 20 28 69 6e 74 TODO.Export.the.catalog."...(int
3f100 65 72 61 63 74 69 76 65 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 61 6e 64 20 3a eractive)...(calibredb-command.:
3f120 63 6f 6d 6d 61 6e 64 20 22 63 61 74 61 6c 6f 67 22 0a 20 20 20 20 3b 3b 20 3a 6f 70 74 69 6f 6e command."catalog".....;;.:option
3f140 20 28 73 2d 6a 6f 69 6e 20 22 20 22 20 28 2d 72 65 6d 6f 76 65 20 27 73 2d 62 6c 61 6e 6b 3f 20 .(s-join.".".(-remove.'s-blank?.
3f160 28 2d 66 6c 61 74 74 65 6e 20 28 63 61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72 74 2d 61 72 67 75 (-flatten.(calibredb-export-argu
3f180 6d 65 6e 74 73 29 29 29 29 0a 20 20 20 20 3a 69 6e 70 75 74 20 28 66 6f 72 6d 61 74 20 22 25 73 ments)))).....:input.(format."%s
3f1a0 22 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 70 6c 65 74 65 2d 66 69 6c 65 2d 71 75 6f 74 65 ".(calibredb-complete-file-quote
3f1c0 20 22 45 78 70 6f 72 74 20 74 6f 20 28 73 65 6c 65 63 74 20 61 20 70 61 74 68 29 22 29 29 0a 20 ."Export.to.(select.a.path)"))..
3f1e0 20 20 20 3b 3b 20 3a 69 64 20 69 64 0a 20 20 20 20 3a 6c 69 62 72 61 72 79 20 28 66 6f 72 6d 61 ...;;.:id.id.....:library.(forma
3f200 74 20 22 2d 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 20 25 73 22 20 28 63 61 6c 69 62 72 65 64 62 t."--library-path.%s".(calibredb
3f220 2d 72 6f 6f 74 2d 64 69 72 2d 71 75 6f 74 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 -root-dir-quote))))..(defun.cali
3f240 62 72 65 64 62 2d 63 61 74 61 6c 6f 67 2d 62 69 62 2d 2d 74 72 61 6e 73 69 65 6e 74 20 28 29 0a bredb-catalog-bib--transient.().
3f260 20 20 22 45 78 70 6f 72 74 20 74 68 65 20 63 61 74 61 6c 6f 67 20 77 69 74 68 20 42 69 62 54 65 .."Export.the.catalog.with.BibTe
3f280 78 20 66 69 6c 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 63 61 6c 69 x.file."...(interactive)...(cali
3f2a0 62 72 65 64 62 2d 63 6f 6d 6d 61 6e 64 20 3a 63 6f 6d 6d 61 6e 64 20 22 63 61 74 61 6c 6f 67 22 bredb-command.:command."catalog"
3f2c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6f 70 74 69 6f 6e 20 28 66 ......................:option.(f
3f2e0 6f 72 6d 61 74 20 22 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ormat."%s"......................
3f300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 ................(shell-quote-arg
3f320 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ument...........................
3f340 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 ............(expand-file-name...
3f360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3f380 20 20 20 20 20 28 6f 72 20 63 61 6c 69 62 72 65 64 62 2d 72 65 66 2d 64 65 66 61 75 6c 74 2d 62 .....(or.calibredb-ref-default-b
3f3a0 69 62 6c 69 6f 67 72 61 70 68 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ibliography.....................
3f3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 28 .......................(concat.(
3f3e0 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20 63 61 6c 69 62 72 65 64 62 file-name-as-directory.calibredb
3f400 2d 72 6f 6f 74 2d 64 69 72 29 20 22 63 61 74 61 6c 6f 67 2e 62 69 62 22 29 29 29 29 29 0a 20 20 -root-dir)."catalog.bib")))))...
3f420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 6e 70 75 74 20 28 73 2d 6a 6f 69 ...................:input.(s-joi
3f440 6e 20 22 20 22 20 28 2d 72 65 6d 6f 76 65 20 27 73 2d 62 6c 61 6e 6b 3f 20 28 2d 66 6c 61 74 74 n.".".(-remove.'s-blank?.(-flatt
3f460 65 6e 20 28 63 61 6c 69 62 72 65 64 62 2d 63 61 74 61 6c 6f 67 2d 62 69 62 2d 61 72 67 75 6d 65 en.(calibredb-catalog-bib-argume
3f480 6e 74 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 nts))))......................:li
3f4a0 62 72 61 72 79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 20 25 73 brary.(format."--library-path.%s
3f4c0 22 20 28 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 2d 71 75 6f 74 65 29 29 29 0a 20 ".(calibredb-root-dir-quote)))..
3f4e0 20 28 63 61 6c 69 62 72 65 64 62 2d 72 65 66 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c 69 6f 67 72 .(calibredb-ref-default-bibliogr
3f500 61 70 68 79 29 0a 20 20 28 6d 65 73 73 61 67 65 20 22 55 70 64 61 74 65 64 20 42 69 62 54 65 78 aphy)...(message."Updated.BibTex
3f520 20 66 69 6c 65 2e 22 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 .file."))..(defun.calibredb-find
3f540 2d 62 69 62 20 28 29 0a 20 20 22 4f 70 65 6e 20 74 68 65 20 63 61 74 61 6c 6f 67 20 42 69 62 54 -bib.()..."Open.the.catalog.BibT
3f560 65 78 20 66 69 6c 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 69 66 20 ex.file."...(interactive)...(if.
3f580 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 63 61 6c 69 62 72 65 64 62 2d 72 65 66 2d 64 65 66 (file-exists-p.calibredb-ref-def
3f5a0 61 75 6c 74 2d 62 69 62 6c 69 6f 67 72 61 70 68 79 29 0a 20 20 20 20 20 20 28 66 69 6e 64 2d 66 ault-bibliography).......(find-f
3f5c0 69 6c 65 20 63 61 6c 69 62 72 65 64 62 2d 72 65 66 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c 69 6f ile.calibredb-ref-default-biblio
3f5e0 67 72 61 70 68 79 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 4e 4f 20 42 69 62 54 65 78 20 graphy).....(message."NO.BibTex.
3f600 66 69 6c 65 2e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 72 65 66 2d file.")))..(defun.calibredb-ref-
3f620 64 65 66 61 75 6c 74 2d 62 69 62 6c 69 6f 67 72 61 70 68 79 20 28 29 0a 20 20 22 55 70 64 61 74 default-bibliography.()..."Updat
3f640 65 20 74 68 65 20 70 61 74 68 20 6f 66 20 42 69 62 54 65 78 20 66 69 6c 65 2e 22 0a 20 20 28 75 e.the.path.of.BibTex.file."...(u
3f660 6e 6c 65 73 73 20 63 61 6c 69 62 72 65 64 62 2d 72 65 66 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c nless.calibredb-ref-default-bibl
3f680 69 6f 67 72 61 70 68 79 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 72 65 66 iography.....(setq.calibredb-ref
3f6a0 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c 69 6f 67 72 61 70 68 79 0a 20 20 20 20 20 20 20 20 20 20 -default-bibliography...........
3f6c0 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20 (concat.(file-name-as-directory.
3f6e0 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 20 22 63 61 74 61 6c 6f 67 2e 62 69 62 calibredb-root-dir)."catalog.bib
3f700 22 29 29 29 0a 20 20 28 69 66 20 28 62 6f 75 6e 64 70 20 27 6f 72 67 2d 72 65 66 2d 64 65 66 61 ")))...(if.(boundp.'org-ref-defa
3f720 75 6c 74 2d 62 69 62 6c 69 6f 67 72 61 70 68 79 29 0a 20 20 20 20 20 20 28 69 66 20 28 66 69 6c ult-bibliography).......(if.(fil
3f740 65 2d 65 78 69 73 74 73 2d 70 20 63 61 6c 69 62 72 65 64 62 2d 72 65 66 2d 64 65 66 61 75 6c 74 e-exists-p.calibredb-ref-default
3f760 2d 62 69 62 6c 69 6f 67 72 61 70 68 79 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 74 6f -bibliography)...........(add-to
3f780 2d 6c 69 73 74 20 27 6f 72 67 2d 72 65 66 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c 69 6f 67 72 61 -list.'org-ref-default-bibliogra
3f7a0 70 68 79 20 63 61 6c 69 62 72 65 64 62 2d 72 65 66 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c 69 6f phy.calibredb-ref-default-biblio
3f7c0 67 72 61 70 68 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e graphy))))..(defun.calibredb-fin
3f7e0 64 2d 63 6f 76 65 72 20 28 63 61 6e 64 69 64 61 74 65 29 0a 20 20 22 4f 70 65 6e 20 74 68 65 20 d-cover.(candidate)..."Open.the.
3f800 63 6f 76 65 72 20 70 61 67 65 20 69 6d 61 67 65 20 6f 66 20 73 65 6c 65 63 74 65 64 20 43 41 4e cover.page.image.of.selected.CAN
3f820 44 49 44 41 54 45 2e 22 0a 20 20 28 69 66 20 28 67 65 74 2d 62 75 66 66 65 72 20 22 63 6f 76 65 DIDATE."...(if.(get-buffer."cove
3f840 72 2e 6a 70 67 22 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 22 63 6f 76 65 r.jpg").......(kill-buffer."cove
3f860 72 2e 6a 70 67 22 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 70 61 74 68 20 28 63 61 6c 69 62 72 65 r.jpg"))...(let*.((path.(calibre
3f880 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64 61 74 65 20 3a 66 69 6c 65 2d 70 61 74 68 29 db-getattr.candidate.:file-path)
3f8a0 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 76 65 72 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d )..........(cover.(concat.(file-
3f8c0 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 70 61 74 68 29 20 22 63 6f 76 65 72 2e 6a 70 67 22 name-directory.path)."cover.jpg"
3f8e0 29 29 29 0a 20 20 20 20 28 69 66 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 63 6f 76 65 72 ))).....(if.(file-exists-p.cover
3f900 29 0a 20 20 20 20 20 20 20 20 28 66 69 6e 64 2d 66 69 6c 65 20 63 6f 76 65 72 29 0a 20 20 20 20 ).........(find-file.cover).....
3f920 20 20 3b 3b 20 28 6d 65 73 73 61 67 65 20 22 4e 6f 20 63 6f 76 65 72 22 29 0a 20 20 20 20 20 20 ..;;.(message."No.cover").......
3f940 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 63 61 6c 69 62 72 65 64 62 2d 61 6c 6c 20 28 66 69 )))..(defmacro.calibredb-all.(fi
3f960 65 6c 64 29 0a 20 20 22 4d 61 63 72 6f 20 6f 66 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 eld)..."Macro.of.function.calibr
3f980 65 64 62 2d 61 6c 6c 2d 46 49 45 4c 44 2e 0a 41 72 67 75 6d 65 6e 74 20 46 49 45 4c 44 20 74 61 edb-all-FIELD..Argument.FIELD.ta
3f9a0 62 6c 65 20 6e 61 6d 65 20 69 6e 20 64 61 74 61 62 61 73 65 2e 22 0a 20 20 60 28 64 65 66 75 6e ble.name.in.database."...`(defun
3f9c0 20 2c 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 63 61 6c 69 62 72 65 64 62 2d 61 6c 6c .,(intern.(format."calibredb-all
3f9e0 2d 25 73 22 20 66 69 65 6c 64 29 29 20 28 29 0a 20 20 20 20 20 2c 28 66 6f 72 6d 61 74 20 22 47 -%s".field)).()......,(format."G
3fa00 65 74 20 61 6c 6c 20 25 73 20 61 6e 64 20 72 65 74 75 72 6e 20 61 73 20 61 20 6c 69 73 74 2e 22 et.all.%s.and.return.as.a.list."
3fa20 20 66 69 65 6c 64 29 0a 20 20 20 20 20 28 73 65 71 2d 75 6e 69 71 0a 20 20 20 20 20 20 28 6c 65 .field)......(seq-uniq.......(le
3fa40 74 20 28 6c 29 0a 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 69 74 65 6d 20 t.(l).........(cl-loop.for.item.
3fa60 69 6e 20 28 63 61 6c 69 62 72 65 64 62 2d 63 61 6e 64 69 64 61 74 65 73 20 3a 64 69 73 74 69 6e in.(calibredb-candidates.:distin
3fa80 63 74 20 2c 28 66 6f 72 6d 61 74 20 22 25 73 22 20 66 69 65 6c 64 20 29 29 20 64 6f 0a 20 20 20 ct.,(format."%s".field.)).do....
3faa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6c 69 73 74 70 20 69 74 65 6d 29 0a 20 ..............(if.(listp.item)..
3fac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 63 61 72 20 69 74 65 ....................(if.(car.ite
3fae0 6d 29 20 28 73 65 74 71 20 6c 20 28 61 70 70 65 6e 64 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 m).(setq.l.(append.(split-string
3fb00 20 28 63 61 72 20 69 74 65 6d 20 29 20 22 2c 22 29 20 6c 29 29 20 22 22 20 29 0a 20 20 20 20 20 .(car.item.).",").l))."".)......
3fb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 20 28 61 70 70 65 6e 64 20 28 73 ..............(setq.l.(append.(s
3fb40 70 6c 69 74 2d 73 74 72 69 6e 67 20 69 74 65 6d 20 22 2c 22 29 20 6c 29 29 29 29 20 6c 29 29 29 plit-string.item.",").l)))).l)))
3fb60 29 0a 0a 28 63 61 6c 69 62 72 65 64 62 2d 61 6c 6c 20 22 69 64 22 29 0a 28 63 61 6c 69 62 72 65 )..(calibredb-all."id").(calibre
3fb80 64 62 2d 61 6c 6c 20 22 61 75 74 68 6f 72 5f 73 6f 72 74 22 29 0a 28 63 61 6c 69 62 72 65 64 62 db-all."author_sort").(calibredb
3fba0 2d 61 6c 6c 20 22 70 61 74 68 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 61 6c 6c 20 22 6e 61 6d -all."path").(calibredb-all."nam
3fbc0 65 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 61 6c 6c 20 22 66 6f 72 6d 61 74 22 29 0a 28 63 61 e").(calibredb-all."format").(ca
3fbe0 6c 69 62 72 65 64 62 2d 61 6c 6c 20 22 70 75 62 64 61 74 65 22 29 0a 28 63 61 6c 69 62 72 65 64 libredb-all."pubdate").(calibred
3fc00 62 2d 61 6c 6c 20 22 74 69 74 6c 65 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 61 6c 6c 20 22 74 b-all."title").(calibredb-all."t
3fc20 61 67 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 61 6c 6c 20 22 66 69 6c 65 2d 70 61 74 68 22 29 ag").(calibredb-all."file-path")
3fc40 0a 28 63 61 6c 69 62 72 65 64 62 2d 61 6c 6c 20 22 75 6e 63 6f 6d 70 72 65 73 73 65 64 5f 73 69 .(calibredb-all."uncompressed_si
3fc60 7a 65 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 61 6c 6c 20 22 74 65 78 74 22 29 0a 28 63 61 6c ze").(calibredb-all."text").(cal
3fc80 69 62 72 65 64 62 2d 61 6c 6c 20 22 69 64 73 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 61 6c 6c ibredb-all."ids").(calibredb-all
3fca0 20 22 70 75 62 6c 69 73 68 65 72 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 61 6c 6c 20 22 73 65 ."publisher").(calibredb-all."se
3fcc0 72 69 65 73 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 61 6c 6c 20 22 6c 61 6e 67 5f 63 6f 64 65 ries").(calibredb-all."lang_code
3fce0 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 61 6c 6c 20 22 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 ").(calibredb-all."last_modified
3fd00 22 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6c 74 65 72 2d 62 79 2d 74 ")..(defun.calibredb-filter-by-t
3fd20 61 67 20 28 29 0a 20 20 22 46 69 6c 74 65 72 20 72 65 73 75 6c 74 73 20 62 79 20 74 61 67 2e 22 ag.()..."Filter.results.by.tag."
3fd40 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 74 61 67 20 28 63 ...(interactive)...(let.((tag.(c
3fd60 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 53 65 6c 65 63 74 20 74 61 67 3a 20 22 20 28 63 ompleting-read."Select.tag:.".(c
3fd80 61 6c 69 62 72 65 64 62 2d 61 6c 6c 2d 74 61 67 29 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 63 alibredb-all-tag)))).....(setq.c
3fda0 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66 69 6c 74 65 72 2d 70 20 74 29 0a 20 20 20 20 28 73 65 alibredb-tag-filter-p.t).....(se
3fdc0 74 71 20 63 61 6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e tq.calibredb-favorite-filter-p.n
3fde0 69 6c 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 66 il).....(setq.calibredb-author-f
3fe00 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 ilter-p.nil).....(setq.calibredb
3fe20 2d 64 61 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 -date-filter-p.nil).....(setq.ca
3fe40 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 libredb-format-filter-p.nil)....
3fe60 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e 74 2d .(setq.calibredb-search-current-
3fe80 70 61 67 65 20 31 29 0a 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6b 65 page.1).....(calibredb-search-ke
3fea0 79 77 6f 72 64 2d 66 69 6c 74 65 72 20 74 61 67 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 yword-filter.tag)))..(defun.cali
3fec0 62 72 65 64 62 2d 66 69 6c 74 65 72 2d 62 79 2d 61 75 74 68 6f 72 2d 73 6f 72 74 20 28 29 0a 20 bredb-filter-by-author-sort.()..
3fee0 20 22 46 69 6c 74 65 72 20 72 65 73 75 6c 74 73 20 62 79 20 61 75 74 68 6f 72 2d 73 6f 72 74 2e ."Filter.results.by.author-sort.
3ff00 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 61 75 74 68 6f "...(interactive)...(let.((autho
3ff20 72 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 53 65 6c 65 63 74 20 61 75 74 68 6f r.(completing-read."Select.autho
3ff40 72 3a 20 22 20 28 63 61 6c 69 62 72 65 64 62 2d 61 6c 6c 2d 61 75 74 68 6f 72 5f 73 6f 72 74 29 r:.".(calibredb-all-author_sort)
3ff60 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66 69 6c 74 ))).....(setq.calibredb-tag-filt
3ff80 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 66 61 er-p.nil).....(setq.calibredb-fa
3ffa0 76 6f 72 69 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 28 73 65 74 71 20 63 vorite-filter-p.nil).....(setq.c
3ffc0 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 66 69 6c 74 65 72 2d 70 20 74 29 0a 20 20 20 20 alibredb-author-filter-p.t).....
3ffe0 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e 69 (setq.calibredb-date-filter-p.ni
40000 6c 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 69 l).....(setq.calibredb-format-fi
40020 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d lter-p.nil).....(setq.calibredb-
40040 73 65 61 72 63 68 2d 63 75 72 72 65 6e 74 2d 70 61 67 65 20 31 29 0a 20 20 20 20 28 63 61 6c 69 search-current-page.1).....(cali
40060 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6b 65 79 77 6f 72 64 2d 66 69 6c 74 65 72 20 61 75 74 68 bredb-search-keyword-filter.auth
40080 6f 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6c 74 65 72 2d 62 or)))..(defun.calibredb-filter-b
400a0 79 2d 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 20 28 29 0a 20 20 22 46 69 6c 74 65 72 20 72 65 73 y-last_modified.()..."Filter.res
400c0 75 6c 74 73 20 62 79 20 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 20 64 61 74 65 2e 22 0a 20 20 28 ults.by.last_modified.date."...(
400e0 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 64 61 74 65 20 28 63 6f 6d 70 interactive)...(let.((date.(comp
40100 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 53 65 6c 65 63 74 20 64 61 74 65 3a 20 22 20 28 73 65 71 leting-read."Select.date:.".(seq
40120 2d 75 6e 69 71 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 64 61 74 65 29 20 28 73 2d -uniq.(mapcar.(lambda.(date).(s-
40140 6c 65 66 74 20 31 30 20 64 61 74 65 29 29 20 28 63 61 6c 69 62 72 65 64 62 2d 61 6c 6c 2d 6c 61 left.10.date)).(calibredb-all-la
40160 73 74 5f 6d 6f 64 69 66 69 65 64 29 29 29 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 st_modified)))))).....(setq.cali
40180 62 72 65 64 62 2d 74 61 67 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 28 73 65 74 bredb-tag-filter-p.nil).....(set
401a0 71 20 63 61 6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e 69 q.calibredb-favorite-filter-p.ni
401c0 6c 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 66 69 l).....(setq.calibredb-author-fi
401e0 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d lter-p.nil).....(setq.calibredb-
40200 64 61 74 65 2d 66 69 6c 74 65 72 2d 70 20 74 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 date-filter-p.t).....(setq.calib
40220 72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 28 73 redb-format-filter-p.nil).....(s
40240 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e 74 2d 70 61 67 etq.calibredb-search-current-pag
40260 65 20 31 29 0a 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6b 65 79 77 6f e.1).....(calibredb-search-keywo
40280 72 64 2d 66 69 6c 74 65 72 20 64 61 74 65 29 29 29 0a 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 rd-filter.date)))...(defun.calib
402a0 72 65 64 62 2d 66 69 6c 74 65 72 2d 62 79 2d 62 6f 6f 6b 2d 66 6f 72 6d 61 74 20 28 29 0a 20 20 redb-filter-by-book-format.()...
402c0 22 46 69 6c 74 65 72 20 72 65 73 75 6c 74 73 20 62 79 20 62 6f 6f 6b 20 66 6f 72 6d 61 74 2e 22 "Filter.results.by.book.format."
402e0 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 66 6f 72 6d 61 74 ...(interactive)...(let.((format
40300 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 53 65 6c 65 63 74 20 66 6f 72 6d 61 74 .(completing-read."Select.format
40320 3a 20 22 20 28 63 61 6c 69 62 72 65 64 62 2d 61 6c 6c 2d 66 6f 72 6d 61 74 29 29 29 29 0a 20 20 :.".(calibredb-all-format))))...
40340 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66 69 6c 74 65 72 2d 70 20 6e ..(setq.calibredb-tag-filter-p.n
40360 69 6c 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65 il).....(setq.calibredb-favorite
40380 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 -filter-p.nil).....(setq.calibre
403a0 64 62 2d 61 75 74 68 6f 72 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 28 73 65 74 db-author-filter-p.nil).....(set
403c0 71 20 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 q.calibredb-date-filter-p.nil)..
403e0 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 69 6c 74 65 72 ...(setq.calibredb-format-filter
40400 2d 70 20 74 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 -p.t).....(setq.calibredb-search
40420 2d 63 75 72 72 65 6e 74 2d 70 61 67 65 20 31 29 0a 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d -current-page.1).....(calibredb-
40440 73 65 61 72 63 68 2d 6b 65 79 77 6f 72 64 2d 66 69 6c 74 65 72 20 66 6f 72 6d 61 74 29 29 29 0a search-keyword-filter.format))).
40460 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 61 74 74 61 63 68 2d 69 63 6f 6e 2d 66 6f .(defun.calibredb-attach-icon-fo
40480 72 20 28 70 61 74 68 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 69 63 6f 6e 20 62 61 73 65 r.(path)..."Return.the.icon.base
404a0 64 20 6f 6e 20 50 41 54 48 2e 22 0a 20 20 28 63 68 61 72 2d 74 6f 2d 73 74 72 69 6e 67 0a 20 20 d.on.PATH."...(char-to-string...
404c0 20 28 70 63 61 73 65 20 28 64 6f 77 6e 63 61 73 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 .(pcase.(downcase.(file-name-ext
404e0 65 6e 73 69 6f 6e 20 70 61 74 68 29 29 0a 20 20 20 20 20 28 28 6f 72 20 22 6a 70 67 22 20 22 6a ension.path))......((or."jpg"."j
40500 70 65 67 22 20 22 70 6e 67 22 20 22 67 69 66 22 29 20 3f ef 87 85 29 0a 20 20 20 20 20 28 22 70 peg"."png"."gif").?...)......("p
40520 64 66 22 20 3f ef 87 81 29 0a 20 20 20 20 20 28 28 6f 72 20 22 70 70 74 22 20 22 70 70 74 78 22 df".?...)......((or."ppt"."pptx"
40540 29 20 3f ef 87 84 29 0a 20 20 20 20 20 28 28 6f 72 20 22 78 6c 73 22 20 22 78 6c 73 78 22 29 20 ).?...)......((or."xls"."xlsx").
40560 3f ef 87 83 29 0a 20 20 20 20 20 28 28 6f 72 20 22 64 6f 63 22 20 22 64 6f 63 78 22 29 20 3f ef ?...)......((or."doc"."docx").?.
40580 87 82 29 0a 20 20 20 20 20 28 28 6f 72 20 22 6f 67 67 22 20 22 6d 70 33 22 20 22 77 61 76 22 20 ..)......((or."ogg"."mp3"."wav".
405a0 22 61 69 66 66 22 20 22 66 6c 61 63 22 29 20 3f ef 87 87 29 0a 20 20 20 20 20 28 28 6f 72 20 22 "aiff"."flac").?...)......((or."
405c0 6d 70 34 22 20 22 6d 6f 76 22 20 22 61 76 69 22 29 20 3f ef 87 88 29 0a 20 20 20 20 20 28 28 6f mp4"."mov"."avi").?...)......((o
405e0 72 20 22 7a 69 70 22 20 22 67 7a 22 20 22 74 61 72 22 20 22 37 7a 22 20 22 72 61 72 22 29 20 3f r."zip"."gz"."tar"."7z"."rar").?
40600 ef 87 86 29 0a 20 20 20 20 20 28 5f 20 3f ef 80 96 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 ...)......(_.?...))))..(provide.
40620 27 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 29 0a 0a 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 'calibredb-utils)..;;;.calibredb
40640 2d 75 74 69 6c 73 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 -utils.el.ends.here.............
40660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
406a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
406c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
406e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
407a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
407c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
407e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40800 63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37 30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62 calibredb-20250705.225/calibredb
40820 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .el.............................
40840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
40880 30 30 30 37 37 35 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 31 30 30 00 20 30 00 00 00 0007751.00000000000.015100..0...
408a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
408c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
408e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
40920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
40940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
409a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
409c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
409e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40a00 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2e 65 6c 20 2d 2d 2d 20 59 65 74 20 61 6e 6f 74 68 65 72 ;;;.calibredb.el.---.Yet.another
40a20 20 63 61 6c 69 62 72 65 20 63 6c 69 65 6e 74 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 .calibre.client.-*-.lexical-bind
40a40 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 ing:.t;.-*-..;;.Copyright.(C).20
40a60 32 30 20 44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 44 61 6d 6f 6e 20 20.Damon.Chan..;;.Author:.Damon.
40a80 43 68 61 6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 55 52 4c Chan.<elecming@gmail.com>.;;.URL
40aa0 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 65 6e 79 61 6e 6d 69 6e 67 :.https://github.com/chenyanming
40ac0 2f 63 61 6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 74 6f 6f 6c 73 /calibredb.el.;;.Keywords:.tools
40ae0 0a 3b 3b 20 43 72 65 61 74 65 64 3a 20 39 20 4d 61 79 20 32 30 32 30 0a 3b 3b 20 50 61 63 6b 61 .;;.Created:.9.May.2020.;;.Packa
40b00 67 65 2d 56 65 72 73 69 6f 6e 3a 20 32 30 32 35 30 37 30 35 2e 32 32 35 0a 3b 3b 20 50 61 63 6b ge-Version:.20250705.225.;;.Pack
40b20 61 67 65 2d 52 65 76 69 73 69 6f 6e 3a 20 62 62 63 39 64 35 37 33 64 35 35 33 0a 3b 3b 20 50 61 age-Revision:.bbc9d573d553.;;.Pa
40b40 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63 73 20 22 32 39 2e 31 22 29 20 ckage-Requires:.((emacs."29.1").
40b60 28 6f 72 67 20 22 39 2e 33 22 29 20 28 74 72 61 6e 73 69 65 6e 74 20 22 30 2e 31 2e 30 22 29 20 (org."9.3").(transient."0.1.0").
40b80 28 73 20 22 31 2e 31 32 2e 30 22 29 20 28 64 61 73 68 20 22 32 2e 31 37 2e 30 22 29 20 28 72 65 (s."1.12.0").(dash."2.17.0").(re
40ba0 71 75 65 73 74 20 22 30 2e 33 2e 33 22 29 20 28 65 73 78 6d 6c 20 22 30 2e 33 2e 37 22 29 29 0a quest."0.3.3").(esxml."0.3.7")).
40bc0 3b 3b 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 4e 4f 54 20 70 61 72 74 20 6f 66 20 47 ;;.;;.This.file.is.NOT.part.of.G
40be0 4e 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 NU.Emacs...;;.This.program.is.fr
40c00 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 ee.software;.you.can.redistribut
40c20 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 e.it.and/or.modify.;;.it.under.t
40c40 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c he.terms.of.the.GNU.General.Publ
40c60 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 ic.License.as.published.by.;;.th
40c80 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 e.Free.Software.Foundation,.eith
40ca0 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a er.version.3.of.the.License,.or.
40cc0 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 ;;.(at.your.option).any.later.ve
40ce0 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 rsion...;;.This.program.is.distr
40d00 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 ibuted.in.the.hope.that.it.will.
40d20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 be.useful,.;;.but.WITHOUT.ANY.WA
40d40 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 RRANTY;.without.even.the.implied
40d60 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 .warranty.of.;;.MERCHANTABILITY.
40d80 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 or.FITNESS.FOR.A.PARTICULAR.PURP
40da0 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 OSE...See.the.;;.GNU.General.Pub
40dc0 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b lic.License.for.more.details...;
40de0 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 ;.You.should.have.received.a.cop
40e00 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 y.of.the.GNU.General.Public.Lice
40e20 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 nse.;;.along.with.this.program..
40e40 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 .If.not,.see.<https://www.gnu.or
40e60 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a g/licenses/>...;;;.Commentary:..
40e80 3b 3b 20 59 65 74 20 61 6e 6f 74 68 65 72 20 5b 5b 68 74 74 70 73 3a 2f 2f 63 61 6c 69 62 72 65 ;;.Yet.another.[[https://calibre
40ea0 2d 65 62 6f 6f 6b 2e 63 6f 6d 2f 5d 5b 63 61 6c 69 62 72 65 5d 5d 20 45 6d 61 63 73 20 63 6c 69 -ebook.com/][calibre]].Emacs.cli
40ec0 65 6e 74 2e 0a 3b 3b 20 54 68 69 73 20 70 61 63 6b 61 67 65 20 69 6e 74 65 67 72 61 74 65 73 20 ent..;;.This.package.integrates.
40ee0 63 61 6c 69 62 72 65 20 28 75 73 69 6e 67 20 2a 63 61 6c 69 62 72 65 64 62 2a 29 20 69 6e 74 6f calibre.(using.*calibredb*).into
40f00 20 45 6d 61 63 73 2e 0a 3b 3b 20 31 2e 20 50 6f 77 65 72 66 75 6c 20 65 62 6f 6f 6b 20 64 61 73 .Emacs..;;.1..Powerful.ebook.das
40f20 68 62 6f 61 72 64 2e 0a 3b 3b 20 32 2e 20 4d 61 6e 61 67 65 20 65 62 6f 6f 6b 73 2c 20 61 63 74 hboard..;;.2..Manage.ebooks,.act
40f40 75 61 6c 6c 79 20 6e 6f 74 20 6f 6e 6c 79 20 65 62 6f 6f 6b 73 21 0a 3b 3b 20 33 2e 20 4d 61 6e ually.not.only.ebooks!.;;.3..Man
40f60 61 67 65 20 45 62 6f 6f 6b 20 6c 69 62 72 61 72 69 65 73 2e 0a 3b 3b 20 34 2e 20 41 6e 6f 74 68 age.Ebook.libraries..;;.4..Anoth
40f80 65 72 20 62 6f 6f 6b 6d 61 72 6b 73 20 73 6f 6c 75 74 69 6f 6e 2c 20 62 79 20 73 65 74 74 69 6e er.bookmarks.solution,.by.settin
40fa0 67 20 74 68 65 20 74 61 67 73 20 61 6e 64 20 63 6f 6d 6d 65 6e 74 73 2e 0a 3b 3b 20 35 2e 20 51 g.the.tags.and.comments..;;.5..Q
40fc0 75 69 63 6b 20 73 65 61 72 63 68 2c 20 66 69 6c 74 65 72 2c 20 6d 61 6b 65 20 61 63 74 69 6f 6e uick.search,.filter,.make.action
40fe0 73 20 6f 6e 20 69 74 65 6d 73 20 77 69 74 68 20 69 76 79 20 61 6e 64 20 68 65 6c 6d 2e 0a 3b 3b s.on.items.with.ivy.and.helm..;;
41000 20 36 2e 20 4f 72 67 2d 72 65 66 20 73 75 70 70 6f 72 74 2e 0a 0a 0a 3b 3b 3b 20 43 6f 64 65 3a .6..Org-ref.support....;;;.Code:
41020 0a 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f 72 65 29 0a 28 72 65 71 ..(require.'calibredb-core).(req
41040 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 0a 28 72 65 71 75 69 72 65 20 uire.'calibredb-faces).(require.
41060 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 29 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 'calibredb-search).(require.'cal
41080 69 62 72 65 64 62 2d 73 68 6f 77 29 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 ibredb-show).(require.'calibredb
410a0 2d 68 65 6c 6d 29 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 69 76 79 29 0a -helm).(require.'calibredb-ivy).
410c0 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 29 0a 28 72 65 71 75 (require.'calibredb-utils).(requ
410e0 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 29 0a 28 72 65 71 75 ire.'calibredb-annotation).(requ
41100 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 29 0a 28 72 65 71 75 69 ire.'calibredb-transient).(requi
41120 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 29 0a 28 72 65 71 75 69 72 65 20 re.'calibredb-library).(require.
41140 27 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 29 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 'calibredb-org).(require.'calibr
41160 65 64 62 2d 6f 70 64 73 29 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f edb-opds).(require.'calibredb-co
41180 6e 73 75 6c 74 29 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 64 69 72 65 64 nsult).(require.'calibredb-dired
411a0 29 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 29 0a 0a 3b ).(require.'calibredb-folder)..;
411c0 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 20 28 ;;###autoload.(defun.calibredb.(
411e0 29 0a 20 20 22 45 6e 74 65 72 20 63 61 6c 69 62 72 65 20 53 65 61 72 63 68 20 42 75 66 66 65 72 )..."Enter.calibre.Search.Buffer
41200 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 3b 3b 20 53 65 74 20 76 69 72 74 ."...(interactive)...;;.Set.virt
41220 75 61 6c 20 6c 69 62 72 61 72 79 20 6e 61 6d 65 20 77 68 65 6e 20 74 68 65 20 66 69 72 73 74 20 ual.library.name.when.the.first.
41240 74 69 6d 65 20 74 6f 20 6c 61 75 6e 63 68 20 63 61 6c 69 62 72 65 64 62 0a 20 20 28 6c 65 74 2a time.to.launch.calibredb...(let*
41260 20 28 28 72 65 6d 61 69 6e 69 6e 67 20 28 63 64 72 20 28 2d 66 69 72 73 74 20 28 6c 61 6d 62 64 .((remaining.(cdr.(-first.(lambd
41280 61 20 28 6c 69 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 a.(lib).........................
412a0 20 20 20 20 20 20 20 20 20 20 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 28 63 61 72 20 6c 69 62 ...........(s-contains?.(car.lib
412c0 29 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 ).calibredb-root-dir))..........
412e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 ........................calibred
41300 62 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 69 62 b-library-alist)))..........(lib
41320 72 61 72 79 2d 6e 61 6d 65 20 28 6f 72 20 28 61 73 73 6f 63 2d 64 65 66 61 75 6c 74 20 27 6e 61 rary-name.(or.(assoc-default.'na
41340 6d 65 20 72 65 6d 61 69 6e 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 me.remaining)...................
41360 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 .........calibredb-virtual-libra
41380 72 79 2d 64 65 66 61 75 6c 74 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c ry-default-name))).....(setq.cal
413a0 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 64 65 66 61 75 6c 74 2d 6e ibredb-virtual-library-default-n
413c0 61 6d 65 20 6c 69 62 72 61 72 79 2d 6e 61 6d 65 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 ame.library-name).....(setq.cali
413e0 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6e 61 6d 65 20 63 61 6c 69 62 bredb-virtual-library-name.calib
41400 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 64 65 66 61 75 6c 74 2d 6e 61 6d redb-virtual-library-default-nam
41420 65 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 3b 3b 20 6f 70 64 73 0a 20 20 20 28 28 73 74 72 69 e))...(cond....;;.opds....((stri
41440 6e 67 2d 70 72 65 66 69 78 2d 70 20 22 68 74 74 70 22 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f ng-prefix-p."http".calibredb-roo
41460 74 2d 64 69 72 29 0a 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 28 63 61 t-dir).....(switch-to-buffer.(ca
41480 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 28 67 6f 74 libredb-search-buffer)).....(got
414a0 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 28 63 61 6c 69 62 72 65 o-char.(point-min)).....(calibre
414c0 64 62 2d 72 65 66 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c 69 6f 67 72 61 70 68 79 29 0a 20 20 20 db-ref-default-bibliography)....
414e0 20 28 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 72 65 71 75 65 73 74 2d 70 61 67 65 20 63 61 .(calibredb-opds-request-page.ca
41500 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 29 0a 20 20 20 3b 3b 20 6d 65 74 61 64 61 74 libredb-root-dir))....;;.metadat
41520 61 2e 64 62 0a 20 20 20 28 28 61 6e 64 20 28 73 74 72 69 6e 67 70 20 63 61 6c 69 62 72 65 64 62 a.db....((and.(stringp.calibredb
41540 2d 64 62 2d 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 -db-dir)..........(file-exists-p
41560 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 28 73 2d 63 .calibredb-db-dir)..........(s-c
41580 6f 6e 74 61 69 6e 73 3f 20 22 6d 65 74 61 64 61 74 61 2e 64 62 22 20 63 61 6c 69 62 72 65 64 62 ontains?."metadata.db".calibredb
415a0 2d 64 62 2d 64 69 72 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 63 61 6c 69 62 -db-dir)).....(cond.((null.calib
415c0 72 65 64 62 2d 64 62 2d 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 redb-db-dir)............(message
415e0 20 22 63 61 6c 69 62 72 65 64 62 3a 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72 20 69 73 ."calibredb:.calibredb-db-dir.is
41600 20 6e 69 6c 21 20 63 61 6c 69 62 72 65 64 62 20 77 6f 6e 27 74 20 77 6f 72 6b 20 77 69 74 68 6f .nil!.calibredb.won't.work.witho
41620 75 74 20 69 74 2e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 28 66 69 6c 65 2d ut.it."))...........((not.(file-
41640 72 65 67 75 6c 61 72 2d 70 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72 29 29 0a 20 20 20 regular-p.calibredb-db-dir))....
41660 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 63 61 6c 69 62 72 65 64 62 3a 20 25 73 20 ........(message."calibredb:.%s.
41680 64 6f 65 73 6e 27 74 20 65 78 69 73 74 21 22 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72 doesn't.exist!".calibredb-db-dir
416a0 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 ))...........(t............(if.(
416c0 61 6e 64 20 28 66 75 6e 63 74 69 6f 6e 70 20 27 73 71 6c 69 74 65 2d 61 76 61 69 6c 61 62 6c 65 and.(functionp.'sqlite-available
416e0 2d 70 29 20 28 73 71 6c 69 74 65 2d 61 76 61 69 6c 61 62 6c 65 2d 70 29 29 0a 20 20 20 20 20 20 -p).(sqlite-available-p)).......
41700 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 73 71 6c 69 74 65 70 20 63 61 6c 69 62 72 .........(unless.(sqlitep.calibr
41720 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 edb-db-connection)..............
41740 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 29 0a ....(calibredb-db-connection))).
41760 20 20 20 20 20 20 20 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 28 63 61 ...........(switch-to-buffer.(ca
41780 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 libredb-search-buffer)).........
417a0 20 20 20 28 6c 65 74 20 28 28 63 61 6e 64 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 ...(let.((cand.(calibredb-search
417c0 2d 6b 65 79 77 6f 72 64 2d 66 69 6c 74 65 72 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 -keyword-filter.calibredb-search
417e0 2d 66 69 6c 74 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 -filter)))..............(goto-ch
41800 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 ar.(point-min))..............(ca
41820 6c 69 62 72 65 64 62 2d 72 65 66 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c 69 6f 67 72 61 70 68 79 libredb-ref-default-bibliography
41840 29 29 29 29 29 0a 20 20 20 3b 3b 20 2e 6d 65 74 61 64 61 74 61 2e 63 61 6c 69 62 72 65 0a 20 20 )))))....;;..metadata.calibre...
41860 20 28 28 61 6e 64 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 28 65 78 70 61 6e 64 2d 66 69 .((and.(file-exists-p.(expand-fi
41880 6c 65 2d 6e 61 6d 65 20 22 2e 6d 65 74 61 64 61 74 61 2e 63 61 6c 69 62 72 65 22 20 63 61 6c 69 le-name.".metadata.calibre".cali
418a0 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 29 29 0a 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f bredb-root-dir))).....(switch-to
418c0 2d 62 75 66 66 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72 -buffer.(calibredb-search-buffer
418e0 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 )).....(goto-char.(point-min))..
41900 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 72 65 66 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c 69 6f ...(calibredb-ref-default-biblio
41920 67 72 61 70 68 79 29 0a 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 75 70 graphy).....(calibredb-search-up
41940 64 61 74 65 2d 62 75 66 66 65 72 20 3a 66 6f 6c 64 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 date-buffer.:folder.(calibredb-f
41960 6f 6c 64 65 72 2d 63 61 6e 64 69 64 61 74 65 73 29 29 29 0a 20 20 20 28 74 0a 20 20 20 20 28 6d older-candidates)))....(t.....(m
41980 65 73 73 61 67 65 20 22 63 61 6c 69 62 72 65 64 62 3a 20 25 73 20 69 73 20 69 6e 76 61 6c 69 64 essage."calibredb:.%s.is.invalid
419a0 2e 22 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 .".calibredb-db-dir))))..(provid
419c0 65 20 27 63 61 6c 69 62 72 65 64 62 29 0a 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2e 65 6c 20 65 e.'calibredb).;;;.calibredb.el.e
419e0 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 nds.here........................
41a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
420a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
420c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
420e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
421a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
421c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
421e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
422a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
422c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
422e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
423a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
423c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
423e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
424a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
424c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
424e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
425a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
425c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
425e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
426a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
426c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
426e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
427a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
427c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
427e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
428a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
428c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
428e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
429a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
429c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
429e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
430a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
430c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
430e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
431a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
431c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
431e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
432a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
432c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
432e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
433a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
433c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
433e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
434a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
434c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
434e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
435a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
435c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
435e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
436a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
436c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
436e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
437a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
437c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
437e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................