eaiovnaovbqoebvqoeavibavo  fc@sddlmZddlmZddlmZddlZddlZddlmZddl m Z ddd d gZ d d Z e d Zd e fdYZd efdYZdS(i(t convert_path(tlog(tDistutilsOptionErrorN(t configparser(tCommandt config_filet edit_configt option_basetsetopttlocalcCs|dkrdS|dkr>tjjtjjtjdS|dkrtjdkr_dpbd}tjjtd |St d |d S( sGet the filename of the distutils, local, global, or per-user config `kind` must be one of "local", "global", or "user" R s setup.cfgtglobals distutils.cfgtusertposixt.ts~/%spydistutils.cfgs7config_file() type must be 'local', 'global', or 'user'N( tostpathtjointdirnamet distutilst__file__tnamet expanduserRt ValueError(tkindtdot((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyRs    c Cstjd|tj}|j|gx+|jD]\}}|d krttjd|||j|q9|j |stjd|||j |nx|jD]\}}|d kr&tjd||||j |||j |sRtjd|||j|qRqtjd|||||j |||qWq9Wtjd||st|d}|j|Wd QXnd S( sYEdit 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. sReading configuration from %ssDeleting section [%s] from %ssAdding new section [%s] to %ssDeleting %s.%s from %ss#Deleting empty [%s] section from %ssSetting %s.%s to %r in %ss Writing %stwN(RtdebugRtRawConfigParsertreadtitemstNonetinfotremove_sectiont has_sectiont add_sectiont remove_optiontoptionstsettopentwrite( tfilenametsettingstdry_runtoptstsectionR%toptiontvaluetf((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyR!s8      cBs;eZdZd d dgZddgZd Zd ZRS(s<Abstract base class for commands that mess with config filess global-configtgs0save options to the site-wide distutils.cfg files user-configtus7save options to the current user's pydistutils.cfg files filename=R0s-configuration file to use (default=setup.cfg)cCsd|_d|_d|_dS(N(Rt global_configt user_configR)(tself((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pytinitialize_options\s  cCsg}|jr%|jtdn|jrD|jtdn|jdk rf|j|jn|s|jtdnt|dkrtd|n|\|_dS(NR R R is/Must specify only one configuration file option(R3tappendRR4R)RtlenR(R5t filenames((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pytfinalize_optionsas   (s global-configR1s0save options to the site-wide distutils.cfg file(s user-configR2s7save options to the current user's pydistutils.cfg file(s filename=R0s-configuration file to use (default=setup.cfg)(t__name__t __module__t__doc__t user_optionstboolean_optionsR6R:(((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyRLs   cBsXeZdZdZddddgejZejd gZdZdZdZ RS(s#Save command-line options to a files1set an option in setup.cfg or another config filescommand=tcscommand to set an option forsoption=tos option to sets set-value=tssvalue of the optiontremovetrsremove (unset) the valuecCs5tj|d|_d|_d|_d|_dS(N(RR6RtcommandR.t set_valueRC(R5((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyR6s     cCsftj||jdks+|jdkr:tdn|jdkrb|j rbtdndS(Ns%Must specify --command *and* --options$Must specify --set-value or --remove(RR:RERR.RRFRC(R5((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyR:s  cCs=t|jii|j|jjdd6|j6|jdS(Nt-t_(RR)RFR.treplaceRER+(R5((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pytruns #(scommand=R@scommand to set an option for(soption=RAs option to set(s set-value=RBsvalue of the option(RCRDsremove (unset) the value( R;R<R=t descriptionRR>R?R6R:RJ(((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyRss   (tdistutils.utilRRRtdistutils.errorsRRtsetuptools.extern.six.movesRt setuptoolsRt__all__RtFalseRRR(((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyts    +'