[CalendarServer-changes] [3230] CalendarServer/branches/users/sagen/localization-3218/twistedcaldav

source_changes at macosforge.org source_changes at macosforge.org
Fri Oct 24 16:00:15 PDT 2008


Revision: 3230
          http://trac.macosforge.org/projects/calendarserver/changeset/3230
Author:   sagen at apple.com
Date:     2008-10-24 16:00:15 -0700 (Fri, 24 Oct 2008)
Log Message:
-----------
First pass at attendees

Modified Paths:
--------------
    CalendarServer/branches/users/sagen/localization-3218/twistedcaldav/localization.py
    CalendarServer/branches/users/sagen/localization-3218/twistedcaldav/mail.py

Modified: CalendarServer/branches/users/sagen/localization-3218/twistedcaldav/localization.py
===================================================================
--- CalendarServer/branches/users/sagen/localization-3218/twistedcaldav/localization.py	2008-10-24 22:30:35 UTC (rev 3229)
+++ CalendarServer/branches/users/sagen/localization-3218/twistedcaldav/localization.py	2008-10-24 23:00:15 UTC (rev 3230)
@@ -80,6 +80,9 @@
 date format strings, in case a locale likes these values in a different order
 or with different punctuation.
 
+
+TODO: durations (including pluralization localization)
+TODO: recurrence
 """
 
 

Modified: CalendarServer/branches/users/sagen/localization-3218/twistedcaldav/mail.py
===================================================================
--- CalendarServer/branches/users/sagen/localization-3218/twistedcaldav/mail.py	2008-10-24 22:30:35 UTC (rev 3229)
+++ CalendarServer/branches/users/sagen/localization-3218/twistedcaldav/mail.py	2008-10-24 23:00:15 UTC (rev 3230)
@@ -662,6 +662,8 @@
         name, serverAddress = email.utils.parseaddr(fullServerAddress)
         pre, post = serverAddress.split('@')
         addressWithToken = "%s+%s@%s" % (pre, token, post)
+
+        attendees = list(calendar.getAttendees())
         calendar.getOrganizerProperty().setValue("mailto:%s" %
             (addressWithToken,))
 
@@ -688,8 +690,8 @@
             raise ValueError("ATTENDEE address '%s' must be mailto: for iMIP operation." % (attendee,))
         attendee = attendee[7:]
 
-        msgId, message = self.generateEmail(calendar, organizer, formattedFrom,
-            addressWithToken, attendee, language=language)
+        msgId, message = self.generateEmail(calendar, organizer, attendees,
+            formattedFrom, addressWithToken, attendee, language=language)
 
         self.log_debug("Sending: %s" % (message,))
         def _success(result, msgId, fromAddr, toAddr):
@@ -707,10 +709,11 @@
         deferred.addErrback(_failure, msgId, fromAddr, toAddr)
 
 
-    def generateEmail(self, calendar, organizer, fromAddress, replyToAddress,
-        toAddress, language='en'):
+    def generateEmail(self, calendar, organizer, attendees, fromAddress,
+        replyToAddress, toAddress, language='en'):
 
-        details = self.getEventDetails(calendar, organizer, language=language)
+        details = self.getEventDetails(calendar, organizer, attendees,
+            language=language)
 
         with translationTo(language):
             msg = MIMEMultipart()
@@ -749,8 +752,10 @@
 %(dateLabel)s: %(dateInfo)s
 %(timeLabel)s: %(timeInfo)s
 %(descLabel)s: %(description)s
+%(attLabel)s: %(attendees)s
 """
 
+            # TODO: work on cancellations
             if cancelled:
                 plainText = _("Event cancelled")
             else:
@@ -786,6 +791,9 @@
     <p>
     <h3>%(descLabel)s:</h3> %(description)s
     </p>
+    <p>
+    <h3>%(attLabel)s:</h3> %(attendees)s
+    </p>
 
     """
             if cancelled:
@@ -822,7 +830,7 @@
         return msgId, msg.as_string()
 
 
-    def getEventDetails(self, calendar, organizer, language='en'):
+    def getEventDetails(self, calendar, organizer, attendees, language='en'):
 
         # Get the most appropriate component
         component = calendar.masterComponent()
@@ -841,6 +849,8 @@
         else:
             results['organizerName'] = ''
 
+        # TODO: get attendee names if available
+        results['attendees'] = ", ".join(attendees)
 
         summary = component.propertyValue("SUMMARY")
         if summary is None:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20081024/d3f553f7/attachment.html>


More information about the calendarserver-changes mailing list