unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Jameson Graef Rollins <jrollins@finestructure.net>
To: Patrick Totzke <patricktotzke@gmail.com>,
	Notmuch Mail <notmuch@notmuchmail.org>
Subject: Re: Xapers
Date: Mon, 15 Apr 2013 12:07:25 -0700	[thread overview]
Message-ID: <87a9oztxxu.fsf@servo.finestructure.net> (raw)
In-Reply-To: <20130415184645.698.61822@brick.lan>

[-- Attachment #1: Type: text/plain, Size: 5216 bytes --]

On Mon, Apr 15 2013, Patrick Totzke <patricktotzke@gmail.com> wrote:
> Brilliant idea!

Thanks!  I give Carl all the credit, though, since it's really all just
based on the notmuch idea.

> here's some early feedback:
> * is there a way to batch import a bunch of pdfs? or better yet, a bibtex file with entries pointing
>   to files like the ones produced by say jabref?
>   There, entries have some line like this:
>   file = {Boz2012.pdf:papers/Boz2012.pdf:PDF}

There's not currently a prescribed way to batch import, but if you can
programmatically get all pdf/bibtex pairs then it should be easy to
script:

  xapers import --file=PDF --source=BIBTEX

> * got a bunch of traces:
>   -----------------------------
>   $xapers import --source=ABK2011.pdf                                                                                     1 ↵ master 
>   Reading bibtex... done.
>   Adding bibtex... 
>   
>   Traceback (most recent call last):
>     File "/home/pazz/.local/bin/xapers", line 145, in <module>
>       docid = cli.add(query_string, infile=infile, source=source, tags=tags, prompt=prompt)
>     File "/home/pazz/.local/lib/python2.7/site-packages/xapers/cli/ui.py", line 228, in add
>       doc.add_bibtex(bibtex)
>     File "/home/pazz/.local/lib/python2.7/site-packages/xapers/documents.py", line 373, in add_bibtex
>       self.bibentry = xapers.bibtex.Bibentry(bibtex)
>     File "/home/pazz/.local/lib/python2.7/site-packages/xapers/bibtex.py", line 25, in __init__
>       if os.path.exists(bibtex):
>     File "/usr/lib/python2.7/genericpath.py", line 18, in exists
>       os.stat(path)
>   TypeError: must be encoded string without NULL bytes, not str
>   ----------------------------

Yikes.  Sorry about that.  Clearly more error checking is needed.

The problem here is that PDFs should passed in through the --file=
option, while source library URLs or bibtex files should be passed in
through --source=.

>   $ xapers show, then i moved around a bit
>
>   ----------------------------
>   Traceback (most recent call last):
>     File "/home/pazz/.local/bin/xapers", line 228, in <module>
>       xapers.nci.UI(xroot, cmd=args)
>     File "/home/pazz/.local/lib/python2.7/site-packages/xapers/nci/ui.py", line 73, in __init__
>       self.mainloop.run()
>     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-py2.7-linux-x86_64.egg/urwid/main_loop.py", line 272, in run
>       self.screen.run_wrapper(self._run)
>     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-py2.7-linux-x86_64.egg/urwid/raw_display.py", line 242, in run_wrapper
>       return fn()
>     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-py2.7-linux-x86_64.egg/urwid/main_loop.py", line 337, in _run
>       self.event_loop.run()
>     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-py2.7-linux-x86_64.egg/urwid/main_loop.py", line 708, in run
>       self._loop()
>     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-py2.7-linux-x86_64.egg/urwid/main_loop.py", line 787, in _loop
>       self._watch_files[fd]()
>     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-py2.7-linux-x86_64.egg/urwid/main_loop.py", line 388, in _update
>       self.process_input(keys)
>     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-py2.7-linux-x86_64.egg/urwid/main_loop.py", line 488, in process_input
>       k = self._topmost_widget.keypress(self.screen_size, k)
>     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-py2.7-linux-x86_64.egg/urwid/container.py", line 1120, in keypress
>       return self.body.keypress( (maxcol, remaining), key )
>     File "/home/pazz/.local/lib/python2.7/site-packages/xapers/nci/search.py", line 304, in keypress
>       eval(cmd)
>     File "<string>", line 1, in <module>
>     File "/home/pazz/.local/lib/python2.7/site-packages/xapers/nci/search.py", line 155, in nextEntry
>       self.listbox.set_focus(pos + 1)
>     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-py2.7-linux-x86_64.egg/urwid/listbox.py", line 567, in set_focus
>       self.body.set_focus(position)
>     File "/home/pazz/.local/lib/python2.7/site-packages/urwid-1.2.0_dev-py2.7-linux-x86_64.egg/urwid/listbox.py", line 178, in set_focus
>       raise IndexError, "No widget at position %s" % (position,)
>   IndexError: No widget at position 1
>   ----------------------------

Hrm.  Don't know what this is about.  I'll look into it.  Sorry again!

> * did you already set something up to report bugs? github issues, a maling list?

No, not yet.  I wanted to gauge interest first.  Maybe I'll go ahead and
set something up on github.  In the meantime please just report bugs to
be directly and I'll note them in the TODO.

> Can't wait until someone forks alot to use this. I've been waiting for
> someone (else) to start a project like this for some time now :)

Well actually the curses UI is ripped almost entirely from alot already!
It clearly needs some more work, though.

Thanks for the feedback and interest!

jamie.

[-- Attachment #2: Type: application/pgp-signature, Size: 835 bytes --]

  reply	other threads:[~2013-04-15 19:07 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-15  8:07 Xapers Jameson Graef Rollins
2013-04-15 17:18 ` Xapers Jameson Graef Rollins
2013-04-15 18:46   ` Xapers Patrick Totzke
2013-04-15 19:07     ` Jameson Graef Rollins [this message]
2013-04-16  8:35       ` Xapers Rainer M. Krug
2013-04-16  9:14         ` Xapers Jameson Graef Rollins
2013-04-16 10:05           ` Xapers Rainer M. Krug
2013-05-31 19:04   ` Xapers Jameson Graef Rollins

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87a9oztxxu.fsf@servo.finestructure.net \
    --to=jrollins@finestructure.net \
    --cc=notmuch@notmuchmail.org \
    --cc=patricktotzke@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).