Re: Linking a privately built -lxapian
[notmuch-archives.git] / 26 / ec2f03d945d63a8fcabb434f9f423995885d91
1 Return-Path: <jrollins@finestructure.net>\r
2 X-Original-To: notmuch@notmuchmail.org\r
3 Delivered-To: notmuch@notmuchmail.org\r
4 Received: from localhost (localhost [127.0.0.1])\r
5         by olra.theworths.org (Postfix) with ESMTP id A6486431FB6\r
6         for <notmuch@notmuchmail.org>; Mon, 15 Apr 2013 12:07:47 -0700 (PDT)\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
8 X-Spam-Flag: NO\r
9 X-Spam-Score: -2.3\r
10 X-Spam-Level: \r
11 X-Spam-Status: No, score=-2.3 tagged_above=-999 required=5\r
12         tests=[RCVD_IN_DNSWL_MED=-2.3] autolearn=disabled\r
13 Received: from olra.theworths.org ([127.0.0.1])\r
14         by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
15         with ESMTP id MuduWRy2-amS for <notmuch@notmuchmail.org>;\r
16         Mon, 15 Apr 2013 12:07:42 -0700 (PDT)\r
17 Received: from outgoing-mail.its.caltech.edu (outgoing-mail.its.caltech.edu\r
18         [131.215.239.19])\r
19         by olra.theworths.org (Postfix) with ESMTP id 2C33B431FAF\r
20         for <notmuch@notmuchmail.org>; Mon, 15 Apr 2013 12:07:42 -0700 (PDT)\r
21 Received: from fire-doxen.imss.caltech.edu (localhost [127.0.0.1])\r
22         by fire-doxen-postvirus (Postfix) with ESMTP id EFEE72E50BFF;\r
23         Mon, 15 Apr 2013 12:07:31 -0700 (PDT)\r
24 X-Spam-Scanned: at Caltech-IMSS on fire-doxen by amavisd-new\r
25 Received: from finestructure.net (DHCP-123-224.caltech.edu [131.215.123.224])\r
26         (Authenticated sender: jrollins)\r
27         by fire-doxen-submit (Postfix) with ESMTP id EC1123281B3;\r
28         Mon, 15 Apr 2013 12:07:27 -0700 (PDT)\r
29 Received: by finestructure.net (Postfix, from userid 1000)\r
30         id 99CD761707; Mon, 15 Apr 2013 12:07:27 -0700 (PDT)\r
31 From: Jameson Graef Rollins <jrollins@finestructure.net>\r
32 To: Patrick Totzke <patricktotzke@gmail.com>,\r
33         Notmuch Mail <notmuch@notmuchmail.org>\r
34 Subject: Re: Xapers\r
35 In-Reply-To: <20130415184645.698.61822@brick.lan>\r
36 References: <87zjx0tdwt.fsf@servo.finestructure.net>\r
37         <87li8ju307.fsf@servo.finestructure.net>\r
38         <20130415184645.698.61822@brick.lan>\r
39 User-Agent: Notmuch/0.15.2+82~ga5881dd (http://notmuchmail.org) Emacs/24.2.1\r
40         (x86_64-pc-linux-gnu)\r
41 Date: Mon, 15 Apr 2013 12:07:25 -0700\r
42 Message-ID: <87a9oztxxu.fsf@servo.finestructure.net>\r
43 MIME-Version: 1.0\r
44 Content-Type: multipart/signed; boundary="=-=-=";\r
45         micalg=pgp-sha256; protocol="application/pgp-signature"\r
46 X-BeenThere: notmuch@notmuchmail.org\r
47 X-Mailman-Version: 2.1.13\r
48 Precedence: list\r
49 List-Id: "Use and development of the notmuch mail system."\r
50         <notmuch.notmuchmail.org>\r
51 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
52         <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
53 List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
54 List-Post: <mailto:notmuch@notmuchmail.org>\r
55 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
56 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
57         <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
58 X-List-Received-Date: Mon, 15 Apr 2013 19:07:48 -0000\r
59 \r
60 --=-=-=\r
61 Content-Type: text/plain; charset=utf-8\r
62 Content-Transfer-Encoding: quoted-printable\r
63 \r
64 On Mon, Apr 15 2013, Patrick Totzke <patricktotzke@gmail.com> wrote:\r
65 > Brilliant idea!\r
66 \r
67 Thanks!  I give Carl all the credit, though, since it's really all just\r
68 based on the notmuch idea.\r
69 \r
70 > here's some early feedback:\r
71 > * is there a way to batch import a bunch of pdfs? or better yet, a bibtex=\r
72  file with entries pointing\r
73 >   to files like the ones produced by say jabref?\r
74 >   There, entries have some line like this:\r
75 >   file =3D {Boz2012.pdf:papers/Boz2012.pdf:PDF}\r
76 \r
77 There's not currently a prescribed way to batch import, but if you can\r
78 programmatically get all pdf/bibtex pairs then it should be easy to\r
79 script:\r
80 \r
81   xapers import --file=3DPDF --source=3DBIBTEX\r
82 \r
83 > * got a bunch of traces:\r
84 >   -----------------------------\r
85 >   $xapers import --source=3DABK2011.pdf                                  =\r
86                                                    1 =E2=86=B5 master=20\r
87 >   Reading bibtex... done.\r
88 >   Adding bibtex...=20\r
89 >=20=20=20\r
90 >   Traceback (most recent call last):\r
91 >     File "/home/pazz/.local/bin/xapers", line 145, in <module>\r
92 >       docid =3D cli.add(query_string, infile=3Dinfile, source=3Dsource, t=\r
93 ags=3Dtags, prompt=3Dprompt)\r
94 >     File "/home/pazz/.local/lib/python2.7/site-packages/xapers/cli/ui.py"=\r
95 , line 228, in add\r
96 >       doc.add_bibtex(bibtex)\r
97 >     File "/home/pazz/.local/lib/python2.7/site-packages/xapers/documents.=\r
98 py", line 373, in add_bibtex\r
99 >       self.bibentry =3D xapers.bibtex.Bibentry(bibtex)\r
100 >     File "/home/pazz/.local/lib/python2.7/site-packages/xapers/bibtex.py"=\r
101 , line 25, in __init__\r
102 >       if os.path.exists(bibtex):\r
103 >     File "/usr/lib/python2.7/genericpath.py", line 18, in exists\r
104 >       os.stat(path)\r
105 >   TypeError: must be encoded string without NULL bytes, not str\r
106 >   ----------------------------\r
107 \r
108 Yikes.  Sorry about that.  Clearly more error checking is needed.\r
109 \r
110 The problem here is that PDFs should passed in through the --file=3D\r
111 option, while source library URLs or bibtex files should be passed in\r
112 through --source=3D.\r
113 \r
114 >   $ xapers show, then i moved around a bit\r
115 >\r
116 >   ----------------------------\r
117 >   Traceback (most recent call last):\r
118 >     File "/home/pazz/.local/bin/xapers", line 228, in <module>\r
119 >       xapers.nci.UI(xroot, cmd=3Dargs)\r
120 >     File "/home/pazz/.local/lib/python2.7/site-packages/xapers/nci/ui.py"=\r
121 , line 73, in __init__\r
122 >       self.mainloop.run()\r
123 >     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-p=\r
124 y2.7-linux-x86_64.egg/urwid/main_loop.py", line 272, in run\r
125 >       self.screen.run_wrapper(self._run)\r
126 >     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-p=\r
127 y2.7-linux-x86_64.egg/urwid/raw_display.py", line 242, in run_wrapper\r
128 >       return fn()\r
129 >     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-p=\r
130 y2.7-linux-x86_64.egg/urwid/main_loop.py", line 337, in _run\r
131 >       self.event_loop.run()\r
132 >     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-p=\r
133 y2.7-linux-x86_64.egg/urwid/main_loop.py", line 708, in run\r
134 >       self._loop()\r
135 >     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-p=\r
136 y2.7-linux-x86_64.egg/urwid/main_loop.py", line 787, in _loop\r
137 >       self._watch_files[fd]()\r
138 >     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-p=\r
139 y2.7-linux-x86_64.egg/urwid/main_loop.py", line 388, in _update\r
140 >       self.process_input(keys)\r
141 >     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-p=\r
142 y2.7-linux-x86_64.egg/urwid/main_loop.py", line 488, in process_input\r
143 >       k =3D self._topmost_widget.keypress(self.screen_size, k)\r
144 >     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-p=\r
145 y2.7-linux-x86_64.egg/urwid/container.py", line 1120, in keypress\r
146 >       return self.body.keypress( (maxcol, remaining), key )\r
147 >     File "/home/pazz/.local/lib/python2.7/site-packages/xapers/nci/search=\r
148 .py", line 304, in keypress\r
149 >       eval(cmd)\r
150 >     File "<string>", line 1, in <module>\r
151 >     File "/home/pazz/.local/lib/python2.7/site-packages/xapers/nci/search=\r
152 .py", line 155, in nextEntry\r
153 >       self.listbox.set_focus(pos + 1)\r
154 >     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-p=\r
155 y2.7-linux-x86_64.egg/urwid/listbox.py", line 567, in set_focus\r
156 >       self.body.set_focus(position)\r
157 >     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-p=\r
158 y2.7-linux-x86_64.egg/urwid/listbox.py", line 178, in set_focus\r
159 >       raise IndexError, "No widget at position %s" % (position,)\r
160 >   IndexError: No widget at position 1\r
161 >   ----------------------------\r
162 \r
163 Hrm.  Don't know what this is about.  I'll look into it.  Sorry again!\r
164 \r
165 > * did you already set something up to report bugs? github issues, a malin=\r
166 g list?\r
167 \r
168 No, not yet.  I wanted to gauge interest first.  Maybe I'll go ahead and\r
169 set something up on github.  In the meantime please just report bugs to\r
170 be directly and I'll note them in the TODO.\r
171 \r
172 > Can't wait until someone forks alot to use this. I've been waiting for\r
173 > someone (else) to start a project like this for some time now :)\r
174 \r
175 Well actually the curses UI is ripped almost entirely from alot already!\r
176 It clearly needs some more work, though.\r
177 \r
178 Thanks for the feedback and interest!\r
179 \r
180 jamie.\r
181 \r
182 --=-=-=\r
183 Content-Type: application/pgp-signature\r
184 \r
185 -----BEGIN PGP SIGNATURE-----\r
186 Version: GnuPG v1.4.12 (GNU/Linux)\r
187 \r
188 iQIcBAEBCAAGBQJRbE/tAAoJEO00zqvie6q8qLkP/iZqSDRGq2/6zHy9eVA9OpQ5\r
189 +lhp0zbxvuvmgZ1KaAlyO9P4+a1fA1KnNxCwvt7DCj9SANDGEpqXwyW+XS3ypl75\r
190 C9ab/XU9ckyhr3ZM5EdZb/tb9WN04M0vIe+JeaOrAwFfsWt1aOZ4ysRsZmVjZki2\r
191 jvaXEufuO9KqyCwIF0UIqUsgOyVsfVmE5u5hUql9YaWaK6khmekkg/ncb8azL8YK\r
192 CsVw1ztTUblXLsYoi8RtkZnbJ+/4GR/guJ6Luf2Z5AMZkxbLrrklIyD3DtV59Z6q\r
193 Oby6MA3c6zvdf9HNMOcAhstsbnEy9e98amo65MvCu38WmKVQbvwMhEKv1K/t2dqx\r
194 dDsyqT7QTpTW0/50Q8MEWuk1XwGCywUZvopHSp1SL4K5jhKiD0Dfm9aPj5khS6TI\r
195 KYO8QXQqKtvP+yX1pViXfxzt6Zbc3WYirRwVf3R+UZtjd0L/uSeKg8aP3XdmNOKQ\r
196 oLkyMYRrODyHywQ5UzMM9LbZEMGDFwBOJjwTwONVzTCLKtUKV+iSmqq6HwiFeGAu\r
197 WDN5dbZV4o6+NAotGPkTJjSHEnOLJTwwq7/y44G1qs7UlGRq3cehcJPVjtcSx0+k\r
198 E/gNHsMBQLUFZNIDz1HLoRG/FaBlpAhkupeFik6H6nal+MS625TD7zoFAfqOZzXq\r
199 zjP3kQavu5TQgoEICm1o\r
200 =tanp\r
201 -----END PGP SIGNATURE-----\r
202 --=-=-=--\r