]> granicus.if.org Git - python/commitdiff
Return preferences of unknown type as opaque data
authorJack Jansen <jack.jansen@cwi.nl>
Fri, 10 Jan 1997 15:25:47 +0000 (15:25 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Fri, 10 Jan 1997 15:25:47 +0000 (15:25 +0000)
Mac/Lib/ic.py

index 9089f5274ea4c476ca74d7c12c048e89799923a3..6388de5e455c1c61f7cf8cdbd4fbbf05c291c829 100644 (file)
@@ -28,13 +28,24 @@ icReadOnlyPerm = 1
 icReadWritePerm = 2
 # End of ictypes.h
 
+class ICOpaqueData:
+       """An unparseable IC entry"""
+       def __init__(self, data):
+               self.data = data
+
+       def __repr__(self):
+               return "ICOpaqueData(%s)"%`self.data`
+
+_ICOpaqueDataType=type(ICOpaqueData(''))
+               
 def _decode_default(data, key):
        if len(data) == 0:
                return data
        if ord(data[0]) == len(data)-1:
                # Assume Pstring
                return data[1:]
-       raise error, "Unknown data format for key "+key
+       return ICOpaqueData(data)
+       
        
 def _decode_multistr(data, key):
        numstr = ord(data[0]) << 8 | ord(data[1])
@@ -134,6 +145,8 @@ def _decode(data, key):
        return decoder(data, key)
 
 def _code(data, key):
+       if type(data) == _ICOpaqueDataType:
+               return data.data
        if '\245' in key:
                key2 = key[:string.index(key, '\245')+1]
        else: