[CalendarServer-changes] [14603] CalendarServer/branches/release/CalendarServer-6.1-dev/txdav/caldav /datastore/scheduling/imip/inbound.py

source_changes at macosforge.org source_changes at macosforge.org
Tue Mar 17 11:39:37 PDT 2015


Revision: 14603
          http://trac.calendarserver.org//changeset/14603
Author:   sagen at apple.com
Date:     2015-03-17 11:39:37 -0700 (Tue, 17 Mar 2015)
Log Message:
-----------
Don't let a missing PRODID prevent an IMIP reply

Modified Paths:
--------------
    CalendarServer/branches/release/CalendarServer-6.1-dev/txdav/caldav/datastore/scheduling/imip/inbound.py

Modified: CalendarServer/branches/release/CalendarServer-6.1-dev/txdav/caldav/datastore/scheduling/imip/inbound.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-6.1-dev/txdav/caldav/datastore/scheduling/imip/inbound.py	2015-03-17 18:20:32 UTC (rev 14602)
+++ CalendarServer/branches/release/CalendarServer-6.1-dev/txdav/caldav/datastore/scheduling/imip/inbound.py	2015-03-17 18:39:37 UTC (rev 14603)
@@ -76,7 +76,10 @@
     @inlineCallbacks
     def doWork(self):
         calendar = Component.fromString(self.icalendarText)
-        yield injectMessage(self.transaction, self.organizer, self.attendee, calendar)
+        try:
+            yield injectMessage(self.transaction, self.organizer, self.attendee, calendar)
+        except:
+            log.error("Unable to process reply")
 
 
 
@@ -376,6 +379,14 @@
         calendar = Component.fromString(calBody)
         event = calendar.mainComponent()
 
+        # Don't let a missing PRODID prevent the reply from being processed
+        if not calendar.hasProperty("PRODID"):
+            calendar.addProperty(
+                Property(
+                    "PRODID", "Unknown"
+                )
+            )
+
         calendar.removeAllButOneAttendee(attendee)
         organizerProperty = calendar.getOrganizerProperty()
         if organizerProperty is None:
@@ -447,14 +458,14 @@
                     return succeed(self.INCOMPLETE_DSN)
 
             log.info(
-                "Mail gateway received message %s from %s to %s" %
-                (msg['Message-ID'], msg['From'], msg['To']))
+                "Mail gateway received message {msgid} from {fromAddr} to {toAddr}",
+                msgid=msg['Message-ID'], fromAddr=msg['From'], toAddr=msg['To'])
 
             return self.processReply(msg)
 
         except Exception, e:
             # Don't let a failure of any kind stop us
-            log.error("Failed to process message: %s" % (e,))
+            log.error("Failed to process message: {error}", error=str(e))
         return succeed(self.UNKNOWN_FAILURE)
 
 
@@ -465,9 +476,9 @@
     try:
         scheduler = IMIPScheduler(txn, None)
         results = (yield scheduler.doSchedulingDirectly("iMIP", attendee, [organizer, ], calendar,))
-        log.info("Successfully injected iMIP response from %s to %s" % (attendee, organizer))
+        log.info("Successfully injected iMIP response from {attendee} to {organizer}", attendee=attendee, organizer=organizer)
     except Exception, e:
-        log.error("Failed to inject iMIP response (%s)" % (e,))
+        log.error("Failed to inject iMIP response ({error})", error=str(e))
         raise
 
     returnValue(results)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20150317/441d4c5f/attachment.html>


More information about the calendarserver-changes mailing list