* Okular Metadata to Org @ 2010-11-20 0:51 Ross Glover 2010-11-22 9:13 ` Rainer M Krug 0 siblings, 1 reply; 3+ messages in thread From: Ross Glover @ 2010-11-20 0:51 UTC (permalink / raw) To: emacs-orgmode Hi All, My first post to the list. I've been working on this python script to extract Okular metadata and insert it into an org-mode file. I like using Okular to read and take notes, but accessing those notes is a total pain. This script takes care of that problem. You can get the code here: git clone git://lair.fifthhorseman.net/~rossg/okutorg.git What the script does is read the xml and creates a .org file with this structure: * [[/home/USER/articles/feminism/aronson-Feminism_or_Post-feminism.pdf]] ** [[bibnotes:1 /home/USER/articles/feminism/aronson-Feminism_or_Post-feminism.pdf][Young women no longer]] Young women no longer concern themselves with discrimination. By adding the following lisp to my .emacs files, each 'bibnotes' link type will open the file to the page on which the note was taken. Unfortunately, Okular has no switch for opening on a specified annotation, but the page is not a bad result. {{{ ;; Open okular from org bibnotes to correct page. (org-add-link-type "bibnotes" 'org-follow-bibnotes-link) (defun org-follow-bibnotes-link (link) "Follow links of the type 'pagenumber path/to/file" (when (string-match "\\([0-9]+\\)\\([[:blank:]]+\\)\\(\/.*\.pdf\\)" link) (start-process "okular" nil "okular" "-p" (match-string 1 link) (match-string 3 link)))) }}} The overall code is not great, as I am not a great coder by any stretch. Nor is the script feature rich, currently it just does a recursive dump of all the okular metadata files that have annotations. It does check the .org file for duplicate entries, but in a rudamentary fashion. I wanted to integrate this with pymacs or do the import with lisp, but both of those things are beyond me at the moment. Any thoughts are welcome. You're welcome to flame me about feminism, but please not about the code (I know it's weak). This is the first thing I've ever made public. Help don't hate ;) . Hopefully someone else will find this useful, Ross -- Sent from an Emacs buffer. ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Okular Metadata to Org 2010-11-20 0:51 Okular Metadata to Org Ross Glover @ 2010-11-22 9:13 ` Rainer M Krug 2010-11-22 12:53 ` Ross Glover 0 siblings, 1 reply; 3+ messages in thread From: Rainer M Krug @ 2010-11-22 9:13 UTC (permalink / raw) To: Ross Glover; +Cc: emacs-orgmode -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 11/20/2010 01:51 AM, Ross Glover wrote: > Hi All, > > My first post to the list. I've been working on this python script to > extract Okular metadata and insert it into an org-mode file. I like > using Okular to read and take notes, but accessing those notes is a > total pain. This script takes care of that problem. > > You can get the code here: > git clone git://lair.fifthhorseman.net/~rossg/okutorg.git > > What the script does is read the xml and creates a .org file with this > structure: > > * [[/home/USER/articles/feminism/aronson-Feminism_or_Post-feminism.pdf]] > ** [[bibnotes:1 /home/USER/articles/feminism/aronson-Feminism_or_Post-feminism.pdf][Young women no longer]] > Young women no longer concern themselves with discrimination. > > By adding the following lisp to my .emacs files, each 'bibnotes' link > type will open the file to the page on which the note was taken. > Unfortunately, Okular has no switch for opening on a specified > annotation, but the page is not a bad result. > > {{{ > ;; Open okular from org bibnotes to correct page. > (org-add-link-type "bibnotes" 'org-follow-bibnotes-link) > (defun org-follow-bibnotes-link (link) > "Follow links of the type 'pagenumber path/to/file" > (when (string-match "\\([0-9]+\\)\\([[:blank:]]+\\)\\(\/.*\.pdf\\)" link) > (start-process "okular" nil "okular" "-p" > (match-string 1 link) > (match-string 3 link)))) > }}} > > > The overall code is not great, as I am not a great coder by any > stretch. Nor is the script feature rich, currently it just does a > recursive dump of all the okular metadata files that have > annotations. It does check the .org file for duplicate entries, but in > a rudamentary fashion. > > I wanted to integrate this with pymacs or do the import with > lisp, but both of those things are beyond me at the moment. > > Any thoughts are welcome. You're welcome to flame me about feminism, > but please not about the code (I know it's weak). This is the first > thing I've ever made public. Help don't hate ;) . I like it - it looks really nice. I liked okular as well, but reluctant to use as the comments and notes were for me locked into okular, which I did not like. So with this script, I can at least extract them to be readable from org. 1) Are you planning to also include the edits (new text, ...) into the org file, as it would be useful to have all those in it. 2) Would it be possible to re-use an existing okular instance? it is a little bit annoying to have several instances open, when browsing through notes. As I said, I like the script, and I am thinking about running this as a batch job each time I start emacs. Now we just need the opposite: click in a pdf at a certain location and org opens with the link to there to add the note - am I dreaming here? Cheers, Rainer > > Hopefully someone else will find this useful, > > Ross > - -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Natural Sciences Building Office Suite 2039 Stellenbosch University Main Campus, Merriman Avenue Stellenbosch South Africa Tel: +33 - (0)9 53 10 27 44 Cell: +27 - (0)8 39 47 90 42 Fax (SA): +27 - (0)8 65 16 27 82 Fax (D) : +49 - (0)3 21 21 25 22 44 Fax (FR): +33 - (0)9 58 10 27 44 email: Rainer@krugs.de Skype: RMkrug -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkzqNDUACgkQoYgNqgF2egp9MwCfYracbYeqLz75q20SzrPY3MOv wEQAn3Z5GIpyVhOBbAQz8ISJI4E4udGW =/1s/ -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Okular Metadata to Org 2010-11-22 9:13 ` Rainer M Krug @ 2010-11-22 12:53 ` Ross Glover 0 siblings, 0 replies; 3+ messages in thread From: Ross Glover @ 2010-11-22 12:53 UTC (permalink / raw) To: Rainer M Krug; +Cc: emacs-orgmode [-- Attachment #1.1: Type: text/plain, Size: 2835 bytes --] On Mon, 22 Nov 2010 10:13:25 +0100, Rainer M Krug <r.m.krug@gmail.com> wrote: Hi Rainer, Thanks for your feedback. Your thoughts are quite helpful and give me some ideas and motivation. > > 1) Are you planning to also include the edits (new text, ...) into the > org file, as it would be useful to have all those in it. Yes, I've been working on this. The difficulty I currently face is getting the correct regex. Because all of the data below the header is a single string, my approach is to pull the string after the file heading and then compare the okular string with the org-mode string. Unfortunately, I've not yet figured out the correct regular expression. > > 2) Would it be possible to re-use an existing okular instance? it is a > little bit annoying to have several instances open, when browsing > through notes. This is an interesting question. At the moment, I'm not sure that this is possible. Since okular doesn't run as a daemon, there's no way (that I know of) to communicate with a given instance, but I agree it would be nice. I'll look into how okular manages opening files within an instance and see if I can figure out a way. > > As I said, I like the script, and I am thinking about running this as a > batch job each time I start emacs. Sweet! I'm glad you find it useful. > > Now we just need the opposite: click in a pdf at a certain location and > org opens with the link to there to add the note - am I dreaming here? > Now that's bold. I've been looking at this http://orgmode.org/worg/org-contrib/org-protocol.php wondering if there's a way to get more interaction. By looking at, I mean I just noticed it last week, I don't know how possible it is, but you're right, such a thing would be a great interface. Rule nothing out! > Cheers, > > Rainer > > > > > Hopefully someone else will find this useful, > > > > Ross > > > > > - -- > Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation > Biology, UCT), Dipl. Phys. (Germany) > > Centre of Excellence for Invasion Biology > Natural Sciences Building > Office Suite 2039 > Stellenbosch University > Main Campus, Merriman Avenue > Stellenbosch > South Africa > > Tel: +33 - (0)9 53 10 27 44 > Cell: +27 - (0)8 39 47 90 42 > Fax (SA): +27 - (0)8 65 16 27 82 > Fax (D) : +49 - (0)3 21 21 25 22 44 > Fax (FR): +33 - (0)9 58 10 27 44 > email: Rainer@krugs.de > > Skype: RMkrug > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.10 (GNU/Linux) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > > iEYEARECAAYFAkzqNDUACgkQoYgNqgF2egp9MwCfYracbYeqLz75q20SzrPY3MOv > wEQAn3Z5GIpyVhOBbAQz8ISJI4E4udGW > =/1s/ > -----END PGP SIGNATURE----- -- Sent from an Emacs buffer. [-- Attachment #1.2: Type: application/pgp-signature, Size: 489 bytes --] [-- Attachment #2: Type: text/plain, Size: 201 bytes --] _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-11-22 12:54 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-11-20 0:51 Okular Metadata to Org Ross Glover 2010-11-22 9:13 ` Rainer M Krug 2010-11-22 12:53 ` Ross Glover
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs/org-mode.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).