[CalendarServer-changes] [1892] CalendarServer/branches/release/CalendarServer-1.0-dev/lib-patches/ Twisted/twisted.web2.dav.xattrprops.patch

source_changes at macosforge.org source_changes at macosforge.org
Thu Sep 20 18:01:04 PDT 2007


Revision: 1892
          http://trac.macosforge.org/projects/calendarserver/changeset/1892
Author:   wsanchez at apple.com
Date:     2007-09-20 18:01:03 -0700 (Thu, 20 Sep 2007)

Log Message:
-----------
Pulled up r1881 r1882 r1887 from trunk.

Modified Paths:
--------------
    CalendarServer/branches/release/CalendarServer-1.0-dev/lib-patches/Twisted/twisted.web2.dav.xattrprops.patch

Modified: CalendarServer/branches/release/CalendarServer-1.0-dev/lib-patches/Twisted/twisted.web2.dav.xattrprops.patch
===================================================================
--- CalendarServer/branches/release/CalendarServer-1.0-dev/lib-patches/Twisted/twisted.web2.dav.xattrprops.patch	2007-09-20 21:30:55 UTC (rev 1891)
+++ CalendarServer/branches/release/CalendarServer-1.0-dev/lib-patches/Twisted/twisted.web2.dav.xattrprops.patch	2007-09-21 01:01:03 UTC (rev 1892)
@@ -2,17 +2,19 @@
 ===================================================================
 --- twisted/web2/dav/xattrprops.py	(revision 19773)
 +++ twisted/web2/dav/xattrprops.py	(working copy)
-@@ -33,6 +33,9 @@
+@@ -33,6 +33,11 @@
  
  import urllib
  import sys
++import zlib
 +from time import sleep
 +from random import random
 +from errno import EAGAIN
++from zlib import compress, decompress
  
  import xattr
  
-@@ -66,16 +69,8 @@
+@@ -66,16 +71,8 @@
          deadPropertyXattrPrefix = "user."
  
      def _encode(clazz, name):
@@ -31,7 +33,23 @@
          return r
  
      def _decode(clazz, name):
-@@ -104,12 +99,26 @@
+@@ -97,19 +94,41 @@
+ 
+     def get(self, qname):
+         try:
+-            value = self.attrs[self._encode(qname)]
++            data = self.attrs[self._encode(qname)]
++            try:
++                value = decompress(data)
++            except zlib.error:
++                # Value is not compressed; data was stored by old
++                # code.  This is easy to handle, so let's keep
++                # compatibility here.
++                value = data
++            del data
+         except KeyError:
+             raise HTTPError(StatusResponse(
+                 responsecode.NOT_FOUND,
                  "No such property: {%s}%s" % qname
              ))
  
@@ -50,7 +68,7 @@
 -        self.attrs[self._encode(property.qname())] = property.toxml()
 +        for n in range(20):
 +            try:
-+                self.attrs[self._encode(property.qname())] = property.toxml()
++                self.attrs[self._encode(property.qname())] = compress(property.toxml())
 +            except IOError, error:
 +                if error.errno != EAGAIN:
 +                    raise

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20070920/33d541d9/attachment.html


More information about the calendarserver-changes mailing list