Beispiel #1
0
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)
Beispiel #2
0
 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())
Beispiel #3
0
 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())
Beispiel #4
0
    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 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
Beispiel #6
0
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)
Beispiel #7
0
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)
Beispiel #8
0
 def test_roundtrip_aeobjects(self):
     for o in self.OBJECTS:
         packed = aepack.pack(o)
         unpacked = aepack.unpack(packed)
         self.assertEqual(repr(o), repr(unpacked))
Beispiel #9
0
 def test_roundtrip_None(self):
     o = None
     packed = aepack.pack(o)
     unpacked = aepack.unpack(packed)
     self.assertEqual(o, unpacked)
Beispiel #10
0
 def test_roundtrip_float(self):
     o = 12.1
     packed = aepack.pack(o)
     unpacked = aepack.unpack(packed)
     self.assertEqual(o, unpacked)
Beispiel #11
0
 def test_roundtrip_string(self):
     o = 'a string'
     packed = aepack.pack(o)
     unpacked = aepack.unpack(packed)
     self.assertEqual(o, unpacked)
Beispiel #12
0
"""Tools for use in AppleEvent clients and servers.