emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Google CL and org-mode
@ 2010-07-03 16:42 Jordi Inglada
  2010-07-05  8:49 ` Eric S Fraga
       [not found] ` <29444366.20665.1278322512578.JavaMail.root@zm-cesbio-01>
  0 siblings, 2 replies; 10+ messages in thread
From: Jordi Inglada @ 2010-07-03 16:42 UTC (permalink / raw)
  To: emacs-orgmode

Hi all,

This is my first post to the list, so I would like to thank you all
for this great piece of software that I use all the time since last
september.

I have a question regarding the recent announcement of the Google
Command Line project (http://code.google.com/p/googlecl/).

I was wondering if there are plans to integrate support for calendar
synchronization between Google and org-mode using this tool.

Best regards,

Jordi

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Google CL and org-mode
  2010-07-03 16:42 Google CL and org-mode Jordi Inglada
@ 2010-07-05  8:49 ` Eric S Fraga
       [not found] ` <29444366.20665.1278322512578.JavaMail.root@zm-cesbio-01>
  1 sibling, 0 replies; 10+ messages in thread
From: Eric S Fraga @ 2010-07-05  8:49 UTC (permalink / raw)
  To: Jordi Inglada; +Cc: emacs-orgmode

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

On Sat, 3 Jul 2010 18:42:05 +0200, Jordi Inglada <jordi.inglada@cesbio.cnes.fr> wrote:
> 
> Hi all,
> 
> This is my first post to the list, so I would like to thank you all
> for this great piece of software that I use all the time since last
> september.
> 
> I have a question regarding the recent announcement of the Google
> Command Line project (http://code.google.com/p/googlecl/).
> 
> I was wondering if there are plans to integrate support for calendar
> synchronization between Google and org-mode using this tool.

Jordi,

Thanks for the heads-up on this.  This could be quite useful.  I've
been playing recently with the org to google calendar interfacing and
this new API could potentially simplify things significantly.

[-- Attachment #2: Type: text/plain, Size: 75 bytes --]

-- 
Eric S Fraga
GnuPG: 8F5C 279D 3907 E14A 5C29  570D C891 93D8 FFFC F67D

[-- Attachment #3: 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] 10+ messages in thread

* Re: Google CL and org-mode
       [not found] ` <29444366.20665.1278322512578.JavaMail.root@zm-cesbio-01>
@ 2010-07-05 13:17   ` Jordi Inglada
  2010-07-05 14:31     ` Eric S Fraga
                       ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Jordi Inglada @ 2010-07-05 13:17 UTC (permalink / raw)
  To: e.fraga; +Cc: emacs-orgmode

Hi,

Happy to hear that. Since I do not know Elisp, I can not help much,
but I am willing to test any code available for this.

Best regards,

Jordi


Eric S Fraga writes:
 > Thanks for the heads-up on this.  This could be quite useful.  I've
 > been playing recently with the org to google calendar interfacing and
 > this new API could potentially simplify things significantly.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Google CL and org-mode
  2010-07-05 13:17   ` Jordi Inglada
@ 2010-07-05 14:31     ` Eric S Fraga
  2010-07-06 14:36       ` Daniel Martins
  2010-07-05 15:10     ` Daniel Mahler
       [not found]     ` <4495692.20920.1278342621406.JavaMail.root@zm-cesbio-01>
  2 siblings, 1 reply; 10+ messages in thread
From: Eric S Fraga @ 2010-07-05 14:31 UTC (permalink / raw)
  To: Jordi Inglada; +Cc: emacs-orgmode

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

On Mon, 5 Jul 2010 15:17:16 +0200, Jordi Inglada <jordi.inglada@cesbio.cnes.fr> wrote:
> 
> Hi,
> 
> Happy to hear that. Since I do not know Elisp, I can not help much,
> but I am willing to test any code available for this.
> 
> Best regards,
> 
> Jordi
> 
> 
> Eric S Fraga writes:
>  > Thanks for the heads-up on this.  This could be quite useful.  I've
>  > been playing recently with the org to google calendar interfacing and
>  > this new API could potentially simplify things significantly.

I'll be sure to take you up on this ;-)

I've had a quick look at the command line interface.  With the simple
python scripts they provide, it will be straightforward, at least on
Linux, to upload entries from org to google's calendar.  The other way
is more tricky as the scripts don't provide full information on each
entry.  The APIs however might give that.

Stay tuned!

[-- Attachment #2: Type: text/plain, Size: 75 bytes --]

-- 
Eric S Fraga
GnuPG: 8F5C 279D 3907 E14A 5C29  570D C891 93D8 FFFC F67D

[-- Attachment #3: 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] 10+ messages in thread

* Re: Google CL and org-mode
  2010-07-05 13:17   ` Jordi Inglada
  2010-07-05 14:31     ` Eric S Fraga
@ 2010-07-05 15:10     ` Daniel Mahler
  2010-07-05 21:54       ` Eric S Fraga
       [not found]     ` <4495692.20920.1278342621406.JavaMail.root@zm-cesbio-01>
  2 siblings, 1 reply; 10+ messages in thread
From: Daniel Mahler @ 2010-07-05 15:10 UTC (permalink / raw)
  To: Jordi Inglada; +Cc: emacs-orgmode

Hi,

Have you looked at g-client?
It is an elisp wrapper for the gdata APIs.
It comes with emacspeak,
but can be used independently.
I have not used either g-client or GoogleCL,
but wanted to make sure people are aware of all the options.
Having either integrated into org-mode would be nice

cheers
Daniel

On Mon, Jul 5, 2010 at 3:17 PM, Jordi Inglada
<jordi.inglada@cesbio.cnes.fr> wrote:
> Hi,
>
> Happy to hear that. Since I do not know Elisp, I can not help much,
> but I am willing to test any code available for this.
>
> Best regards,
>
> Jordi
>
>
> Eric S Fraga writes:
>  > Thanks for the heads-up on this.  This could be quite useful.  I've
>  > been playing recently with the org to google calendar interfacing and
>  > this new API could potentially simplify things significantly.
>
> _______________________________________________
> 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] 10+ messages in thread

* Re: Google CL and org-mode
       [not found]     ` <4495692.20920.1278342621406.JavaMail.root@zm-cesbio-01>
@ 2010-07-05 18:11       ` Jordi Inglada
  0 siblings, 0 replies; 10+ messages in thread
From: Jordi Inglada @ 2010-07-05 18:11 UTC (permalink / raw)
  To: Daniel Mahler; +Cc: emacs-orgmode

Hi,

I don't know if this is a good point of view, but since Google CL is
an "official" Google toolkit, I think it may more support and testing. 

When I tried to use g-client a while ago, I had some problems to get it
working and often times the connection with google services was not
robust (although I was using it from behind a proxy at the time).

Best regards,

Jordi

Daniel Mahler writes:
 > Hi,
 > 
 > Have you looked at g-client?
 > It is an elisp wrapper for the gdata APIs.
 > It comes with emacspeak,
 > but can be used independently.
 > I have not used either g-client or GoogleCL,
 > but wanted to make sure people are aware of all the options.
 > Having either integrated into org-mode would be nice
 > 
 > cheers
 > Daniel
 > 
 > On Mon, Jul 5, 2010 at 3:17 PM, Jordi Inglada
 > <jordi.inglada@cesbio.cnes.fr> wrote:
 > > Hi,
 > >
 > > Happy to hear that. Since I do not know Elisp, I can not help much,
 > > but I am willing to test any code available for this.
 > >
 > > Best regards,
 > >
 > > Jordi
 > >
 > >
 > > Eric S Fraga writes:
 > >  > Thanks for the heads-up on this.  This could be quite useful.  I've
 > >  > been playing recently with the org to google calendar interfacing and
 > >  > this new API could potentially simplify things significantly.
 > >
 > > _______________________________________________
 > > 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] 10+ messages in thread

* Re: Google CL and org-mode
  2010-07-05 15:10     ` Daniel Mahler
@ 2010-07-05 21:54       ` Eric S Fraga
  2010-07-05 22:14         ` Daniel Mahler
  0 siblings, 1 reply; 10+ messages in thread
From: Eric S Fraga @ 2010-07-05 21:54 UTC (permalink / raw)
  To: Daniel Mahler; +Cc: org-mode mailing list

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

On Mon, 5 Jul 2010 17:10:55 +0200, Daniel Mahler <dmahler@gmail.com> wrote:
> 
> Hi,
> 
> Have you looked at g-client?

Thanks.  I did look at g-client a long time ago.  It should provide
everything we need but it's much more than I want to even start
considering...  I just don't have the time unfortunately.

The google command line scripts, on the other hand, are
straightforward and will give me (others?) 90% of the functionality I
want.

Mind you, I've been playing a bit and Google's "quick add" syntax
leaves a bit to be desired.  There's no formal specification and it
doesn't quite work, especially trying to get a repeated entry at a
given time of day.

[-- Attachment #2: Type: text/plain, Size: 75 bytes --]

-- 
Eric S Fraga
GnuPG: 8F5C 279D 3907 E14A 5C29  570D C891 93D8 FFFC F67D

[-- Attachment #3: 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] 10+ messages in thread

* Re: Google CL and org-mode
  2010-07-05 21:54       ` Eric S Fraga
@ 2010-07-05 22:14         ` Daniel Mahler
  2010-07-06 15:30           ` Diary synchronising with Google calendar (was Re: Google CL and org-mode) Eric S Fraga
  0 siblings, 1 reply; 10+ messages in thread
From: Daniel Mahler @ 2010-07-05 22:14 UTC (permalink / raw)
  To: Eric S Fraga; +Cc: org-mode mailing list

On Mon, Jul 5, 2010 at 11:54 PM, Eric S Fraga <ucecesf@ucl.ac.uk> wrote:
> On Mon, 5 Jul 2010 17:10:55 +0200, Daniel Mahler <dmahler@gmail.com> wrote:
>>
>> Hi,
>>
>> Have you looked at g-client?
>
> Thanks.  I did look at g-client a long time ago.  It should provide
> everything we need but it's much more than I want to even start
> considering...  I just don't have the time unfortunately.
>
> The google command line scripts, on the other hand, are
> straightforward and will give me (others?) 90% of the functionality I
> want.
>
> Mind you, I've been playing a bit and Google's "quick add" syntax
> leaves a bit to be desired.  There's no formal specification and it
> doesn't quite work, especially trying to get a repeated entry at a
> given time of day.
>

GoogleCL is actually a rather thin wrapper around the gdata python
client library,
which essentially just adds the commandline processing.
Maybe the way to go is to call gdata directly via pymacs.

cheers
Daniel
> --
> Eric S Fraga
> GnuPG: 8F5C 279D 3907 E14A 5C29  570D C891 93D8 FFFC F67D
>
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Google CL and org-mode
  2010-07-05 14:31     ` Eric S Fraga
@ 2010-07-06 14:36       ` Daniel Martins
  0 siblings, 0 replies; 10+ messages in thread
From: Daniel Martins @ 2010-07-06 14:36 UTC (permalink / raw)
  To: e.fraga; +Cc: Jordi Inglada, emacs-orgmode

Reaaly good news!

I am also willing to test any code available for this.


Daniel

2010/7/5 Eric S Fraga <ucecesf@ucl.ac.uk>:
> On Mon, 5 Jul 2010 15:17:16 +0200, Jordi Inglada <jordi.inglada@cesbio.cnes.fr> wrote:
>>
>> Hi,
>>
>> Happy to hear that. Since I do not know Elisp, I can not help much,
>> but I am willing to test any code available for this.
>>
>> Best regards,
>>
>> Jordi
>>
>>
>> Eric S Fraga writes:
>>  > Thanks for the heads-up on this.  This could be quite useful.  I've
>>  > been playing recently with the org to google calendar interfacing and
>>  > this new API could potentially simplify things significantly.
>
> I'll be sure to take you up on this ;-)
>
> I've had a quick look at the command line interface.  With the simple
> python scripts they provide, it will be straightforward, at least on
> Linux, to upload entries from org to google's calendar.  The other way
> is more tricky as the scripts don't provide full information on each
> entry.  The APIs however might give that.
>
> Stay tuned!
>
> --
> Eric S Fraga
> GnuPG: 8F5C 279D 3907 E14A 5C29  570D C891 93D8 FFFC F67D
>
> _______________________________________________
> 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] 10+ messages in thread

* Diary synchronising with Google calendar (was Re: Google CL and org-mode)
  2010-07-05 22:14         ` Daniel Mahler
@ 2010-07-06 15:30           ` Eric S Fraga
  0 siblings, 0 replies; 10+ messages in thread
From: Eric S Fraga @ 2010-07-06 15:30 UTC (permalink / raw)
  To: Daniel Mahler; +Cc: org-mode mailing list

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

On Tue, 6 Jul 2010 00:14:00 +0200, Daniel Mahler <dmahler@gmail.com> wrote:
> 
> On Mon, Jul 5, 2010 at 11:54 PM, Eric S Fraga <ucecesf@ucl.ac.uk> wrote:
> > On Mon, 5 Jul 2010 17:10:55 +0200, Daniel Mahler <dmahler@gmail.com> wrote:
> >>
> >> Hi,
> >>
> >> Have you looked at g-client?
> >
> > Thanks.  I did look at g-client a long time ago.  It should provide
> > everything we need but it's much more than I want to even start
> > considering...  I just don't have the time unfortunately.
> >
> > The google command line scripts, on the other hand, are
> > straightforward and will give me (others?) 90% of the functionality I
> > want.
> >
> > Mind you, I've been playing a bit and Google's "quick add" syntax
> > leaves a bit to be desired.  There's no formal specification and it
> > doesn't quite work, especially trying to get a repeated entry at a
> > given time of day.
> >
> 
> GoogleCL is actually a rather thin wrapper around the gdata python
> client library,
> which essentially just adds the commandline processing.
> Maybe the way to go is to call gdata directly via pymacs.
> 
> cheers
> Daniel

Yes, using pymacs and interacting directly with Google's API may be
the way to go.  However, given my usual time constraints, I'm going
for the 80% solution, as described below:

My use case is that I spend almost all of time in Emacs (and almost
all of that time within org) but I am sometimes but not often away
from one of my computers with only my Android phone.  When I'm away
from the computers, I need to be able to check my diary and maybe make
the odd addition to it.  I am not particularly concerned with note
taking with my mobile phone (too annoying! and MobileOrg is probably a
better solution for synchronised note taking in any case...) so the
following meets this use case.

I have two relevant org files: diary.org and googlecalendar.org.  The
first is the default target for inserting diary entries from org's
agenda view; the latter contains all items scheduled from within
Google's calendar application, typically from my phone, and downloaded
and processed using the awk script I posted to this list last week.

On the Google calendar side, I have two calendars: the default and one
called "org".  The first is used when I actually schedule something
using Google.  The latter is populated directly by org using Google's
command line scripts with this advice on org's diary insertion
function:

#+begin_src emacs-lisp
(defadvice org-agenda-add-entry-to-org-agenda-diary-file 
  (after add-to-google-calendar)
  "Add a new Google calendar entry that mirrors the diary entry just created by org-mode."
  (let ((type (ad-get-arg 0))
	(text (ad-get-arg 1))
	(d1 (ad-get-arg 2))
	(year1 (nth 2 d1))
	(month1 (car d1))
	(day1 (nth 1 d1))
	(d2 (ad-get-arg 3))
	entry dates)
    (if (or (not (eq type 'block)) (not d2))
	(setq dates (format "%d-%02d-%02d" year1 month1 day1))
      (let ((year2 (nth 2 d2)) (month2 (car d2)) (day2 (nth 1 d2)) (repeats (- (calendar-absolute-from-gregorian d1)
									       (calendar-absolute-from-gregorian d2))))
	(if (> repeats 0)
	    (setq dates (format "%d-%02d-%02d every day for %d days" year1 month1 day1 (abs repeats)))
	  (setq dates (format "%d-%02d-%02d every day for %d days" year1 month1 day1 (abs repeats))))
	))
    (setq entry  (format "/usr/bin/google calendar add --cal org \"%s on %s\"" text dates))
    ;;(message entry)
    (if (not (string= "MYLAPTOPCOMPUTER" mail-host-address))
	(shell-command entry)
      (let ((offline "~/tmp/org2google-offline-entries"))
	(find-file offline)
	(goto-char (point-max))
	(insert (concat entry "\n"))
	(save-buffer)
	(kill-buffer (current-buffer))
	(message "Plain text written to %s" offline)))))
(ad-activate 'org-agenda-add-entry-to-org-agenda-diary-file)
#end_src

This does two things depending on my online status which is implicitly
defined by the host address of the computer I am using (yes, kludgy at
best): if online, the headline entry for the new diary entry (which is
stored in diary.org) is sent to my "org" Google calendar.  If offline,
the command line that would have been used is stored in a file.  When
I got back online, I simply execute and empty this file as part of a
more general synchronisation step (including git updates for my org
files and sending any composed emails like this one ;-).

This 2x2 approach (two diaries in org, two calendars in Google) seems
to be working very well.  It works for me because I seldom delete
items in my diary and, in any case, I'd rather err on having an entry
that no longer makes sense than end up double-booked.

Repeated events with times, however, do not work as Google's "Quick
Add" feature, on which the command line script depends, doesn't quite
work.  So only timed events for a single day or repeated daily
non-timed events are processed correctly.

There is also little (well, nothing) in the way of error checking in
this advice...  <blush>

I hope this is of some use to people!  I'm really enjoying my Android
phone together with org!

eric

[-- Attachment #2: Type: text/plain, Size: 75 bytes --]

-- 
Eric S Fraga
GnuPG: 8F5C 279D 3907 E14A 5C29  570D C891 93D8 FFFC F67D

[-- Attachment #3: 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] 10+ messages in thread

end of thread, other threads:[~2010-07-06 18:22 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-07-03 16:42 Google CL and org-mode Jordi Inglada
2010-07-05  8:49 ` Eric S Fraga
     [not found] ` <29444366.20665.1278322512578.JavaMail.root@zm-cesbio-01>
2010-07-05 13:17   ` Jordi Inglada
2010-07-05 14:31     ` Eric S Fraga
2010-07-06 14:36       ` Daniel Martins
2010-07-05 15:10     ` Daniel Mahler
2010-07-05 21:54       ` Eric S Fraga
2010-07-05 22:14         ` Daniel Mahler
2010-07-06 15:30           ` Diary synchronising with Google calendar (was Re: Google CL and org-mode) Eric S Fraga
     [not found]     ` <4495692.20920.1278342621406.JavaMail.root@zm-cesbio-01>
2010-07-05 18:11       ` Google CL and org-mode Jordi Inglada

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).