;ò ù¾@c@s¥dZdkZdkZdkZdeiifd„ƒYZdfd„ƒYZdfd„ƒYZdeei i fd „ƒYZ d eei i fd „ƒYZ dS( sSupport for command-line provision of settings. This module provides an extension of the ConfigLoader class which adds a way to add configuration settings from an alternate source. Each setting is described by a string of the form:: some/path/to/key=value NsExtendedConfigLoadercBs/tZd„Zed„Zd„Zd„ZRS(NcCs#tiii||ƒg|_dS(N(sZConfigsloaders ConfigLoaders__init__sselfsschemasclopts(sselfsschema((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pys__init__scCsÈ|tjodddf}nd|jo%tid|Œ}||_|‚n|iddƒ\}}|idƒ}d|jo%tid|Œ}||_|‚n|i i |||fƒdS( Nsiÿÿÿÿs=sinvalid configuration specifieris/ss%'//' is not allowed in an option path(spossNonesspecsZConfigsConfigurationSyntaxErrorses specifierssplitsoptsvalsoptpathsselfscloptssappend(sselfsspecspossoptsesvalsoptpath((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pys addOption"s       cCsM|io&t|iƒ}|i|iƒƒntii i |ƒ}|SdS(N( sselfscloptssExtendedSchemaMatchersschemassms set_optionbagscooksZConfigsloaders ConfigLoaderscreateSchemaMatcher(sselfssm((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pyscreateSchemaMatcher6s  cCs/|iot|i|i|iƒSntSdS(N(sselfscloptss OptionBagsschemasNone(sself((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pyscook>s (s__name__s __module__s__init__sNones addOptionscreateSchemaMatcherscook(((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pysExtendedConfigLoaders   s OptionBagcBsPtZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z RS( Nc Csª||_||_h|_g|_|iidƒ|_xj|D]b}|\}}}|i |dƒ}t|ƒdjo|i|||ƒq@|ii|ƒq@WdS(Ns basic-keyii(s sectiontypesselfsschemaskeypairss sectitemssregistrysgets _basic_keysoptionssitemsoptpathsvalsposskeytypesnameslens add_valuesappend( sselfsschemas sectiontypesoptionssnamesvalsitemspossoptpath((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pys__init__Fs    cCs=y|i|ƒSWn%tj otid|Œ‚nXdS(Ns!could not convert basic-key value(sselfs _basic_keysss ValueErrorsZConfigsConfigurationSyntaxErrorspos(sselfssspos((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pys basic_keyTscCsN|ii|ƒo|i|}ng}||i|<|i||fƒdS(N(sselfskeypairsshas_keysnamesLsappendsvalspos(sselfsnamesvalspossL((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pys add_value[s  cCs|ii|ƒSdS(N(sselfskeypairsshas_keysname(sselfsname((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pyshas_keycscCs3|ii|ƒ}|o|i|=|SngSdS(siReturn a list of (value, pos) items for the key 'name'. The returned list may be empty. N(sselfskeypairssgetsnamesL(sselfsnamesL((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pysget_keyfs  cCs|iiƒSdS(N(sselfskeypairsskeys(sself((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pyskeysrsc Cs÷g}g} x¬|iD]¡}|\}}}|d}|i ||ƒ} |o|i ƒ|jo|i |d||fƒq| |jo|i |d||fƒq| i |ƒqW|o-| |i(t|i|ii|ƒ|ƒSntSdS(Nii(sLsRsselfs sectitemssitemsoptpathsvalspossss basic_keysbksnameslowersappendstypes OptionBagsschemasgettypesNone( sselfstypesnamesvalsoptpathsLspossitemsssRsbk((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pysget_section_infous     #cCs+|ip|iotidƒ‚ndS(Ns*not all command line options were consumed(sselfs sectitemsskeypairssZConfigsConfigurationError(sself((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pysfinishˆs( s__name__s __module__s__init__s basic_keys add_valueshas_keysget_keyskeyssget_section_infosfinish(((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pys OptionBagEs      s MatcherMixincBs,tZd„Zd„Zd„Zd„ZRS(NcCs ||_dS(N(sbagsselfs optionbag(sselfsbag((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pys set_optionbagscCs~y|ii|ƒ}Wn*tj o}ti|||ƒ‚nX|i i |ƒodSnti i i||||ƒdS(N(sselfstypeskeytypeskeysrealkeys ValueErrorsesZConfigsDataConversionErrorspositions optionbagshas_keysmatchers BaseMatchersaddValuesvalue(sselfskeysvaluespositionsesrealkey((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pysaddValue’scCsztiii|||ƒ}|ii |i|ƒ}|t j o2t |i |i|i|iƒ}|i|ƒn|SdS(N(sZConfigsmatchers BaseMatcherscreateChildMatchersselfstypesnamessms optionbagsget_section_infosbagsNonesExtendedSectionMatchersinfoshandlerss set_optionbag(sselfstypesnamesbagssm((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pyscreateChildMatcher›s  !cCsjxV|iiƒD]E}x<|ii|ƒD](\}}tii i ||||ƒq)WqW|ii ƒdS(N( sselfs optionbagskeysskeysget_keysvalspossZConfigsmatchers BaseMatchersaddValuesfinish(sselfsvalskeyspos((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pysfinish_optionbag¤s  $(s__name__s __module__s set_optionbagsaddValuescreateChildMatchersfinish_optionbag(((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pys MatcherMixinŽs  sExtendedSectionMatchercBstZd„ZRS(NcCs!|iƒtiii|ƒSdS(N(sselfsfinish_optionbagsZConfigsmatchersSectionMatchersfinish(sself((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pysfinish¬s (s__name__s __module__sfinish(((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pysExtendedSectionMatcher«ssExtendedSchemaMatchercBstZd„ZRS(NcCs!|iƒtiii|ƒSdS(N(sselfsfinish_optionbagsZConfigsmatchers SchemaMatchersfinish(sself((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pysfinish±s (s__name__s __module__sfinish(((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pysExtendedSchemaMatcher°s(s__doc__sZConfigsZConfig.loadersZConfig.matchersloaders ConfigLoadersExtendedConfigLoaders OptionBags MatcherMixinsmatchersSectionMatchersExtendedSectionMatchers SchemaMatchersExtendedSchemaMatcher(sExtendedConfigLoaders MatcherMixins OptionBagsZConfigsExtendedSchemaMatchersExtendedSectionMatcher((sQ/mnt/gmirror/ports/devel/py-zconfig/work/ZConfig-2.3.1/Support/ZConfig/cmdline.pys?s   (I