From: "Przemysław Kamiński" <pk@intrepidus.pl>
To: emacs-orgmode@gnu.org
Subject: Re: official orgmode parser
Date: Wed, 16 Sep 2020 14:15:17 +0200 [thread overview]
Message-ID: <1e35b658-11c2-0b25-0f7b-ecd37ed06a5d@intrepidus.pl> (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 <pk@intrepidus.pl> 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 <mbork@mbork.pl> writes:
>>>
>>>> On 2020-09-15, at 11:17, Przemysław Kamiński <pk@intrepidus.pl> 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 official orgmode parser 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 \
--in-reply-to=1e35b658-11c2-0b25-0f7b-ecd37ed06a5d@intrepidus.pl \
--to=pk@intrepidus.pl \
--cc=emacs-orgmode@gnu.org \
/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://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).