diff options
author | Jack Jansen <jack.jansen@cwi.nl> | 1997-01-10 15:25:47 (GMT) |
---|---|---|
committer | Jack Jansen <jack.jansen@cwi.nl> | 1997-01-10 15:25:47 (GMT) |
commit | 8dc797d1f888b3ebfb1af5fdb97c1a4fc11026cb (patch) | |
tree | 02a8fdc693920fb5cf9d816cb7cb404b157ea8aa | |
parent | 466be801fd821e88059f718b72aec961c889e0a0 (diff) | |
download | cpython-8dc797d1f888b3ebfb1af5fdb97c1a4fc11026cb.zip cpython-8dc797d1f888b3ebfb1af5fdb97c1a4fc11026cb.tar.gz cpython-8dc797d1f888b3ebfb1af5fdb97c1a4fc11026cb.tar.bz2 |
Return preferences of unknown type as opaque data
-rw-r--r-- | Mac/Lib/ic.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/Mac/Lib/ic.py b/Mac/Lib/ic.py index 9089f52..6388de5 100644 --- a/Mac/Lib/ic.py +++ b/Mac/Lib/ic.py @@ -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: |