def unpackevent(ae, formodulename=""): parameters = {} try: dirobj = ae.AEGetParamDesc('----', '****') except AE.Error: pass else: parameters['----'] = unpack(dirobj, formodulename) del dirobj # Workaround for what I feel is a bug in OSX 10.2: 'errn' won't show up in missed... try: dirobj = ae.AEGetParamDesc('errn', '****') except AE.Error: pass else: parameters['errn'] = unpack(dirobj, formodulename) del dirobj while 1: key = missed(ae) if not key: break parameters[key] = unpack(ae.AEGetParamDesc(key, '****'), formodulename) attributes = {} for key in aekeywords: try: desc = ae.AEGetAttributeDesc(key, '****') except (AE.Error, MacOS.Error), msg: if msg[0] != -1701 and msg[0] != -1704: raise continue attributes[key] = unpack(desc, formodulename)
def test_roundtrip_FSSpec(self): try: import Carbon.File except: return o = Carbon.File.FSSpec(os.curdir) packed = aepack.pack(o) unpacked = aepack.unpack(packed) self.assertEqual(o.as_pathname(), unpacked.as_pathname())
def test_roundtrip_Alias(self): try: import Carbon.File except: return o = Carbon.File.FSSpec(os.curdir).NewAliasMinimal() packed = aepack.pack(o) unpacked = aepack.unpack(packed) self.assertEqual(o.FSResolveAlias(None)[0].as_pathname(), unpacked.FSResolveAlias(None)[0].as_pathname())
def filter(*args): fn = aepack.unpack(args[0]).as_pathname() dirname = os.path.dirname(fn) if dirname not in renpy: renpy[dirname] = os.path.isdir(dirname + "/renpy") or os.path.exists(dirname + "/renpy.zip") if renpy[dirname] and (fn.endswith(".py") or fn.endswith(".pyw")): return True if os.path.isdir(fn): return True return False
def unpackevent(ae, formodulename = ''): parameters = {} try: dirobj = ae.AEGetParamDesc('----', '****') except AE.Error: pass else: parameters['----'] = unpack(dirobj, formodulename) del dirobj try: dirobj = ae.AEGetParamDesc('errn', '****') except AE.Error: pass else: parameters['errn'] = unpack(dirobj, formodulename) del dirobj while 1: key = missed(ae) if not key: break parameters[key] = unpack(ae.AEGetParamDesc(key, '****'), formodulename) attributes = {} for key in aekeywords: try: desc = ae.AEGetAttributeDesc(key, '****') except (AE.Error, MacOS.Error) as msg: if msg[0] != -1701 and msg[0] != -1704: raise continue attributes[key] = unpack(desc, formodulename) return (parameters, attributes)
def unpackevent(ae, formodulename=''): parameters = {} try: dirobj = ae.AEGetParamDesc('----', '****') except AE.Error: pass else: parameters['----'] = unpack(dirobj, formodulename) del dirobj try: dirobj = ae.AEGetParamDesc('errn', '****') except AE.Error: pass else: parameters['errn'] = unpack(dirobj, formodulename) del dirobj while 1: key = missed(ae) if not key: break parameters[key] = unpack(ae.AEGetParamDesc(key, '****'), formodulename) attributes = {} for key in aekeywords: try: desc = ae.AEGetAttributeDesc(key, '****') except (AE.Error, MacOS.Error) as msg: if msg[0] != -1701 and msg[0] != -1704: raise continue attributes[key] = unpack(desc, formodulename) return (parameters, attributes)
def test_roundtrip_aeobjects(self): for o in self.OBJECTS: packed = aepack.pack(o) unpacked = aepack.unpack(packed) self.assertEqual(repr(o), repr(unpacked))
def test_roundtrip_None(self): o = None packed = aepack.pack(o) unpacked = aepack.unpack(packed) self.assertEqual(o, unpacked)
def test_roundtrip_float(self): o = 12.1 packed = aepack.pack(o) unpacked = aepack.unpack(packed) self.assertEqual(o, unpacked)
def test_roundtrip_string(self): o = 'a string' packed = aepack.pack(o) unpacked = aepack.unpack(packed) self.assertEqual(o, unpacked)
"""Tools for use in AppleEvent clients and servers.