Re: Xapers
authorRainer M. Krug <Rainer@krugs.de>
Tue, 16 Apr 2013 08:35:10 +0000 (10:35 +0200)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:54:23 +0000 (09:54 -0800)
06/70e35d59471035d0ecffda768e7e1d7a4ed373 [new file with mode: 0644]

diff --git a/06/70e35d59471035d0ecffda768e7e1d7a4ed373 b/06/70e35d59471035d0ecffda768e7e1d7a4ed373
new file mode 100644 (file)
index 0000000..f0fe007
--- /dev/null
@@ -0,0 +1,240 @@
+Return-Path: <r.m.krug@gmail.com>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+       by olra.theworths.org (Postfix) with ESMTP id E123B431FB6\r
+       for <notmuch@notmuchmail.org>; Tue, 16 Apr 2013 01:35:17 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -0.699\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-0.699 tagged_above=-999 required=5\r
+       tests=[FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+       by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+       with ESMTP id zDyLtvc0eHyr for <notmuch@notmuchmail.org>;\r
+       Tue, 16 Apr 2013 01:35:16 -0700 (PDT)\r
+Received: from mail-we0-f182.google.com (mail-we0-f182.google.com\r
+       [74.125.82.182]) (using TLSv1 with cipher RC4-SHA (128/128 bits))\r
+       (No client certificate requested)\r
+       by olra.theworths.org (Postfix) with ESMTPS id 976E5431FAF\r
+       for <notmuch@notmuchmail.org>; Tue, 16 Apr 2013 01:35:16 -0700 (PDT)\r
+Received: by mail-we0-f182.google.com with SMTP id m1so164504wea.13\r
+       for <notmuch@notmuchmail.org>; Tue, 16 Apr 2013 01:35:15 -0700 (PDT)\r
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;\r
+       d=google.com; s=20120113;\r
+       h=x-received:from:to:cc:subject:references:date:in-reply-to\r
+       :message-id:user-agent:mime-version:content-type\r
+       :content-transfer-encoding;\r
+       bh=jx4/J2es6sOAJ0vadpE5FbbrYyryGqSNccaIn2Y1g5c=;\r
+       b=CmVZyi+bIgQkKM2Lk8U70EGay1qB/Hh0L90vsZY4l0HX/0W8WeXXNQucVWESqEsA0f\r
+       ndBgiJZ28nNx0EqP9wiXti+fDFZH+ggkrXzYGev0XEgpSTwOYtzlszKvt6uRqIjqnxNq\r
+       kEWX02N1GuRDDp4ZI3hBDejZSFNcPdK/HIfLzo36/vhinIY8F2PwlWjfhnlSKfZLzgnI\r
+       MTs+JO2iSQt8qnp+YFsOSn+TgBh2uzRglsPv7kx/h+ad+3spkJHrXWJZAiL2Qd7HNOn9\r
+       l9x+hxT2qccywnbq2ZaYzkgH14F2LGcSa7YVSkOPQ4FwBom2VNTWp25r7lZ+AyShqs8T\r
+       OqAg==\r
+X-Received: by 10.194.8.99 with SMTP id q3mr1531020wja.34.1366101314120;\r
+       Tue, 16 Apr 2013 01:35:14 -0700 (PDT)\r
+Received: from ecolmod ([2a01:e35:8baa:b070:3195:b1f6:2ed:d6ac])\r
+       by mx.google.com with ESMTPS id fz3sm1462711wib.0.2013.04.16.01.35.12\r
+       (version=TLSv1.2 cipher=RC4-SHA bits=128/128);\r
+       Tue, 16 Apr 2013 01:35:13 -0700 (PDT)\r
+From: Rainer@krugs.de (Rainer M. Krug)\r
+To: Jameson Graef Rollins <jrollins@finestructure.net>\r
+Subject: Re: Xapers\r
+References: <87zjx0tdwt.fsf@servo.finestructure.net>\r
+       <87li8ju307.fsf@servo.finestructure.net>\r
+       <20130415184645.698.61822@brick.lan>\r
+       <87a9oztxxu.fsf@servo.finestructure.net>\r
+Date: Tue, 16 Apr 2013 10:35:10 +0200\r
+In-Reply-To: <87a9oztxxu.fsf@servo.finestructure.net> (Jameson Graef Rollins's\r
+       message of "Mon, 15 Apr 2013 12:07:25 -0700")\r
+Message-ID: <87txn6lvpd.fsf@krugs.de>\r
+User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)\r
+MIME-Version: 1.0\r
+Content-Type: text/plain; charset=utf-8\r
+Content-Transfer-Encoding: quoted-printable\r
+Cc: Notmuch Mail <notmuch@notmuchmail.org>\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+       <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Tue, 16 Apr 2013 08:35:18 -0000\r
+\r
+Jameson Graef Rollins <jrollins@finestructure.net> writes:\r
+\r
+> On Mon, Apr 15 2013, Patrick Totzke <patricktotzke@gmail.com> wrote:\r
+>> Brilliant idea!\r
+>\r
+> Thanks!  I give Carl all the credit, though, since it's really all just\r
+> based on the notmuch idea.\r
+>\r
+>> here's some early feedback:\r
+>> * is there a way to batch import a bunch of pdfs? or better yet, a bibte=\r
+x file with entries pointing\r
+>>   to files like the ones produced by say jabref?\r
+>>   There, entries have some line like this:\r
+>>   file =3D {Boz2012.pdf:papers/Boz2012.pdf:PDF}\r
+>\r
+> There's not currently a prescribed way to batch import, but if you can\r
+> programmatically get all pdf/bibtex pairs then it should be easy to\r
+> script:\r
+>\r
+\r
+It would be quite important to be able to do something along the lines\r
+of\r
+\r
+  xapers import --bib=3DTheBibtexFile.bib\r
+\r
+and xapers extracts the info it needs. If this info of the source of the\r
+data is put into a config file, one could, as with notmuch, just update\r
+xapers by doing:\r
+\r
+  xapers new\r
+\r
+and all new papers in the config file source (bibtex, possibly directory\r
+with pdf, text file, ...) would be added to xapers.\r
+\r
+Most people already have there papers in bibtex files, so a feature like\r
+this wold make xapers a *very* interesting tool - I would most\r
+definitely use it,bu not if I have to re-enter each file I add to the\r
+pdf.\r
+\r
+Is there a mailing list or place where you anounce new versions?\r
+\r
+Looking forward to the bibtex interface,\r
+\r
+Rainer\r
+=20=20\r
+\r
+>   xapers import --file=3DPDF --source=3DBIBTEX\r
+>\r
+>> * got a bunch of traces:\r
+>>   -----------------------------\r
+>>   $xapers import --source=3DABK2011.pdf                                 =\r
+                                                    1 =E2=86=B5 master=20\r
+>>   Reading bibtex... done.\r
+>>   Adding bibtex...=20\r
+>>=20=20=20\r
+>>   Traceback (most recent call last):\r
+>>     File "/home/pazz/.local/bin/xapers", line 145, in <module>\r
+>>       docid =3D cli.add(query_string, infile=3Dinfile, source=3Dsource, =\r
+tags=3Dtags, prompt=3Dprompt)\r
+>>     File "/home/pazz/.local/lib/python2.7/site-packages/xapers/cli/ui.py=\r
+", line 228, in add\r
+>>       doc.add_bibtex(bibtex)\r
+>>     File "/home/pazz/.local/lib/python2.7/site-packages/xapers/documents=\r
+.py", line 373, in add_bibtex\r
+>>       self.bibentry =3D xapers.bibtex.Bibentry(bibtex)\r
+>>     File "/home/pazz/.local/lib/python2.7/site-packages/xapers/bibtex.py=\r
+", line 25, in __init__\r
+>>       if os.path.exists(bibtex):\r
+>>     File "/usr/lib/python2.7/genericpath.py", line 18, in exists\r
+>>       os.stat(path)\r
+>>   TypeError: must be encoded string without NULL bytes, not str\r
+>>   ----------------------------\r
+>\r
+> Yikes.  Sorry about that.  Clearly more error checking is needed.\r
+>\r
+> The problem here is that PDFs should passed in through the --file=3D\r
+> option, while source library URLs or bibtex files should be passed in\r
+> through --source=3D.\r
+>\r
+>>   $ xapers show, then i moved around a bit\r
+>>\r
+>>   ----------------------------\r
+>>   Traceback (most recent call last):\r
+>>     File "/home/pazz/.local/bin/xapers", line 228, in <module>\r
+>>       xapers.nci.UI(xroot, cmd=3Dargs)\r
+>>     File "/home/pazz/.local/lib/python2.7/site-packages/xapers/nci/ui.py=\r
+", line 73, in __init__\r
+>>       self.mainloop.run()\r
+>>     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-=\r
+py2.7-linux-x86_64.egg/urwid/main_loop.py", line 272, in run\r
+>>       self.screen.run_wrapper(self._run)\r
+>>     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-=\r
+py2.7-linux-x86_64.egg/urwid/raw_display.py", line 242, in run_wrapper\r
+>>       return fn()\r
+>>     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-=\r
+py2.7-linux-x86_64.egg/urwid/main_loop.py", line 337, in _run\r
+>>       self.event_loop.run()\r
+>>     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-=\r
+py2.7-linux-x86_64.egg/urwid/main_loop.py", line 708, in run\r
+>>       self._loop()\r
+>>     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-=\r
+py2.7-linux-x86_64.egg/urwid/main_loop.py", line 787, in _loop\r
+>>       self._watch_files[fd]()\r
+>>     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-=\r
+py2.7-linux-x86_64.egg/urwid/main_loop.py", line 388, in _update\r
+>>       self.process_input(keys)\r
+>>     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-=\r
+py2.7-linux-x86_64.egg/urwid/main_loop.py", line 488, in process_input\r
+>>       k =3D self._topmost_widget.keypress(self.screen_size, k)\r
+>>     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-=\r
+py2.7-linux-x86_64.egg/urwid/container.py", line 1120, in keypress\r
+>>       return self.body.keypress( (maxcol, remaining), key )\r
+>>     File "/home/pazz/.local/lib/python2.7/site-packages/xapers/nci/searc=\r
+h.py", line 304, in keypress\r
+>>       eval(cmd)\r
+>>     File "<string>", line 1, in <module>\r
+>>     File "/home/pazz/.local/lib/python2.7/site-packages/xapers/nci/searc=\r
+h.py", line 155, in nextEntry\r
+>>       self.listbox.set_focus(pos + 1)\r
+>>     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-=\r
+py2.7-linux-x86_64.egg/urwid/listbox.py", line 567, in set_focus\r
+>>       self.body.set_focus(position)\r
+>>     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-=\r
+py2.7-linux-x86_64.egg/urwid/listbox.py", line 178, in set_focus\r
+>>       raise IndexError, "No widget at position %s" % (position,)\r
+>>   IndexError: No widget at position 1\r
+>>   ----------------------------\r
+>\r
+> Hrm.  Don't know what this is about.  I'll look into it.  Sorry again!\r
+>\r
+>> * did you already set something up to report bugs? github issues, a mali=\r
+ng list?\r
+>\r
+> No, not yet.  I wanted to gauge interest first.  Maybe I'll go ahead and\r
+> set something up on github.  In the meantime please just report bugs to\r
+> be directly and I'll note them in the TODO.\r
+>\r
+>> Can't wait until someone forks alot to use this. I've been waiting for\r
+>> someone (else) to start a project like this for some time now :)\r
+>\r
+> Well actually the curses UI is ripped almost entirely from alot already!\r
+> It clearly needs some more work, though.\r
+>\r
+> Thanks for the feedback and interest!\r
+>\r
+> jamie.\r
+> _______________________________________________\r
+> notmuch mailing list\r
+> notmuch@notmuchmail.org\r
+> http://notmuchmail.org/mailman/listinfo/notmuch\r
+<#secure method=3Dpgpmime mode=3Dsign>\r
+\r
+--=20\r
+Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology,=\r
+ UCT), Dipl. Phys. (Germany)\r
+\r
+Centre of Excellence for Invasion Biology\r
+Stellenbosch University\r
+South Africa\r
+\r
+Tel :       +33 - (0)9 53 10 27 44\r
+Cell:       +33 - (0)6 85 62 59 98\r
+Fax :       +33 - (0)9 58 10 27 44\r
+\r
+Fax (D):    +49 - (0)3 21 21 25 22 44\r
+\r
+email:      Rainer@krugs.de\r
+\r
+Skype:      RMkrug\r