Ñò 9ÕÒTc@@s1dZddklZddkZddkZddkZddkZddkZddkl Z ddk l Z ddk l Z ddklZlZlZlZddklZlZeid eiƒZd eifd „ƒYZd efd „ƒYZdeifd„ƒYZdefd„ƒYZdS(sBase option parser setupi(tabsolute_importN(t strtobool(t string_types(t configparser(tlegacy_config_filetconfig_basenametrunning_under_virtualenvtsite_config_files(tappdirstget_terminal_sizes^PIP_tPrettyHelpFormattercB@s\eZdZd„Zd„Zddd„Zd„Zd„Zd„Zd „Z d „Z RS( s4A prettier/less verbose help formatter for optparse.cO@sCd|ds, (t_format_option_strings(Rtoption((s4/usr/lib/python2.6/vendor-packages/pip/baseparser.pytformat_option_strings!ss <%s>s, cC@s¿g}|io|i|idƒn|io|i|idƒnt|ƒdjo|id|ƒn|iƒo4|ip |iiƒ}|i||iƒƒndi |ƒS(s Return a comma-separated list of option strings and metavars. :param option: tuple of (short opt, long opt), e.g: ('-f', '--format') :param mvarfmt: metavar format string - evaluated as mvarfmt % metavar :param optsep: separator iit( t _short_optstappendt _long_optstlentinsertt takes_valuetmetavartdesttlowertjoin(RRtmvarfmttoptseptoptsR((s4/usr/lib/python2.6/vendor-packages/pip/baseparser.pyR$s   cC@s|djodS|dS(NtOptionsRs: ((Rtheading((s4/usr/lib/python2.6/vendor-packages/pip/baseparser.pytformat_heading;s cC@s#d|iti|ƒdƒ}|S(sz Ensure there is only one newline between usage and the first heading if there is no description. s Usage: %s s (t indent_linesttextwraptdedent(Rtusagetmsg((s4/usr/lib/python2.6/vendor-packages/pip/baseparser.pyt format_usage@scC@s}|ont|idƒo d}nd}|idƒ}|iƒ}|iti|ƒdƒ}d||f}|SdSdS(NtmaintCommandst Descriptions s s%s: %s R(thasattrtparsertlstriptrstripR(R)R*(Rt descriptiontlabel((s4/usr/lib/python2.6/vendor-packages/pip/baseparser.pytformat_descriptionHs  cC@s|o|SdSdS(NR((Rtepilog((s4/usr/lib/python2.6/vendor-packages/pip/baseparser.pyt format_epilogZscC@s;g}|idƒD]}|||q~}di|ƒS(Ns (tsplitR!(Rttexttindentt_[1]tlinet new_lines((s4/usr/lib/python2.6/vendor-packages/pip/baseparser.pyR(as.( t__name__t __module__t__doc__RRRR'R-R7R9R((((s4/usr/lib/python2.6/vendor-packages/pip/baseparser.pyR s      tUpdatingDefaultsHelpFormattercB@seZdZd„ZRS(s£Custom help formatter for use in ConfigOptionParser that updates the defaults before expanding them, allowing them to show up correctly in the help listingcC@s=|idj o|ii|iiƒntii||ƒS(N(R2tNonetupdate_defaultstdefaultsRRtexpand_default(RR((s4/usr/lib/python2.6/vendor-packages/pip/baseparser.pyRGks(R@RARBRG(((s4/usr/lib/python2.6/vendor-packages/pip/baseparser.pyRCfstCustomOptionParsercB@s eZd„Zed„ƒZRS(cO@s6|i||Ž}|iiƒ|ii||ƒ|S(s*Insert an OptionGroup at a given position.(tadd_option_groupt option_groupstpopR(RtidxRRtgroup((s4/usr/lib/python2.6/vendor-packages/pip/baseparser.pytinsert_option_grouprs cC@s2|i}x!|iD]}|i|iƒqW|S(s<Get a list of all options, including those in option groups.(t option_listRJtextend(Rtresti((s4/usr/lib/python2.6/vendor-packages/pip/baseparser.pytoption_list_all{s   (R@RARNtpropertyRS(((s4/usr/lib/python2.6/vendor-packages/pip/baseparser.pyRHqs tConfigOptionParsercB@seeZdZeZd„Zd„Zd„Zd„Zd„Z d„Z d„Z d„Z d „Z RS( ssCustom option parser which updates its defaults by checking the configuration files and environmental variablescO@s‘tiƒ|_|idƒ|_|idtƒ|_|iƒ|_|io|ii |iƒn|ipt ‚t i i |||ŽdS(Ntnametisolated(RtRawConfigParsertconfigRKRVtFalseRWtget_config_filestfilestreadtAssertionErrorRt OptionParserR(RRR((s4/usr/lib/python2.6/vendor-packages/pip/baseparser.pyR‹s cC@sïtiidtƒ}|tijogSttƒ}|ipa|o$tii |ƒo|i |ƒq¡|i t ƒ|i tii t idƒtƒƒntƒo@tii titƒ}tii |ƒo|i |ƒqën|S(NtPIP_CONFIG_FILEtpip(tostenvirontgetRZtdevnulltlistRRWtpathtexistsRRR!Rtuser_config_dirRRtsystprefix(Rt config_fileR\tvenv_config_file((s4/usr/lib/python2.6/vendor-packages/pip/baseparser.pyR[•s&        cC@sIy|i||ƒSWn.tij o}d|GHtidƒnXdS(Ns*An error occurred during configuration: %si(t check_valueRtOptionValueErrorRjtexit(RRtkeytvaltexc((s4/usr/lib/python2.6/vendor-packages/pip/baseparser.pyt check_default½s  c C@sJh}x6d|ifD]%}|i|i|i|ƒƒƒqW|ip |i|i|iƒƒƒnxÚ|iƒD]Ì\}}|i|ƒ}|dj o¤|pqvn|i djot |ƒ}n|i djo@|i ƒ}g}|D]}||i |||ƒqó~}n|i |||ƒ}|||i s      "O