[CalendarServer-changes] [6567] CalendarServer/trunk/calendarserver/od

source_changes at macosforge.org source_changes at macosforge.org
Thu Nov 4 10:28:58 PDT 2010


Revision: 6567
          http://trac.macosforge.org/projects/calendarserver/changeset/6567
Author:   sagen at apple.com
Date:     2010-11-04 10:28:56 -0700 (Thu, 04 Nov 2010)
Log Message:
-----------
Don't allow the pyobjc objects to leak into the OD results.

Modified Paths:
--------------
    CalendarServer/trunk/calendarserver/od/opendirectory.py
    CalendarServer/trunk/calendarserver/od/test/test_opendirectory.py

Modified: CalendarServer/trunk/calendarserver/od/opendirectory.py
===================================================================
--- CalendarServer/trunk/calendarserver/od/opendirectory.py	2010-11-04 14:51:02 UTC (rev 6566)
+++ CalendarServer/trunk/calendarserver/od/opendirectory.py	2010-11-04 17:28:56 UTC (rev 6567)
@@ -84,7 +84,7 @@
                 result[key] = None
             else:
                 if isinstance(value[0], objc.pyobjc_unicode):
-                    result[key] = value[0]
+                    result[key] = unicode(value[0]) # convert from pyobjc
         else:
             result[key] = [unicode(v) for v in value if isinstance(v, objc.pyobjc_unicode)]
 

Modified: CalendarServer/trunk/calendarserver/od/test/test_opendirectory.py
===================================================================
--- CalendarServer/trunk/calendarserver/od/test/test_opendirectory.py	2010-11-04 14:51:02 UTC (rev 6566)
+++ CalendarServer/trunk/calendarserver/od/test/test_opendirectory.py	2010-11-04 17:28:56 UTC (rev 6567)
@@ -725,3 +725,15 @@
             result = opendirectory.authenticateUserBasic(directory,
                 "/Local/Default", "odtestalbert", "password")
             self.assertTrue(result)
+
+        def test_unicode_results(self):
+            directory = opendirectory.odInit("/Search")
+            record = opendirectory.getUserRecord(directory, "odtestbill")
+            name, data = opendirectory.recordToResult(record)
+            for value in data.values():
+                if isinstance(value, list):
+                    for item in value:
+                        self.assertTrue(type(item) is unicode)
+                else:
+                    self.assertTrue(type(value) is unicode)
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20101104/38482a9a/attachment.html>


More information about the calendarserver-changes mailing list