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")
_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,
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)
(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,