mangstadt / biweekly

biweekly is an iCalendar library written in Java.
BSD 2-Clause "Simplified" License
323 stars 44 forks source link

Get EMAIL from EMAIL=email@email.com #19

Closed mmallad closed 8 years ago

mmallad commented 8 years ago

Email was only parsed from mailto: only. In other case we need to make more request just to get email address

codecov-io commented 8 years ago

Current coverage is 78.19%

Merging #19 into master will increase coverage by +0.01% as of e6eebd9

@@            master     #19   diff @@
======================================
  Files          235     235       
  Stmts         9691    9693     +2
  Branches      1908    1908       
  Methods                          
======================================
+ Hit           7577    7579     +2
  Partial        401     401       
  Missed        1713    1713       

Review entire Coverage Diff as of e6eebd9

Powered by Codecov. Updated on successful CI builds.

mangstadt commented 8 years ago

Dipak,

"EMAIL" isn't a standard parameter for the ATTENDEE property.

mmallad commented 8 years ago

As apple iCalendar is using it.

mangstadt commented 8 years ago

Can you post an example of an iCal file that has such a parameter? Thank you.

mmallad commented 8 years ago

BEGIN:VCALENDAR PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN VERSION:2.0 BEGIN:VTIMEZONE TZID:US/Pacific X-LIC-LOCATION:US/Pacific BEGIN:STANDARD DTSTART:18831118T120702 RDATE;VALUE=DATE-TIME:18831118T120702 TZNAME:PST TZOFFSETFROM:-0752 TZOFFSETTO:-0800 END:STANDARD BEGIN:DAYLIGHT DTSTART:19180331T020000 RRULE:FREQ=YEARLY;UNTIL=19190330T100000Z;BYDAY=-1SU;BYMONTH=3 TZNAME:PDT TZOFFSETFROM:-0800 TZOFFSETTO:-0700 END:DAYLIGHT BEGIN:STANDARD DTSTART:19181027T020000 RRULE:FREQ=YEARLY;UNTIL=19191026T090000Z;BYDAY=-1SU;BYMONTH=10 TZNAME:PST TZOFFSETFROM:-0700 TZOFFSETTO:-0800 END:STANDARD BEGIN:DAYLIGHT DTSTART:19420209T020000 RDATE;VALUE=DATE-TIME:19420209T020000 TZNAME:PWT TZOFFSETFROM:-0800 TZOFFSETTO:-0700 END:DAYLIGHT BEGIN:DAYLIGHT DTSTART:19450814T160000 RDATE;VALUE=DATE-TIME:19450814T160000 TZNAME:PPT TZOFFSETFROM:-0700 TZOFFSETTO:-0700 END:DAYLIGHT BEGIN:STANDARD DTSTART:19450930T020000 RDATE;VALUE=DATE-TIME:19450930T020000 RDATE;VALUE=DATE-TIME:19490101T020000 TZNAME:PST TZOFFSETFROM:-0700 TZOFFSETTO:-0800 END:STANDARD BEGIN:STANDARD DTSTART:19460101T000000 RDATE;VALUE=DATE-TIME:19460101T000000 RDATE;VALUE=DATE-TIME:19670101T000000 TZNAME:PST TZOFFSETFROM:-0800 TZOFFSETTO:-0800 END:STANDARD BEGIN:DAYLIGHT DTSTART:19480314T020000 RDATE;VALUE=DATE-TIME:19480314T020000 RDATE;VALUE=DATE-TIME:19740106T020000 RDATE;VALUE=DATE-TIME:19750223T020000 TZNAME:PDT TZOFFSETFROM:-0800 TZOFFSETTO:-0700 END:DAYLIGHT BEGIN:DAYLIGHT DTSTART:19500430T020000 RRULE:FREQ=YEARLY;UNTIL=19660424T100000Z;BYDAY=-1SU;BYMONTH=4 TZNAME:PDT TZOFFSETFROM:-0800 TZOFFSETTO:-0700 END:DAYLIGHT BEGIN:STANDARD DTSTART:19500924T020000 RRULE:FREQ=YEARLY;UNTIL=19610924T090000Z;BYDAY=-1SU;BYMONTH=9 TZNAME:PST TZOFFSETFROM:-0700 TZOFFSETTO:-0800 END:STANDARD BEGIN:STANDARD DTSTART:19621028T020000 RRULE:FREQ=YEARLY;UNTIL=19661030T090000Z;BYDAY=-1SU;BYMONTH=10 TZNAME:PST TZOFFSETFROM:-0700 TZOFFSETTO:-0800 END:STANDARD BEGIN:DAYLIGHT DTSTART:19670430T020000 RRULE:FREQ=YEARLY;UNTIL=19730429T100000Z;BYDAY=-1SU;BYMONTH=4 TZNAME:PDT TZOFFSETFROM:-0800 TZOFFSETTO:-0700 END:DAYLIGHT BEGIN:STANDARD DTSTART:19671029T020000 RRULE:FREQ=YEARLY;UNTIL=20061029T090000Z;BYDAY=-1SU;BYMONTH=10 TZNAME:PST TZOFFSETFROM:-0700 TZOFFSETTO:-0800 END:STANDARD BEGIN:DAYLIGHT DTSTART:19760425T020000 RRULE:FREQ=YEARLY;UNTIL=19860427T100000Z;BYDAY=-1SU;BYMONTH=4 TZNAME:PDT TZOFFSETFROM:-0800 TZOFFSETTO:-0700 END:DAYLIGHT BEGIN:DAYLIGHT DTSTART:19870405T020000 RRULE:FREQ=YEARLY;UNTIL=20060402T100000Z;BYDAY=1SU;BYMONTH=4 TZNAME:PDT TZOFFSETFROM:-0800 TZOFFSETTO:-0700 END:DAYLIGHT BEGIN:DAYLIGHT DTSTART:20070311T020000 RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3 TZNAME:PDT TZOFFSETFROM:-0800 TZOFFSETTO:-0700 END:DAYLIGHT BEGIN:STANDARD DTSTART:20071104T020000 RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11 TZNAME:PST TZOFFSETFROM:-0700 TZOFFSETTO:-0800 END:STANDARD END:VTIMEZONE BEGIN:VEVENT UID:F5F99851-A44F-4553-B186-DA2D807B54A9 SUMMARY:iLoop Meet LOCATION:Thamel DTSTART;TZID=US/Pacific:20160128T063000 DTEND;TZID=US/Pacific:20160128T073000 LAST-MODIFIED:20160128T122430Z ATTENDEE;CN=Sudarshan Pant;ROLE=REQ-PARTICIPANT;PARTSTAT=DECLINED; CUTYPE=INDIVIDUAL;SCHEDULE-STATUS=1.2:mailto:darshanz8412@gmail.com ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;SCHEDULE-STATUS=1.1: mailto:mmallad@gmail.com ORGANIZER;PARTSTAT=ACCEPTED;EMAIL=dpakmalla@gmail.com;CN=Dipak Malla: /aMTAxNDQ1MzgyNjMxMDE0NE5mODQ6VfalwqmGPVnpVrrBW12eUjdCI_RWFYmZat7E/princip al/ ATTENDEE;PARTSTAT=ACCEPTED;EMAIL=dpakmalla@gmail.com;CN=Dipak Malla; X-CALENDARSERVER-DTSTAMP=20160128T122431Z: /aMTAxNDQ1MzgyNjMxMDE0NE5mODQ6VfalwqmGPVnpVrrBW12eUjdCI_RWFYmZat7E/princip al/ DTSTAMP:20160127T161149Z SEQUENCE:2 END:VEVENT END:VCALENDAR

mangstadt commented 8 years ago

Dipak,

Thank you for the example. So, you are saying: when the iCal file is imported into Apple's calendar app, it imports successfully? Are you sure that the email addresses defined in the EMAIL parameters are being imported?

Again, this EMAIL parameter is not defined in any RFC specification, so I'm reluctant about including it in biweekly.

Thank you, Mike

mmallad commented 8 years ago

Let me explain you the scenario in more details. All parameters are successfully parsed with biweekly except one and that's EMAIL parameter. Because if the attendee is registered user of apple account then apple uses EMAIL parameter with URI link to get more profile information and biweekly gets that URI also but my concern was when there is EMAIL present then its good to parse and get it because for that EMAIL only we need to make extra HTTP request. But if attendee is not registered user of apple account then all work fine because it follows RFC standard for mail Thank You

mangstadt commented 8 years ago

I did a web search and found out that this parameter is defined in a draft specification. So, I would like to implement this EMAIL parameter, as well as the rest of the changes defined in the draft.

mmallad commented 8 years ago

thanks :)

mangstadt commented 8 years ago

Implemented. Thank you for alerting me to this specification. :)