[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

[ANN] Revolution - a Ruby binding to Evolution

Tom Copeland

3/21/2005 2:55:00 PM

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/?gr...

and more documentation is available here:

http://revolution.ruby...

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

Yours,

Tom




8 Answers

Sam Roberts

3/21/2005 10:19:00 PM

0


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 <tom@infoether.com>, 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/?gr...
>
> and more documentation is available here:
>
> http://revolution.ruby...
>
> Thanks to InfoEther (http://info...) for sponsoring development
> of this library!
>
> Yours,
>
> Tom
>
>
>

--
Sam Roberts <sroberts@certicom.com>


Tom Copeland

3/22/2005 1:20:00 AM

0

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




leon breedt

3/22/2005 3:01:00 AM

0

On Mon, 21 Mar 2005 23:54:54 +0900, Tom Copeland <tom@infoether.com> 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


Tom Copeland

3/22/2005 1:48:00 PM

0

On Tue, 2005-03-22 at 12:01 +0900, leon breedt wrote:
> On Mon, 21 Mar 2005 23:54:54 +0900, Tom Copeland <tom@infoether.com> 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




Laurent Sansonetti

3/22/2005 2:01:00 PM

0

On Mon, 21 Mar 2005 23:54:54 +0900, Tom Copeland <tom@infoether.com> 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/?gr...
>
> and more documentation is available here:
>
> http://revolution.ruby...
>
> Thanks to InfoEther (http://info...) for sponsoring development
> of this library!
>

Very nice!

Any plan to use Ruby/GLib2 in the future?

Thanks

Laurent


Tom Copeland

3/22/2005 2:04:00 PM

0

On Tue, 2005-03-22 at 23:00 +0900, Laurent Sansonetti wrote:
> On Mon, 21 Mar 2005 23:54:54 +0900, Tom Copeland <tom@infoether.com> 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




Laurent Sansonetti

3/22/2005 2:31:00 PM

0

On Tue, 22 Mar 2005 23:04:03 +0900, Tom Copeland <tom@infoether.com> wrote:
> On Tue, 2005-03-22 at 23:00 +0900, Laurent Sansonetti wrote:
> > On Mon, 21 Mar 2005 23:54:54 +0900, Tom Copeland <tom@infoether.com> 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


Tom Copeland

3/22/2005 9:13:00 PM

0

On Tue, 2005-03-22 at 23:31 +0900, Laurent Sansonetti wrote:
> On Tue, 22 Mar 2005 23:04:03 +0900, Tom Copeland <tom@infoether.com> wrote:
> > On Tue, 2005-03-22 at 23:00 +0900, Laurent Sansonetti wrote:
> > > On Mon, 21 Mar 2005 23:54:54 +0900, Tom Copeland <tom@infoether.com> 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