ž Ÿ/{YΜc@s²ddlZddlZddlmZddlmZddlmZddlTdddd gZd d d„Z dd d„Z Gd d„deƒZ Gdd „d e ƒZ dS(iN(uCommand(u convert_path(ulog(u*u config_fileu edit_configu option_baseusetoptulocalcCs’|dkrdS|dkr>tjjtjjtjƒdƒS|dkrtjdkr_dpbd}tjjtd |ƒƒSt d |ƒ‚d S( uGet the filename of the distutils, local, global, or per-user config `kind` must be one of "local", "global", or "user" ulocalu setup.cfguglobalu distutils.cfguuseruposixu.uu~/%spydistutils.cfgu7config_file() type must be 'local', 'global', or 'user'N( uosupathujoinudirnameu distutilsu__file__unameu expanduseru convert_pathu ValueError(ukindudot((u2/tmp/pip-jy811g-build/setuptools/command/setopt.pyu config_file s    c Cs­ddlm}tjd|ƒ|jƒ}|j|gƒx+|jƒD]\}}|d kr„tjd||ƒ|j |ƒqI|j |ƒsΆtjd||ƒ|j |ƒnx­|jƒD]Ÿ\}}|d kr6tjd|||ƒ|j ||ƒ|j |ƒsbtjd||ƒ|j |ƒqbqΓtjd||||ƒ|j|||ƒqΓWqIWtjd |ƒ|s©t|d ƒ} |j| ƒ| jƒnd S( uYEdit a configuration file to include `settings` `settings` is a dictionary of dictionaries or ``None`` values, keyed by command/section name. A ``None`` value means to delete the entire section, while a dictionary lists settings to be changed or deleted in that section. A setting of ``None`` means to delete that setting. i(u ConfigParseruReading configuration from %suDeleting section [%s] from %suAdding new section [%s] to %suDeleting %s.%s from %su#Deleting empty [%s] section from %suSetting %s.%s to %r in %su Writing %suwN(usetuptools.compatu ConfigParserulogudebuguRawConfigParserureaduitemsuNoneuinfouremove_sectionu has_sectionu add_sectionu remove_optionuoptionsusetuopenuwriteuclose( ufilenameusettingsudry_runu ConfigParseruoptsusectionuoptionsuoptionuvalueuf((u2/tmp/pip-jy811g-build/setuptools/command/setopt.pyu edit_config*s:        cBsM|EeZdZdZdddgZddgZd d „Zd d„ZdS(u option_baseu<Abstract base class for commands that mess with config filesu global-configugu0save options to the site-wide distutils.cfg fileu user-configuuu7save options to the current user's pydistutils.cfg fileu filename=ufu-configuration file to use (default=setup.cfg)cCsd|_d|_d|_dS(N(uNoneu global_configu user_configufilename(uself((u2/tmp/pip-jy811g-build/setuptools/command/setopt.pyuinitialize_optionscs  uoption_base.initialize_optionscCsΆg}|jr%|jtdƒƒn|jrD|jtdƒƒn|jdk rf|j|jƒn|s‚|jtdƒƒnt|ƒdkr¦td|ƒ‚n|\|_dS(Nuglobaluuserulocaliu/Must specify only one configuration file option(u global_configuappendu config_fileu user_configufilenameuNoneulenuDistutilsOptionError(uselfu filenames((u2/tmp/pip-jy811g-build/setuptools/command/setopt.pyufinalize_optionshs   uoption_base.finalize_optionsN(u global-configugu0save options to the site-wide distutils.cfg file(u user-configuuu7save options to the current user's pydistutils.cfg file(u filename=ufu-configuration file to use (default=setup.cfg)(u__name__u __module__u __qualname__u__doc__u user_optionsuboolean_optionsuinitialize_optionsufinalize_options(u __locals__((u2/tmp/pip-jy811g-build/setuptools/command/setopt.pyu option_baseSs   cBsm|EeZdZdZdZddddgejZejd gZdd„Zdd„Z dd„Z dS(usetoptu#Save command-line options to a fileu1set an option in setup.cfg or another config fileucommand=ucucommand to set an option foruoption=uou option to setu set-value=usuvalue of the optionuremoveururemove (unset) the valuecCs5tj|ƒd|_d|_d|_d|_dS(N(u option_baseuinitialize_optionsuNoneucommanduoptionu set_valueuremove(uself((u2/tmp/pip-jy811g-build/setuptools/command/setopt.pyuinitialize_optionsŠs     usetopt.initialize_optionscCsftj|ƒ|jdks+|jdkr:tdƒ‚n|jdkrb|j rbtdƒ‚ndS(Nu%Must specify --command *and* --optionu$Must specify --set-value or --remove(u option_baseufinalize_optionsucommanduNoneuoptionuDistutilsOptionErroru set_valueuremove(uself((u2/tmp/pip-jy811g-build/setuptools/command/setopt.pyufinalize_options‘s  usetopt.finalize_optionscCs=t|jii|j|jjddƒ6|j6|jƒdS(Nu-u_(u edit_configufilenameu set_valueuoptionureplaceucommandudry_run(uself((u2/tmp/pip-jy811g-build/setuptools/command/setopt.pyurun˜s #u setopt.runN(ucommand=ucucommand to set an option for(uoption=uou option to set(u set-value=usuvalue of the option(uremoveururemove (unset) the value( u__name__u __module__u __qualname__u__doc__u descriptionu option_baseu user_optionsuboolean_optionsuinitialize_optionsufinalize_optionsurun(u __locals__((u2/tmp/pip-jy811g-build/setuptools/command/setopt.pyusetopt|s   F(u distutilsuosu setuptoolsuCommandudistutils.utilu convert_pathulogudistutils.errorsu__all__u config_fileuFalseu edit_configu option_baseusetopt(((u2/tmp/pip-jy811g-build/setuptools/command/setopt.pyus  ))