Пример #1
0
 def test_typewrappers(self):
     for val in [
             aem.AEType("docu"),
             aem.AEEnum('yes '),
             aem.AEProp('pnam'),
             aem.AEKey('ABCD'),
     ]:
         d = self.c.pack(val)
         val2 = self.c.unpack(d)
         self.assertEqual(val, val2)
         self.assertEqual(val2, val)
     self.assertRaises(TypeError, aem.AEType, 3)
     self.assertRaises(ValueError, aem.AEType, "docum")
Пример #2
0
_ignoreenums = [
    (Keyword('case'), kae.kAECaseConsiderMask, kae.kAECaseIgnoreMask),
    (Keyword('diacriticals'), kae.kAEDiacriticConsiderMask,
     kae.kAEDiacriticIgnoreMask),
    (Keyword('whitespace'), kae.kAEWhiteSpaceConsiderMask,
     kae.kAEWhiteSpaceIgnoreMask),
    (Keyword('hyphens'), kae.kAEHyphensConsiderMask, kae.kAEHyphensIgnoreMask),
    (Keyword('expansion'), kae.kAEExpansionConsiderMask,
     kae.kAEExpansionIgnoreMask),
    (Keyword('punctuation'), kae.kAEPunctuationConsiderMask,
     kae.kAEPunctuationIgnoreMask),
]

# default cons, csig attributes

_defaultconsiderations = _lowlevelcodecs.pack([aem.AEEnum(kae.kAECase)])
_defaultconsidsandignores = _packuint32(kae.kAECaseIgnoreMask)

######################################################################
# Base class for references and commands


class _Base(object):
    # Base class for Command and Reference objects.
    def __init__(self, appdata):
        self.AS_appdata = appdata

    # Help system

    def help(
        self,
Пример #3
0
def _coerceTypeAndEnum(desc, toType):
    return _standardCodecs.pack(unicode(fourCharCode(desc.data)))


def _coerceBoolAndNum(desc, toType):
    return desc.AECoerceDesc('TEXT').AECoerceDesc('utxt')


def _coerceFileTypes(desc, toType):
    return desc.AECoerceDesc('furl').AECoerceDesc('utxt')


_extraCoercions = [
    (aem.AEType('utxt'), kae.typeType, _coerceTypeAndEnum),
    (aem.AEEnum('yes '), kae.typeEnumerated, _coerceTypeAndEnum),
    (True, kae.typeBoolean, _coerceBoolAndNum),
    (3, kae.typeInteger, _coerceBoolAndNum),
    (3.1, kae.typeFloat, _coerceBoolAndNum),
    #		(mactypes.File('/').fsalias, kae.typeAlias, _coerceFileTypes),
    #		(mactypes.File('/').fsref, kae.typeFSRef, _coerceFileTypes),
    #		(mactypes.File('/').fsspec, kae.typeFSS, _coerceFileTypes),
]

for testVal, fromType, func in _extraCoercions:
    try:
        _standardCodecs.pack(testVal).AECoerceDesc(kae.typeUnicodeText)
    except ae.MacOSError, err:
        if err[0] == -1700:
            try:
                installcoercionhandler(func, fromType, kae.typeUnicodeText)
Пример #4
0
    (Keyword('case'), kOSA.kAECaseConsiderMask, kOSA.kAECaseIgnoreMask),
    (Keyword('diacriticals'), kOSA.kAEDiacriticConsiderMask,
     kOSA.kAEDiacriticIgnoreMask),
    (Keyword('whitespace'), kOSA.kAEWhiteSpaceConsiderMask,
     kOSA.kAEWhiteSpaceIgnoreMask),
    (Keyword('hyphens'), kOSA.kAEHyphensConsiderMask,
     kOSA.kAEHyphensIgnoreMask),
    (Keyword('expansion'), kOSA.kAEExpansionConsiderMask,
     kOSA.kAEExpansionIgnoreMask),
    (Keyword('punctuation'), kOSA.kAEPunctuationConsiderMask,
     kOSA.kAEPunctuationIgnoreMask),
]

# default cons, csig attributes

_defaultConsiderations = _lowLevelCodecs.pack([aem.AEEnum(kOSA.kAECase)])
_defaultConsidsAndIgnores = _packUInt32(kOSA.kAECaseIgnoreMask)

######################################################################
# Base class for references and commands


class _Base(object):
    # Base class for Command and Reference objects.
    def __init__(self, appdata):
        self.AS_appdata = appdata

    # Help system

    def help(
        self,