;ň /W Bc@s˘dZdkZdkZdkZdklZdklZd„Zd„Zd„Z dei i fd„ƒYZ d e fd „ƒYZ d e fd „ƒYZdS( sParser for ZConfig schemas.N(sinfo(surlcCs3t||iƒ}tii|i|ƒ|i SdS(N( s SchemaParsersloadersresourcesurlsparsersxmlssaxsparsesfiles_schema(sresourcesloadersparser((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys parseResourcescCs/t||i|ƒ}tii|i |ƒdS(N( sComponentParsersloadersresourcesurlsschemasparsersxmlssaxsparsesfile(sresourcesloadersschemasparser((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pysparseComponentscCs,t|tdƒƒo | dSn| SdS(Nui(s isinstancesobstype(sob((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys_srepr$s s BaseParserc BsxtZddddfZddddd d d fZhddd d d ddd d g<ddd d d g<ddd d d g<ddd g<dd d g<dd d g<dd d g<dd dg<d d dg<d d dg<d d dg may be used for each element(sselfs_stacks descriptionsNoneserrorsdata(sselfsdata((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pyscharacters_descriptionscCs||id_dS(Ni˙˙˙˙(sdatasselfs_stacksexample(sselfsdata((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pyscharacters_examplescCs||id_dS(Ni˙˙˙˙(sdatasselfs_stacks metadefault(sselfsdata((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pyscharacters_metadefaultscCsŻ|iddƒiƒ}|iddƒiƒ}|iddƒiƒ}|p| o|idƒn|o|o|idƒn|o |o|idƒnti |i |ƒ}ti |ƒ\}}|o|idƒn|i i|ƒ}xŽ|iƒD]}|ii|i|ƒƒqWn~tii|ƒo|id ƒn|i|ƒ}|i i||ƒ}|ii|ƒ o!|ii|ƒ|i|ƒndS( Nssrcsspackagesfiles)import must specify either src or packages-import may only specify one of src or packages#import may not specify file and srcs1import src many not include a fragment identifiers%file may not include a directory part(sattrssgetsstripssrcspkgsfilesselfserrorsurlsurljoins_urls urldefragsfragments_loadersloadURLsschemas gettypenamessns_schemasaddtypesgettypesosspathsdirnames get_classnamesschemaComponentSources hasComponents addComponents loadComponent(sselfsattrsssrcsnsfragmentsfilesschemaspkg((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys start_imports2 !cCsV|ii|ƒ}t|i||iƒ}zti i |i |ƒWd|i ƒXdS(N( sselfs_loaders openResourcessrcsrsComponentParsers_schemasparsersxmlssaxsparsesfilesclose(sselfssrcsparsersr((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys loadComponent7s cCsdS(N((sself((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys end_import?sc Cs€|idƒ}| o|idƒn|i|ƒ}|i|ƒ|idƒo€|i|dƒ}|i i |ƒ}|i ƒo|idƒn|i ||ƒ\}} }|i i|||| |ƒ} n4|i |ƒ\}} }|i i||| |ƒ} |idƒoU|i|dƒ}|i i |ƒ}|i ƒ o|idƒn|i| ƒn|ii| ƒdS(Nsnames-sectiontype name must not be omitted or emptysextendss*sectiontype cannot extend an abstract types implementss3type specified by implements is not an abstracttype(sattrssgetsnamesselfserrors basic_keys push_prefixshas_keysbasenames_schemasgettypesbases isabstractsget_sect_typeinfoskeytypes valuetypesdatatypesderiveSectionTypessectinfoscreateSectionTypesifnames interfaces addsubtypes_stacksappend( sselfsattrsskeytypesnamesdatatypesbasenamesifnamesbases interfaces valuetypessectinfo((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pysstart_sectiontypeBs*  "cCs|iƒ|iiƒdS(N(sselfs pop_prefixs_stackspop(sself((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pysend_sectiontype]s c CsÉ|i|ƒ}|i|ƒ}|i|ƒodpd}|i|ddƒ\}}}|o| o|i dƒnt i|p|||d||ƒ}|idi||ƒ|ii|ƒdS(Niissections*s9attribute must be specified if section name is '*' or '+'i˙˙˙˙(sselfsget_sectiontypesattrss sectiontypes get_handlershandlers get_requiredsmins get_name_infosanysnames attributeserrorsinfos SectionInfossections_stacks addsectionsappend( sselfsattrssnamesmins attributeshandlerssectionsanys sectiontype((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys start_sectionascCs|iiƒdS(N(sselfs_stackspop(sself((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys end_sectionnsc CsĹ|i|ƒ} |i|ƒ\}}|i|ddƒ\}}}|ddfjo|i dƒn|i |ƒ}ti|p|| ||||ƒ}|idi||ƒ|ii|ƒdS(Ns multisections*s+s1multisection must specify '*' or '+' for the namei˙˙˙˙(sselfsget_sectiontypesattrss sectiontypesget_ordinalitysminsmaxs get_name_infosanysnames attributeserrors get_handlershandlersinfos SectionInfossections_stacks addsectionsappend( sselfsattrssnamesminsmaxshandlers attributessectionsanys sectiontype((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pysstart_multisectionqscCs|iiƒdS(N(sselfs_stackspop(sself((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pysend_multisection}scCsj|idƒ}| o|idƒn|i|ƒ}ti|ƒ}|i i |ƒ|i i |ƒdS(Nsnames.abstracttype name must not be omitted or empty( sattrssgetsnamesselfserrors basic_keysinfos AbstractTypesabstypes_schemasaddtypes_stacksappend(sselfsattrssabstypesname((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pysstart_abstracttype€scCs|iiƒdS(N(sselfs_stackspop(sself((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pysend_abstracttype‰scCsë|i|dƒ\}}}}|i|ƒodpd}t i |||||ƒ}|i dƒoB|o|i dƒn|it|dƒiƒ|iƒƒn|djo|iƒn|idi|ƒ|ii|ƒdS(Nskeyiisdefaults(required key cannot have a default values+i˙˙˙˙(sselfs get_key_infosattrssnamesdatatypeshandlers attributes get_requiredsminsinfosKeyInfoskeyshas_keyserrors adddefaultsstrsstrips get_positionsfinishs_stacksaddkeysappend(sselfsattrssnamesminsdatatypes attributeshandlerskey((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys start_keyŒs cCsH|iiƒ}|idjo%|i|idiƒ|iƒndS(Ns+i˙˙˙˙(sselfs_stackspopskeysnamescomputedefaultskeytypesfinish(sselfskey((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pysend_keyšsc Csš|idƒo|idƒn|i|dƒ\}}}}|i |ƒ\}}t i ||||||ƒ}|idi|ƒ|ii|ƒdS(NsdefaultsBdefault values for multikey must be given using 'default' elementssmultikeyi˙˙˙˙(sattrsshas_keysselfserrors get_key_infosnamesdatatypeshandlers attributesget_ordinalitysminsmaxsinfos MultiKeyInfoskeys_stacksaddkeysappend( sselfsattrssnamesminsdatatypes attributeshandlerskeysmax((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pysstart_multikey s cCsH|iiƒ}|idjo|i|idiƒn|iƒdS(Ns+i˙˙˙˙(sselfs_stackspopsmultikeysnamescomputedefaultskeytypesfinish(sselfsmultikey((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys end_multikeyŤscCs>y|i|ƒSWn&tj o}|i|dƒnXdS(Ni(sselfs _basic_keysss ValueErrorseserror(sselfssse((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys basic_keyłscCs>y|i|ƒSWn&tj o}|i|dƒnXdS(Ni(sselfs _identifiersss ValueErrorseserror(sselfssse((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys identifieršscCsR|itj o:|iiƒ|_|iiƒ|_|iiƒ|_ n|SdS(N( sselfs_locatorsNonesgetColumnNumbersescolnos getLineNumberslinenos getSystemIdsurl(sselfse((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys initerrorÁs cCs|iti|ƒƒ‚dS(N(sselfs initerrorsZConfigs SchemaErrorsmessage(sselfsmessage((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pyserrorČs(/s__name__s __module__s _cdata_tagss _handled_tagss_allowed_parentss__init__ssetDocumentLocators startElements characterss endElements endDocuments get_positions get_handlers push_prefixs pop_prefixs get_classnamesNones get_datatypesget_sect_typeinfos get_requiredsget_ordinalitysget_sectiontypes get_key_infos get_name_infoscharacters_defaultscharacters_descriptionscharacters_examplescharacters_metadefaults start_imports loadComponents end_importsstart_sectiontypesend_sectiontypes start_sections end_sectionsstart_multisectionsend_multisectionsstart_abstracttypesend_abstracttypes start_keysend_keysstart_multikeys end_multikeys basic_keys identifiers initerrorserror(((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys BaseParser,sXÉ                                s SchemaParsercBsEtZeidfZdZed„Zd„Zd„Zd„Z RS(NsschemacCs2ti|||ƒ||_g|_g|_dS(N( s BaseParsers__init__sselfsloadersurlsextending_parsers_extending_parsers_base_keytypess_base_datatypes(sselfsloadersurlsextending_parser((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys__init__Ňs  c CsA|i|ƒ|i|ƒ}|i|ƒ\}} }|i t jo+t i || |||i |iƒ|_n|i i|_|ig|_|idƒoB|diƒ}|iƒx]|D]U}ti|i |ƒ}ti|ƒ\}}|o|idƒn|i|ƒqžW|io|idƒ oG|id}x7|idD]$}||j o|idƒqMqMWn|io|idƒ oG|id}x7|idD]$} | |j o|idƒqŻqŻWqßn||i_| |i_||i_|i t j o*|i ii |ƒ|i ii |ƒndS( Nsextendss5schema extends many not include a fragment identifierskeytypeiis\base schemas have conflicting keytypes, but no keytype was specified in the extending schemasdatatypes^base schemas have conflicting datatypes, but no datatype was specified in the extending schema(!sselfs push_prefixsattrss get_handlershandlersget_sect_typeinfoskeytypes valuetypesdatatypes_extending_parsersNonesinfos SchemaTypes_urls _registrys_schemas_stackshas_keyssplitssourcessreversessrcsurlsurljoins urldefragsfragmentserrors extendSchemas_base_keytypesskts_base_datatypessdtsappend( sselfsattrsssrcsdatatypeskeytypesktssourcesshandlersfragmentsdts valuetype((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys start_schemaŘsH         cCsSt|i||ƒ}|ii|ƒ}ztii |i |ƒWd|i ƒXdS(N( s SchemaParsersselfs_loaderssrcsparsers openResourcesrsxmlssaxsparsesfilesclose(sselfssrcsparsersr((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys extendSchemas cCs<|id=|i pt‚|iƒ|i pt‚dS(Ni˙˙˙˙(sselfs_stacksAssertionErrors pop_prefixs _prefixes(sself((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys end_schemas  ( s__name__s __module__s BaseParsers _handled_tagss _top_levelsNones__init__s start_schemas extendSchemas end_schema(((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys SchemaParserĚs   8 sComponentParsercBsotZeidfZdZd„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z RS( Ns componentcCs ti|||ƒ||_dS(N(s BaseParsers__init__sselfsloadersurlsschemas_parent(sselfsloadersurlsschema((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys__init__$scCs"|io||id_ndS(Ni˙˙˙˙(sselfs_stacksdatas description(sselfsdata((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pyscharacters_description(s cCs!|idƒti||ƒdS(Nskey(sselfs_check_not_toplevels BaseParsers start_keysattrs(sselfsattrs((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys start_key,s cCs!|idƒti||ƒdS(Nsmultikey(sselfs_check_not_toplevels BaseParsersstart_multikeysattrs(sselfsattrs((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pysstart_multikey0s cCs!|idƒti||ƒdS(Nssection(sselfs_check_not_toplevels BaseParsers start_sectionsattrs(sselfsattrs((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys start_section4s cCs!|idƒti||ƒdS(Ns multisection(sselfs_check_not_toplevels BaseParsersstart_multisectionsattrs(sselfsattrs((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pysstart_multisection8s cCs|i|_|i|ƒdS(N(sselfs_parents_schemas push_prefixsattrs(sselfsattrs((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pysstart_component<s cCs|iƒdS(N(sselfs pop_prefix(sself((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys end_component@scCs-|i o|id||ifƒndS(Ns)cannot define top-level %s in a schema %s(sselfs_stackserrorswhats _top_level(sselfswhat((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys_check_not_toplevelCs (s__name__s __module__s BaseParsers _handled_tagss _top_levels__init__scharacters_descriptions start_keysstart_multikeys start_sectionsstart_multisectionsstart_components end_components_check_not_toplevel(((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pysComponentParsers        (s__doc__sossxml.saxsxmlsZConfigsinfosurls parseResourcesparseComponents_sreprssaxsContentHandlers BaseParsers SchemaParsersComponentParser( sxmlsinfosparseComponentsurlsZConfigs SchemaParsers_sreprs parseResources BaseParsersComponentParsersos((sP/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/schema.pys?s        ˙ĄS