From: "Przemysław Kamiński" <firstname.lastname@example.org> To: email@example.com Subject: Re: official orgmode parser Date: Wed, 16 Sep 2020 14:15:17 +0200 [thread overview] Message-ID: <firstname.lastname@example.org> (raw) In-Reply-To: <87een2lyja.fsf@localhost> On 9/16/20 2:02 PM, Ihor Radchenko wrote: >> However what Ihor presented is interesting. Do you use similar approach >> with shellout and 'emacs -batch' to show currently running task or you >> 'push' data from emacs to show it in the taskbar? > > I prefer to avoid querying emacs too often for performance reasons. > Instead, I only update the clocking info when I clock in/out in emacs. > Then, the clocked in time is dynamically updated by independent bash > script. > > The scheme is the following: > 1. org clock in/out in Emacs trigger writing clocking info into > ~/.org-clock-in status file > 2. bash script periodically monitors the file and calculates the clocked > in time according to the contents and time from last modification > 3. the script updates simple textbox widget using awesome-client > 4. the script also warns me (notify-send) when the weighted clocked in > time is negative (meaning that I should switch to some more > productive activity) > > Best, > Ihor > > Przemysław Kamiński <email@example.com> writes: > >> On 9/16/20 9:56 AM, Ihor Radchenko wrote: >>>> Wow, another awesomewm user here; could you share your code? >>> >>> Are you interested in something particular about awesome WM integration? >>> >>> I am using simple textbox widgets to show currently clocked in task and >>> weighted summary of clocked time. See the attachments. >>> >>> Best, >>> Ihor >>> >>> >>> >>> >>> Marcin Borkowski <firstname.lastname@example.org> writes: >>> >>>> On 2020-09-15, at 11:17, Przemysław Kamiński <email@example.com> wrote: >>>> >>>>> So, I keep clock times for work in org mode, this is very >>>>> handy. However, my customers require that I use their service to >>>>> provide the times. They do offer API. So basically I'm using elisp to >>>>> parse org, make API calls, and at the same time generate CSV reports >>>>> with a Python interop with org babel (because my elisp is just too bad >>>>> to do that). If I had access to some org parser, I'd pick a language >>>>> that would be more comfortable for me to get the job done. I guess it >>>>> can all be done in elisp, however this is just a tool for me alone and >>>>> I have limited time resources on hacking things for myself :) >>>> >>>> I was in the exact same situation - I use Org-mode clocking, and we use >>>> Toggl at our company, so I wrote a simple tool to fire API requests to >>>> Toggl on clock start/cancel/end: https://github.com/mbork/org-toggl >>>> It's a bit more than 200 lines of Elisp, so you might try to look into >>>> it and adapt it to whatever tool your employer is using. >>>> >>>>> Another one is generating total hours report for day/week/month to put >>>>> into my awesomewm toolbar. I ended up using orgstat >>>>> https://github.com/volhovM/orgstat >>>>> however the author is creating his own DSL in YAML and I guess things >>>>> were much better off if it all stayed in some Scheme :) >>>> >>>> Wow, another awesomewm user here; could you share your code? >>>> >>>> Best, >>>> >>>> -- >>>> Marcin Borkowski >>>> http://mbork.pl >> >> >> I don't have interesting code, just standard awesomevm setup. I run >> periodic script to output data computed by orgstat and show it in the >> taskbar (uses the shellout_widget). >> >> However what Ihor presented is interesting. Do you use similar approach >> with shellout and 'emacs -batch' to show currently running task or you >> 'push' data from emacs to show it in the taskbar? >> >> P. So basically this is what this thread is about. One needs a working Emacs instance and work in "push" mode to export any Org data. This requires dealing with temporary files, as described above, and some ad-hoc formats to keep whatever data I need to pull from org. "Pull" mode would be preferred. I could then, say, write a script in Guile, execute 'emacs -batch' to export org data (I'm ok with that), then parse the S-expressions to get what I need. P.
next prev parent reply other threads:[~2020-09-16 12:24 UTC|newest] Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-09-15 7:58 Przemysław Kamiński 2020-09-15 8:44 ` Gerry Agbobada 2020-09-16 16:36 ` Matt Huszagh 2020-09-23 8:09 ` Bastien 2020-09-15 9:03 ` Tim Cross 2020-09-15 9:17 ` Przemysław Kamiński 2020-09-15 9:55 ` Russell Adams 2020-09-15 11:15 ` Przemysław Kamiński 2020-09-15 12:37 ` tomas 2020-09-15 18:09 ` Diego Zamboni 2020-09-16 12:09 ` Przemysław Kamiński 2020-09-16 12:20 ` tomas 2020-09-16 12:27 ` Ihor Radchenko 2020-09-16 0:16 ` Tim Cross 2020-09-16 7:24 ` Marcin Borkowski 2020-09-16 7:56 ` Ihor Radchenko 2020-09-16 11:36 ` Przemysław Kamiński 2020-09-16 12:02 ` Ihor Radchenko 2020-09-16 12:15 ` Przemysław Kamiński [this message] 2020-09-17 1:18 ` Ihor Radchenko 2020-09-17 15:24 ` Przemysław Kamiński 2020-09-23 8:09 ` Bastien 2020-09-23 17:46 ` Przemysław Kamiński 2020-09-23 19:50 ` rey-coyrehourcq 2020-11-11 8:58 ` Bastien 2020-10-24 21:12 ` Daniele Nicolodi 2020-10-24 21:35 ` Tom Gillespie 2020-11-11 9:13 ` Bastien 2020-11-12 17:14 ` Tom Gillespie 2020-11-11 9:15 ` Bastien 2020-11-11 13:05 ` Daniele Nicolodi 2020-11-28 19:19 ` Gerry Agbobada 2020-10-26 11:23 ` Ken Mankoff 2020-10-26 14:21 ` Nicolas Goaziou 2020-10-26 16:17 ` Ken Mankoff 2020-10-26 16:24 ` Nicolas Goaziou 2020-10-26 16:47 ` Ken Mankoff 2020-10-26 17:59 ` Tom Gillespie 2020-10-26 20:26 ` Ken Mankoff 2020-10-26 21:00 ` Tom Gillespie 2020-10-26 21:37 ` Ken Mankoff 2020-10-26 22:19 ` Tom Gillespie 2020-10-27 5:42 ` Przemysław Kamiński 2020-11-11 8:59 ` Bastien 2020-11-11 9:00 ` Bastien
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://www.orgmode.org/ * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --subject='Re: official orgmode parser' \ /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
Code repositories for project(s) associated with this 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).