northworld / google_calendar

A minimal wrapper around the Google Calendar API
http://northworld.github.io/google_calendar
MIT License
315 stars 134 forks source link

Recurrence rule error #80

Closed rafaeliga closed 9 years ago

rafaeliga commented 9 years ago

Hi @szich,

I had to do this small change (https://github.com/rafaeliga/google_calendar/commit/c5949c2ac162b384972d2091498b320c26e118aa) in the recurrence rule to fix the error attached.

google_calendar_error

Im not sure if the calendar data that Im trying to parse is somehow wrong and my fix does not make any sense.

Thanks,

szich commented 9 years ago

A couple of questions: what version of Ruby are you using? how was the recurrence rule you are using generated?

rafaeliga commented 9 years ago

@szich ruby-2.1.2, rvm I need to reproduce the error again to get the exact event info, its a big calendar with a lot of events, Im going to do it tonight and I comment here later.

rafaeliga commented 9 years ago

@szich the recurrence rule is:

Weekly at 08:00 on Tuesday from Tue Sep 30, 2014 to Tue Dec 2, 2014 except Tue Nov 4, 2014 08:00

Is that you want know?

szich commented 9 years ago

Sorry for the confusion, what I meant was what tool/app/api generated the rule and what is its exact text string.

rafaeliga commented 9 years ago

ah I see, was generated in the Google Calendar webapp.

the exact string that you want, its not the one that I sent in the screenshot?

szich commented 9 years ago

Sorry for the delayed response... busy day at work. I also wanted to take some time and read the recurrence rule specs before I answered as this bit of code was written by a contributor. Anyway, I don't think the fix you suggested will address the problem. The recurrence parser routine needs to be improved to deal with your case. Currently it properly parses recurrence rules. However, you are passing in exception dates. Which it doesn't handle at all. The details of the spec are here: http://www.ietf.org/rfc/rfc2445 (search for EXDATE and RRULE)

Unfortunately, I do not have the time to improve the code in the near future. However, I will gladly accept a pull request and provide you feedback if you choose to tackle this.

rafaeliga commented 9 years ago

alright!

Im going to check the spec for recurrence using the RFC and Im going to create a pull request if I find something else.

thanks!