From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jambunathan K Subject: Usecase for inotify? Re: How to add content from a file to a table automatically Date: Thu, 10 Jan 2013 10:37:19 +0530 Message-ID: <87a9shaans.fsf@gmail.com> References: <50ee34c8.09fb640a.6b64.0e5a@mx.google.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: In-Reply-To: <50ee34c8.09fb640a.6b64.0e5a@mx.google.com> (Darlan Cavalcante Moreira's message of "Thu, 10 Jan 2013 00:25:56 -0300") List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org To: Darlan Cavalcante Moreira Cc: emacs-orgmode , emacs-devel@gnu.org List-Id: emacs-orgmode.gnu.org There is support for inotify in Emacs. Last I heard, people were interested in hearing use-cases. I am not sure it qualifies as a minimal use-case. But it is something that comes out of real life. So here it goes to emacs-devel... Darlan Cavalcante Moreira writes: > Is there a way to detect when a file changes and then add the content from > it (if any, the file could be empty) to a specified org-mode table? Each > line in that file is already constructed in a way that it could be copied > and pasted to the table directly (but I can change that if it makes things > easier). > > For instance, suppose I have the table below > > > #+TBLNAME: FoodJanuary2013 > | | *Place* | *Date* | *Debit (R$)* | *Credit (R$)* | > |---+-----------+------------------+--------------+---------------| > | | Some name | [2013-01-07 Seg] | 0.00 | 10.00 | > |---+-----------+------------------+--------------+---------------| > | # | | *Total* | 0.00 | 10.00 | > #+TBLFM: @3$4=vsum(@2..@-1);%.2f::@3$5=vsum(@2..@-1);%.2f > > > and a file "food.txt" that was modified externally (Dropbox sync) and now > has the content below > > > | # | place name | [2013-01-08 Ter] | 0.00 | 12.50 | > | # | other place | [2013-01-09 Qua] | 9.30 | 0.00 | > > > I'd like the table to be automatically updated to include these two new > lines so that it should now corresponds to > > > #+TBLNAME: FoodJanuary2013 > | | *Place* | *Date* | *Debit (R$)* | *Credit (R$)* | > |---+-------------+------------------+--------------+---------------| > | | Some name | [2013-01-09 Qua] | 0.00 | 10.00 | > | # | place name | [2013-01-08 Ter] | 0.00 | 12.50 | > | # | other place | [2013-01-09 Qua] | 9.30 | 0.00 | > |---+-------------+------------------+--------------+---------------| > | # | | *Total* | 9.30 | 22.50 | > #+TBLFM: @5$4=vsum(@2..@-1);%.2f::@5$5=vsum(@2..@-1);%.2f > > > Adapting the formula as org-mode would automatically do if I typed enter > twice before the last hline is important, but updating the total value is > not (although nice), since I can do that with "C-u C-u C-c *" later when I > actually see the table. > > After that the content of the file should be erased to prevent future > additions of the same information. > > Any hints on how to do the different parts for this are welcome. > > -- > Darlan > > Ps: I use the latest org-mode and Emacs versions (from git and bzr, > respectively) in a Linux box. > > > The motivation for all this is that I use org-mode tables to control my > expenses, but I want to be able to add new expenses from my android > phone. Using the "tasker" app (REALLY good) I could create a simple UI to > add the expense to a file that will be synced using Dropbox (one file for > each category, which corresponds to a different table). All of this is > working and now I the next step is the one described in this e-mail. > > --