[ANN] Revolution - a Ruby binding to Evolution

Discussion in 'Ruby' started by Tom Copeland, Mar 21, 2005.

  1. Tom Copeland

    Tom Copeland Guest

    I've just released v0.1 of Revolution, a Ruby binding to the excellent
    Evolution personal information management (PIM) application.

    Here's how you can use it to get to contact/calendar/task information:

    ==============================
    require 'revolution'

    r = Revolution::Revolution.new

    r.get_all_contacts.each {|c|
    puts "First name: #{c.first_name}"
    puts "Last name: #{c.last_name}"
    puts "Work email: #{c.work_email}" if !c.work_email.nil?
    }

    last_week = Time.new.to_i-(7*24*60*60)
    next_week = Time.new.to_i+(7*24*60*60)
    r.get_all_appointments(last_week, next_week).each {|appt|
    puts "Summary: #{appt.summary}"
    puts "Location: #{appt.location}"
    puts "Start time: #{appt.start}"
    }

    r.get_all_tasks.each {|t|
    puts "Task (#{t.uid})"
    puts "Summary: #{t.summary}"
    puts "Description: #{t.description.slice(0,70)}"
    puts "Start date: #{t.start}"
    }
    ==============================

    You can install the Gem using "gem install --remote revolution", or you
    can download various things here:

    http://rubyforge.org/frs/?group_id=576

    and more documentation is available here:

    http://revolution.rubyforge.org/

    Thanks to InfoEther (http://infoether.com/) for sponsoring development
    of this library!

    Yours,

    Tom
    Tom Copeland, Mar 21, 2005
    #1
    1. Advertising

  2. Tom Copeland

    Sam Roberts Guest

    Can you extract/add contacts in vcard formats?

    Can you get/add appointments/tasks/todos in icalendar format?

    I discovered some users of vPim using a cmd-line tool (of Evolutions, I
    guess) to pull everything out in vCard format, and then use a tool from
    vPim to search for email addrs, and convert to either a mutt aliases
    file, or to the mutt query format.

    It would be easier and faster, I'd think, to do this directly. I'll send
    you the scripts so you can see what the formats are, you might find it
    interesting to add tools like this.

    I'm interested in adding icalendars because I use mutt for email, and I
    process incoming calendars (meetings, mostly) with it. I would use
    Evolution for a pretty display of that info.

    Thanks,
    Sam

    Wrote Tom Copeland <>, on Mon, Mar 21, 2005 at 11:54:54PM +0900:
    > I've just released v0.1 of Revolution, a Ruby binding to the excellent
    > Evolution personal information management (PIM) application.
    >
    > Here's how you can use it to get to contact/calendar/task information:
    >
    > ==============================
    > require 'revolution'
    >
    > r = Revolution::Revolution.new
    >
    > r.get_all_contacts.each {|c|
    > puts "First name: #{c.first_name}"
    > puts "Last name: #{c.last_name}"
    > puts "Work email: #{c.work_email}" if !c.work_email.nil?
    > }
    >
    > last_week = Time.new.to_i-(7*24*60*60)
    > next_week = Time.new.to_i+(7*24*60*60)
    > r.get_all_appointments(last_week, next_week).each {|appt|
    > puts "Summary: #{appt.summary}"
    > puts "Location: #{appt.location}"
    > puts "Start time: #{appt.start}"
    > }
    >
    > r.get_all_tasks.each {|t|
    > puts "Task (#{t.uid})"
    > puts "Summary: #{t.summary}"
    > puts "Description: #{t.description.slice(0,70)}"
    > puts "Start date: #{t.start}"
    > }
    > ==============================
    >
    > You can install the Gem using "gem install --remote revolution", or you
    > can download various things here:
    >
    > http://rubyforge.org/frs/?group_id=576
    >
    > and more documentation is available here:
    >
    > http://revolution.rubyforge.org/
    >
    > Thanks to InfoEther (http://infoether.com/) for sponsoring development
    > of this library!
    >
    > Yours,
    >
    > Tom
    >
    >
    >


    --
    Sam Roberts <>
    Sam Roberts, Mar 21, 2005
    #2
    1. Advertising

  3. Tom Copeland

    Tom Copeland Guest

    On Tue, 2005-03-22 at 07:19 +0900, Sam Roberts wrote:
    > Can you extract/add contacts in vcard formats?
    > Can you get/add appointments/tasks/todos in icalendar format?


    Not yet... but those sound like good RFEs!

    > I discovered some users of vPim using a cmd-line tool (of Evolutions, I
    > guess) to pull everything out in vCard format, and then use a tool from
    > vPim to search for email addrs, and convert to either a mutt aliases
    > file, or to the mutt query format.


    Nifty!

    > It would be easier and faster, I'd think, to do this directly. I'll send
    > you the scripts so you can see what the formats are, you might find it
    > interesting to add tools like this.


    Cool, right on!

    > I'm interested in adding icalendars because I use mutt for email, and I
    > process incoming calendars (meetings, mostly) with it. I would use
    > Evolution for a pretty display of that info.


    Yup, sounds like a winner.

    Yours,

    Tom
    Tom Copeland, Mar 22, 2005
    #3
  4. Tom Copeland

    leon breedt Guest

    On Mon, 21 Mar 2005 23:54:54 +0900, Tom Copeland <> wrote:
    > I've just released v0.1 of Revolution, a Ruby binding to the excellent
    > Evolution personal information management (PIM) application.

    Hi Tom,

    This sounds great...

    A small suggestion for improvement: mkmf.rb has support for
    pkg-config, and that will let you know whether the .pc files were
    found or not (returns nil if not found):

    require 'mkmf'

    pkg_config('libebook-1.0')

    In addition, at first attempt, it appears that your extension is
    compatible with the latest versions of Evolution's libraries (1.2) as
    well, by just replacing 1.0 with 1.2 in extconfig.rb.

    So perhaps your extconf.rb use this idiom, to use the latest and
    fallback to the older:

    pkg_config('libebook-1.2') || pkg_config('libebook-1.0')


    Regards,
    Leon
    leon breedt, Mar 22, 2005
    #4
  5. Tom Copeland

    Tom Copeland Guest

    On Tue, 2005-03-22 at 12:01 +0900, leon breedt wrote:
    > On Mon, 21 Mar 2005 23:54:54 +0900, Tom Copeland <> wrote:
    > > I've just released v0.1 of Revolution, a Ruby binding to the excellent
    > > Evolution personal information management (PIM) application.

    > A small suggestion for improvement: mkmf.rb has support for
    > pkg-config


    Very cool, thanks very much Leon! This is my first Ruby extension, so
    I'm not familiar with a lot of the mkmf features... I'll definitely use
    this one.

    Thanks again,

    Tom
    Tom Copeland, Mar 22, 2005
    #5
  6. On Mon, 21 Mar 2005 23:54:54 +0900, Tom Copeland <> wrote:
    > I've just released v0.1 of Revolution, a Ruby binding to the excellent
    > Evolution personal information management (PIM) application.
    >
    > Here's how you can use it to get to contact/calendar/task information:
    >
    > ==============================
    > require 'revolution'
    >
    > r = Revolution::Revolution.new
    >
    > r.get_all_contacts.each {|c|
    > puts "First name: #{c.first_name}"
    > puts "Last name: #{c.last_name}"
    > puts "Work email: #{c.work_email}" if !c.work_email.nil?
    > }
    >
    > last_week = Time.new.to_i-(7*24*60*60)
    > next_week = Time.new.to_i+(7*24*60*60)
    > r.get_all_appointments(last_week, next_week).each {|appt|
    > puts "Summary: #{appt.summary}"
    > puts "Location: #{appt.location}"
    > puts "Start time: #{appt.start}"
    > }
    >
    > r.get_all_tasks.each {|t|
    > puts "Task (#{t.uid})"
    > puts "Summary: #{t.summary}"
    > puts "Description: #{t.description.slice(0,70)}"
    > puts "Start date: #{t.start}"
    > }
    > ==============================
    >
    > You can install the Gem using "gem install --remote revolution", or you
    > can download various things here:
    >
    > http://rubyforge.org/frs/?group_id=576
    >
    > and more documentation is available here:
    >
    > http://revolution.rubyforge.org/
    >
    > Thanks to InfoEther (http://infoether.com/) for sponsoring development
    > of this library!
    >


    Very nice!

    Any plan to use Ruby/GLib2 in the future?

    Thanks

    Laurent
    Laurent Sansonetti, Mar 22, 2005
    #6
  7. Tom Copeland

    Tom Copeland Guest

    On Tue, 2005-03-22 at 23:00 +0900, Laurent Sansonetti wrote:
    > On Mon, 21 Mar 2005 23:54:54 +0900, Tom Copeland <> wrote:
    > > I've just released v0.1 of Revolution, a Ruby binding to the excellent
    > > Evolution personal information management (PIM) application.

    > Very nice!


    Thanks!

    > Any plan to use Ruby/GLib2 in the future?


    I'm not sure... what's it licensed under? I poked around on the site a
    bit but must be missing it...

    Thanks,

    Tom
    Tom Copeland, Mar 22, 2005
    #7
  8. On Tue, 22 Mar 2005 23:04:03 +0900, Tom Copeland <> wrote:
    > On Tue, 2005-03-22 at 23:00 +0900, Laurent Sansonetti wrote:
    > > On Mon, 21 Mar 2005 23:54:54 +0900, Tom Copeland <> wrote:
    > > > I've just released v0.1 of Revolution, a Ruby binding to the excellent
    > > > Evolution personal information management (PIM) application.

    > > Very nice!

    >
    > Thanks!
    >


    Do not forget to announce it on the gnome-announce ML (sorry if
    already done), I am sure it will interest some people :)

    > > Any plan to use Ruby/GLib2 in the future?

    >
    > I'm not sure... what's it licensed under? I poked around on the site a
    > bit but must be missing it...
    >


    LGPL. I believe it is compatible with your license (though I am not a
    license specialist).

    Laurent
    Laurent Sansonetti, Mar 22, 2005
    #8
  9. Tom Copeland

    Tom Copeland Guest

    On Tue, 2005-03-22 at 23:31 +0900, Laurent Sansonetti wrote:
    > On Tue, 22 Mar 2005 23:04:03 +0900, Tom Copeland <> wrote:
    > > On Tue, 2005-03-22 at 23:00 +0900, Laurent Sansonetti wrote:
    > > > On Mon, 21 Mar 2005 23:54:54 +0900, Tom Copeland <> wrote:
    > > > > I've just released v0.1 of Revolution, a Ruby binding to the excellent
    > > > > Evolution personal information management (PIM) application.
    > > > Very nice!

    > >
    > > Thanks!
    > >

    >
    > Do not forget to announce it on the gnome-announce ML (sorry if
    > already done), I am sure it will interest some people :)


    That's a good idea, I'll do that, thanks for the pointer!

    > > > Any plan to use Ruby/GLib2 in the future?

    > >
    > > I'm not sure... what's it licensed under? I poked around on the site a
    > > bit but must be missing it...
    > >

    >
    > LGPL. I believe it is compatible with your license (though I am not a
    > license specialist).


    Nor I. But it's definitely food for thought, and thanks for the info!

    Yours,

    Tom
    Tom Copeland, Mar 22, 2005
    #9
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. circle5003
    Replies:
    1
    Views:
    349
    Michael Yardley
    Oct 31, 2007
  2. Replies:
    0
    Views:
    244
  3. Replies:
    1
    Views:
    269
    Sjouke Burry
    Feb 16, 2009
  4. Replies:
    0
    Views:
    238
  5. zoat
    Replies:
    2
    Views:
    109
    Martin DeMello
    Sep 1, 2006
Loading...

Share This Page