  from twisted.web2 import responsecode
  from twisted.web2.http import HTTPError, StatusResponse
  from twisted.web2.dav import davxml
-@@ -66,16 +72,8 @@
+@@ -66,16 +73,8 @@
          deadPropertyXattrPrefix = "user."
  
      def _encode(clazz, name):

         return r
 
     def _decode(clazz, name):
@@ -97,19 +95,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,

+            else:
+                break
+    
+
         # Update the resource because we've modified it
         self.resource.fp.restat()
 
