Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325
ó ð v_c@s²dZeZddlZddlZddlZddlZddlZddlZddl Z ddl m Z m Z y@ddl mZddlmZmZmZddlmZWnek rÏeZnXesddlmZmZmZddlmZnddlZddlZddlZddlZddlmZmZddlZeZ eZ!eZ"d Z#d Z$d Z%d Z&gZ'd e(fd„ƒYZ)d„Z*de)fd„ƒYZ+de)fd„ƒYZ,de,fd„ƒYZ-de+fd„ƒYZ.de+fd„ƒYZ/de)fd„ƒYZ0de0fd„ƒYZ1de)fd„ƒYZ2d e)fd!„ƒYZ3d"e)fd#„ƒYZ4d$e)fd%„ƒYZ5d&e5fd'„ƒYZ6d(e)fd)„ƒYZ7d*e7fd+„ƒYZ8d,e(fd-„ƒYZ9d.e9fd/„ƒYZ:d0e:fd1„ƒYZ;d2e9fd3„ƒYZ<d4e9fd5„ƒYZ=d6„Z>dd7„Z@d8„ZAd9d:„ZBd;„ZCd<„ZDd=„ZEd>„ZFdd?„ZGdd@„ZHdS(As2 Configuration parser and default values for yum. iÿÿÿÿN(tConfigPreProcessort varReplace(t INIConfig(tNoSectionErrort NoOptionErrort ParsingError(tRawConfigParser(t ConfigParser(tget_uuidtread_in_items_from_dot_dirtbesttpriorityitobjectstOptioncBs\eZdZd ed„Zd„Zd„Zd„Zd„Z d„Z d„Z d„Z RS( só This class handles a single Yum configuration file option. Create subclasses for each type of supported configuration option. Python descriptor foo (__get__ and __set__) is used to make option definition easy and concise. cCs8|jƒt|_|r+|j|ƒ}n||_dS(N(t _setattrnametFalsetinherittparsetdefault(tselfRt parse_default((s./usr/lib/python2.7/site-packages/yum/config.pyt__init__As   cCsdt|ƒ|_dS(smCalculate the internal attribute name used to store option state in configuration instances. s__opt%dN(tidt _attrname(R((s./usr/lib/python2.7/site-packages/yum/config.pyRHscCs#|dkr|St||jdƒS(sBCalled when the option is read (via the descriptor protocol). :param obj: The configuration instance to modify. :param objtype: The type of the config instance (not used). :return: The parsed option value or the default value if the value wasn't set in the configuration file. N(tNonetgetattrR(Rtobjtobjtype((s./usr/lib/python2.7/site-packages/yum/config.pyt__get__Ns cCstt|tƒr]y|j|ƒ}Wq]tk rY}td|j|t|ƒfƒ‚q]Xnt||j|ƒdS(s·Called when the option is set (via the descriptor protocol). :param obj: The configuration instance to modify. :param value: The value to set the option to. sError parsing "%s = %r": %sN(t isinstancet basestringRt ValueErrort_optnametstrtsetattrR(RRtvaluete((s./usr/lib/python2.7/site-packages/yum/config.pyt__set__\s cCs,||_t||jtj|jƒƒdS(sèInitialise the option for a config instance. This must be called before the option can be set or retrieved. :param obj: :class:`BaseConfig` (or subclass) instance. :param name: Name of the option. N(R R"RtcopyR(RRtname((s./usr/lib/python2.7/site-packages/yum/config.pytsetupls cCstj|ƒ}|jƒ|S(s|Return a safe copy of this :class:`Option` instance. :return: a safe copy of this :class:`Option` instance (R&R(Rtnew((s./usr/lib/python2.7/site-packages/yum/config.pytclonevs cCs|S(s Parse the string value to the :class:`Option`'s native value. :param s: raw string value to parse :return: validated native value :raise: ValueError if there was a problem parsing the string. Subclasses should override this ((Rts((s./usr/lib/python2.7/site-packages/yum/config.pyRscCs t|ƒS(s Convert the :class:`Option`'s native value to a string value. This does the opposite of the :func:`parse` method above. Subclasses should override this. :param value: native option value :return: string representation of input (R!(RR#((s./usr/lib/python2.7/site-packages/yum/config.pyttostring‰sN( t__name__t __module__t__doc__RRRRRR%R(R*RR,(((s./usr/lib/python2.7/site-packages/yum/config.pyR 9s    cCs|jƒ}t|_|S(sClone an :class:`Option` instance for the purposes of inheritance. The returned instance has all the same properties as the input :class:`Option` and shares items such as the default value. Use this to avoid redefinition of reused options. :param option_obj: :class:`Option` instance to inherit :return: New :class:`Option` instance inherited from the input (R*tTrueR(t option_objt new_option((s./usr/lib/python2.7/site-packages/yum/config.pytInherit“s  t ListOptioncBs/eZdZded„Zd„Zd„ZRS(s'An option containing a list of strings.cCs2|dkrg}ntt|ƒj||ƒdS(N(RtsuperR4R(RRR((s./usr/lib/python2.7/site-packages/yum/config.pyR£s  cCsŒ|jddƒ}|jddƒ}g}x[|jƒD]M}|jdƒrw|jddƒ}|jt|ƒƒq7n|j|ƒq7W|S(sConvert a string from the config file to a workable list, parses globdir: paths as foo.d-style dirs. :param s: The string to be converted to a list. Commas and whitespace are used as separators for the list :return: *s* converted to a list s t t,sglob:t(treplacetsplitt startswithtextendR tappend(RR+tresultstitemtthisglob((s./usr/lib/python2.7/site-packages/yum/config.pyR¨s cCs dj|ƒS(sÈConvert a list of to a string value. This does the opposite of the :func:`parse` method above. :param value: a list of values :return: string representation of input s (tjoin(RR#((s./usr/lib/python2.7/site-packages/yum/config.pyR,¾sN(R-R.R/RRRRR,(((s./usr/lib/python2.7/site-packages/yum/config.pyR4 s t UrlOptioncBs2eZdZdd ed„Zd„Zd„ZRS( sMThis option handles lists of URLs with validation of the URL scheme. thttptftptfilethttpscCs,tt|ƒj|ƒ||_||_dS(N(R5RBRtschemest allow_none(RRRGRH((s./usr/lib/python2.7/site-packages/yum/config.pyRÌs cCs�|jƒ}|jƒdkr:|jr+dStdƒ‚ntj|ƒ\}}}}}}||jkr‰td|jƒ|fƒ‚n|S(sParse a url to make sure that it is valid, and in a scheme that can be used. :param url: a string containing the url to parse :return: *url* if it is valid :raises: :class:`ValueError` if there is an error parsing the url t_none_s"_none_" is not a valid valuesURL must be %s not "%s"(tstriptlowerRHRturlparseRGt _schemelist(RturlR+tbtptqtfto((s./usr/lib/python2.7/site-packages/yum/config.pyRÒs  !cCsbt|jƒdkrdSt|jƒdkr9|jdSddj|jd ƒ|jdfSdS(s;Return a user friendly list of the allowed schemes itemptyis%s or %ss, iÿÿÿÿN(tlenRGRA(R((s./usr/lib/python2.7/site-packages/yum/config.pyRMês  N(RCRDsfileRF(R-R.R/RRRRRM(((s./usr/lib/python2.7/site-packages/yum/config.pyRBÇs   t ProxyOptioncBseZdZd„ZRS(s4 Just like URLOption but accept "libproxy" too. cCs,|jƒjƒdkrdStj||ƒS(Ntlibproxy(RJRKRBR(Rtproxy((s./usr/lib/python2.7/site-packages/yum/config.pyR÷s(R-R.R/R(((s./usr/lib/python2.7/site-packages/yum/config.pyRVôst UrlListOptioncBs)eZdZdded„Zd„ZRS( sMOption for handling lists of URLs with validation of the URL scheme. RCRDRERFcCs/tt|ƒj||ƒtd|ƒ|_dS(NRG(R5RYRRBt _urloption(RRRGR((s./usr/lib/python2.7/site-packages/yum/config.pyRscCsÿg}|jddƒ}|jddƒ}gtj|ƒD]}|jddƒ^q:}g}xU|D]M}|jdƒr¥|jddƒ}|jt|ƒƒqen|j|ƒqeWxBtt|ƒj dj |ƒƒD]}|j|j j |ƒƒqØW|S(s,Parse a string containing multiple urls into a list, and ensure that they are in a scheme that can be used. :param s: the string to parse :return: a list of strings containing the urls in *s* :raises: :class:`ValueError` if there is an error parsing the urls s R6R7s%20sglob:R8( R9tshlexR:R;R<R R=R5RYRRARZ(RR+toutR?titemsttmpR@RN((s./usr/lib/python2.7/site-packages/yum/config.pyRs. (N(shttpsftpsfileshttps(R-R.R/RRRR(((s./usr/lib/python2.7/site-packages/yum/config.pyRYüs tWildListOptioncBseZdZd„ZRS(suAn option containing a list of strings that supports shell-style wildcard matching in membership test operations.cCs8dtfd„ƒY}tt|ƒj|ƒ}||ƒS(NtWildListcBseZd„ZRS(cs-tˆtƒstSt‡fd†|DƒƒS(Nc3s!|]}tjˆ|ƒVqdS(N(tfnmatch(t.0RP(R?(s./usr/lib/python2.7/site-packages/yum/config.pys )s(RRRtany(RR?((R?s./usr/lib/python2.7/site-packages/yum/config.pyt __contains__&s(R-R.Rd(((s./usr/lib/python2.7/site-packages/yum/config.pyR`%s(tlistR5R_R(RR+R`tpatterns((s./usr/lib/python2.7/site-packages/yum/config.pyR$s(R-R.R/R(((s./usr/lib/python2.7/site-packages/yum/config.pyR_ st IntOptioncBs)eZdZdddd„Zd„ZRS(s(An option representing an integer value.cCs,tt|ƒj|ƒ||_||_dS(N(R5RgRt _range_mint _range_max(RRt range_mint range_max((s./usr/lib/python2.7/site-packages/yum/config.pyR1s cCs–yt|ƒ}Wn%ttfk r7}tdƒ‚nX|jdk re||jkretdƒ‚n|jdk r’||jkr’tdƒ‚n|S(sÒParse a string containing an integer. :param s: the string to parse :return: the integer in *s* :raises: :class:`ValueError` if there is an error parsing the integer sinvalid integer valuesout of range integer valueN(tintRt TypeErrorRiRRh(RR+tvalR$((s./usr/lib/python2.7/site-packages/yum/config.pyR6sN(R-R.R/RRR(((s./usr/lib/python2.7/site-packages/yum/config.pyRg.stPositiveIntOptioncBs,eZdZddddd„Zd„ZRS(sdAn option representing a positive integer value, where 0 can have a special representation. icCs)tt|ƒj|||ƒ||_dS(N(R5RoRt_names0(RRRjRkt names_of_0((s./usr/lib/python2.7/site-packages/yum/config.pyRLscCs)||jkrdStt|ƒj|ƒS(sParse a string containing a positive integer, where 0 can have a special representation. :param s: the string to parse :return: the integer in *s* :raises: :class:`ValueError` if there is an error parsing the integer i(RpR5RoR(RR+((s./usr/lib/python2.7/site-packages/yum/config.pyRQs N(R-R.R/RRR(((s./usr/lib/python2.7/site-packages/yum/config.pyRoHs  t SecondsOptioncBs9eZdZid d6d d6dd6dd6Zd„ZRS( sÝAn option representing an integer value of seconds, or a human readable variation specifying days, hours, minutes or seconds until something happens. Works like :class:`BytesOption`. Note that due to historical president -1 means "never", so this accepts that and allows the word never, too. Valid inputs: 100, 1.5m, 90s, 1.2d, 1d, 0xF, 0.1, -1, never. Invalid inputs: -10, -0.1, 45.6Z, 1d6h, 1day, 1y. Return value will always be an integer i<itdthtmiR+cCst|ƒdkr!tdƒ‚n|dks9|dkr=dS|djƒr˜|d }|djƒ}|jj|d ƒ}|s¤td|ƒ‚q¤n |}d}yt|ƒ}Wn%ttfk rÛ}tdƒ‚nX|dkr÷td ƒ‚nt ||ƒS( s§Parse a string containing an integer value of seconds, or a human readable variation specifying days, hours, minutes or seconds until something happens. Works like :class:`BytesOption`. Note that due to historical president -1 means "never", so this accepts that and allows the word never, too. Valid inputs: 100, 1.5m, 90s, 1.2d, 1d, 0xF, 0.1, -1, never. Invalid inputs: -10, -0.1, 45.6Z, 1d6h, 1day, 1y. :param s: the string to parse :return: an integer representing the number of seconds specified by *s* :raises: :class:`ValueError` if there is an error parsing the string isno value specifieds-1tneveriÿÿÿÿsunknown unit '%s's invalid valueis!seconds value may not be negativeN( RURtisalphaRKtMULTStgetRtfloatRmRl(RR+tntunittmultR$((s./usr/lib/python2.7/site-packages/yum/config.pyRls&  ii€Qi(R-R.R/RxR(((s./usr/lib/python2.7/site-packages/yum/config.pyRr^s "t BoolOptioncBs eZdZd„Zd„ZRS(shAn option representing a boolean value. The value can be one of 0, 1, yes, no, true, or false. cCs<|jƒ}|d krtS|d kr,tStdƒ‚dS( s„Parse a string containing a boolean value. 1, yes, and true will evaluate to True; and 0, no, and false will evaluate to False. Case is ignored. :param s: the string containing the boolean value :return: the boolean value contained in *s* :raises: :class:`ValueError` if there is an error in parsing the boolean value t0tnotfalset1tyesttruesinvalid boolean valueN(RR€R�(R‚syesR„(RKRR0R(RR+((s./usr/lib/python2.7/site-packages/yum/config.pyR™s   cCs|r dSdSdS(sæConvert a boolean value to a string value. This does the opposite of the :func:`parse` method above. :param value: the boolean value to convert :return: a string representation of *value* R‚RN((RR#((s./usr/lib/python2.7/site-packages/yum/config.pyR,«s(R-R.R/RR,(((s./usr/lib/python2.7/site-packages/yum/config.pyR~”s t FloatOptioncBseZdZd„ZRS(s-An option representing a numeric float value.cCs>yt|jƒƒSWn#ttfk r9tdƒ‚nXdS(sParse a string containing a numeric float value. :param s: a string containing a numeric float value to parse :return: the numeric float value contained in *s* :raises: :class:`ValueError` if there is an error parsing float value sinvalid float valueN(RzRJRRm(RR+((s./usr/lib/python2.7/site-packages/yum/config.pyRºs(R-R.R/R(((s./usr/lib/python2.7/site-packages/yum/config.pyR…·stSelectionOptioncBs)eZdZddid„Zd„ZRS(sFHandles string values where only specific values are allowed. cCs,tt|ƒj|ƒ||_||_dS(N(R5R†Rt_allowedt_mapper(RRtallowedtmapper((s./usr/lib/python2.7/site-packages/yum/config.pyRËs cCsE||jkr|j|}n||jkrAtd|ƒ‚n|S(sÒParse a string for specific values. :param s: the string to parse :return: *s* if it contains a valid value :raises: :class:`ValueError` if there is an error parsing the values s"%s" is not an allowed value(RˆR‡R(RR+((s./usr/lib/python2.7/site-packages/yum/config.pyRÐs N((R-R.R/RRR(((s./usr/lib/python2.7/site-packages/yum/config.pyR†ÇstCaselessSelectionOptioncBseZdZd„ZRS(svMainly for compatibility with :class:`BoolOption`, works like :class:`SelectionOption` but lowers input case. cCstt|ƒj|jƒƒS(sÒParse a string for specific values. :param s: the string to parse :return: *s* if it contains a valid value :raises: :class:`ValueError` if there is an error parsing the values (R5R‹RRK(RR+((s./usr/lib/python2.7/site-packages/yum/config.pyRás(R-R.R/R(((s./usr/lib/python2.7/site-packages/yum/config.pyR‹Ýst BytesOptioncBs2eZdZidd6dd6dd6Zd„ZRS( svAn option representing a value in bytes. The value may be given in bytes, kilobytes, megabytes, or gigabytes. itkRutgcCsåt|ƒdkr!tdƒ‚n|djƒr||d }|djƒ}|jj|dƒ}|sˆtd|ƒ‚qˆn |}d}yt|ƒ}Wn!tk r»td|ƒ‚nX|dkr×tdƒ‚nt||ƒS( sFParse a friendly bandwidth option to bytes. The input should be a string containing a (possibly floating point) number followed by an optional single character unit. Valid units are 'k', 'M', 'G'. Case is ignored. The convention that 1k = 1024 bytes is used. Valid inputs: 100, 123M, 45.6k, 12.4G, 100K, 786.3, 0. Invalid inputs: -10, -0.1, 45.6L, 123Mb. :param s: the string to parse :return: the number of bytes represented by *s* :raises: :class:`ValueError` if the option can't be parsed isno value specifiediÿÿÿÿsunknown unit '%s'scouldn't convert '%s' to numberisbytes value may not be negativeN( RURRwRKRxRyRRzRl(RR+R{R|R}((s./usr/lib/python2.7/site-packages/yum/config.pyRõs"   iii@(R-R.R/RxR(((s./usr/lib/python2.7/site-packages/yum/config.pyRŒês  tThrottleOptioncBseZdZd„ZRS(sjAn option representing a bandwidth throttle value. See :func:`parse` for acceptable input values. cCs²t|ƒdkr!tdƒ‚n|ddkrž|d }yt|ƒ}Wn!tk rntd|ƒ‚nX|dks‡|dkr–tdƒ‚n|d Stj||ƒSd S( s(Get a throttle option. Input may either be a percentage or a "friendly bandwidth value" as accepted by the :class:`BytesOption`. Valid inputs: 100, 50%, 80.5%, 123M, 45.6k, 12.4G, 100K, 786.0, 0. Invalid inputs: 100.1%, -4%, -500. :param s: the string to parse :return: the bandwidth represented by *s*. The return value will be an int if a bandwidth value was specified, and a float if a percentage was given :raises: :class:`ValueError` if input can't be parsed isno value specifiediÿÿÿÿt%scouldn't convert '%s' to numberiidspercentage is out of rangegY@N(RURRzRŒR(RR+R{((s./usr/lib/python2.7/site-packages/yum/config.pyRs  (R-R.R/R(((s./usr/lib/python2.7/site-packages/yum/config.pyR�st BaseConfigcBs�eZdZd„Zd„Zd d„Zed„Ze eƒZd„Z e e ƒZ d„Z d„Z d d d„Z d d „Zd „ZRS( sgBase class for storing configuration definitions. Subclass when creating your own definitions. cCsCd|_x3|jƒD]%}|j|ƒ}|j||ƒqWdS(N(Rt_sectiontiterkeyst optionobjR((RR'toption((s./usr/lib/python2.7/site-packages/yum/config.pyRAs cCs[g}|jd|jƒx1|jƒD]#\}}|jd||fƒq'Wdj|ƒS(Ns[%s]s%s: %rs (R=R’t iteritemsRA(RR\R'R#((s./usr/lib/python2.7/site-packages/yum/config.pyt__str__Hs cCsÓ||_||_|j|ƒr9t|j|ƒƒ}n tƒ}xŠ|jƒD]|}|j|ƒ}d}||kr‹|j||ƒ}n!|r¬|j r¬t ||ƒ}n|dk rOt |||ƒqOqOWdS(sCSet option values from an INI file section. :param parser: :class:`ConfigParser` instance (or subclass) :param section: INI file section to read use :param parent: Optional parent :class:`BaseConfig` (or subclass) instance to use when doing option value inheritance N( tcfgR’t has_sectiontsettoptionsR“R”RRyRRR"(RtparsertsectiontparenttoptsR'R•R#((s./usr/lib/python2.7/site-packages/yum/config.pytpopulateOs     cCs<t||dƒ}t|tƒr%|S|r4t‚ndSdS(sÏReturn the :class:`Option` instance for the given name. :param cls: the class to return the :class:`Option` instance from :param name: the name of the :class:`Option` instance to return :param exceptions: defines what action to take if the specified :class:`Option` instance does not exist. If *exceptions* is True, a :class:`KeyError` will be raised. If *exceptions* is False, None will be returned :return: the :class:`Option` instance specified by *name*, or None if it does not exist and *exceptions* is False :raises: :class:`KeyError` if the specified :class:`Option` does not exist, and *exceptions* is True N(RRRR tKeyError(tclsR't exceptionsR((s./usr/lib/python2.7/site-packages/yum/config.pyR”ls  cCs|j|dtƒdk S(sìReturn True if the given name refers to a defined option. :param cls: the class to find the option in :param name: the name of the option to search for :return: whether *name* specifies a defined option R£N(R”RR(R¢R'((s./usr/lib/python2.7/site-packages/yum/config.pytisoptionƒsccs2x+t|ƒD]}|j|ƒr |Vq q WdS(s7Yield the names of all defined options in the instance.N(tdirR¤(RR'((s./usr/lib/python2.7/site-packages/yum/config.pyR“�sccs/x(|jƒD]}|t||ƒfVq WdS(sŽYield (name, value) pairs for every option in the instance. The value returned is the parsed, validated option value. N(R“R(RR'((s./usr/lib/python2.7/site-packages/yum/config.pyR–”sc CsÝ|dkr6|jdkr*tdƒ‚n|j}n|jj|ƒ}x~|jƒD]p\}}|j|ƒ}|dks£||ks£|j|ks£||krU|jj|||j |ƒƒqUqUW|jj |ƒdS(sÅWrite out the configuration to a file-like object. :param fileobj: File-like object to write to :param section: Section name to use. If not specified, the section name used during parsing will be used :param always: A sequence of option names to always write out. Options not listed here will only be written out if they are at non-default values. Set to None to dump out all options s!not populated, don't know sectionN( RR’RR˜R›R–R”RRšR,twrite(RtfileobjR�talwayst cfgOptionsR'R#R•((s./usr/lib/python2.7/site-packages/yum/config.pyR¦�s  3&cCs0tjdtƒt||ƒr,t||ƒS|S(sCReturn the current value of the given option. :param option: string specifying the option to return the value of :param default: the value to return if the option does not exist :return: the value of the option specified by *option*, or *default* if it does not exist sxgetConfigOption() will go away in a future version of Yum. Please access option values as attributes or using getattr().(twarningstwarntDeprecationWarningthasattrR(RR•R((s./usr/lib/python2.7/site-packages/yum/config.pytgetConfigOption¶s  cCsFtjdtƒt||ƒr2t|||ƒntjd|‚dS(sÇSet the value of the given option to the given value. :param option: string specifying the option to set the value of :param value: the value to set the option to susetConfigOption() will go away in a future version of Yum. Please set option values as attributes or using setattr().sNo such option %sN(RªR«R¬R­R"tErrorst ConfigError(RR•R#((s./usr/lib/python2.7/site-packages/yum/config.pytsetConfigOptionÆs  N((R-R.R/RR—RR R0R”t classmethodR¤R“R–R¦R®R±(((s./usr/lib/python2.7/site-packages/yum/config.pyR‘<s          t StartupConfcBsÚeZdZedddƒZedddƒZeddgƒZedƒZ edƒZ e e ƒZ ed d gƒZed gƒZe e ƒZeƒZed ƒZed ƒZedƒZe eƒZe eƒZRS(s³Configuration option definitions for yum.conf's [main] section that are required early in the initialisation process or before the other [main] options can be parsed. iiüÿÿÿi issystem-release(releasever)sredhat-releaset/s/etc/yum/yum.confs/usr/share/yum-pluginss/usr/lib/yum-pluginss/etc/yum/pluginconf.dtLOG_USERs/dev/logs /var/lib/yum(R-R.R/Rgt debuglevelt errorlevelR4t distroverpkgR t installroottconfig_file_pathR~Rtpluginst pluginpathtpluginconfpatht gaftonmodet syslog_identtsyslog_facilityt syslog_devicet persistdirR0tskip_missing_names_on_installtskip_missing_names_on_update(((s./usr/lib/python2.7/site-packages/yum/config.pyR³Õs          tYumConfcBs©eZdZedddgƒZedddƒZeeƒZ e dƒZ eeƒZ eeƒZ e dƒZed d gƒZeƒZeƒZe eƒZed ed dldeƒZe ƒZe ƒZe ƒZe ƒZedddddddddddd d!g ƒZeedd"dd#d$gƒZeddddd%d d!gƒZe e!ƒZ"eƒZ#e ƒZ$eeƒZ%eeƒZ&eeƒZ'eeƒZ(eeƒZ)eeƒZ*eeƒZ+eeƒZ,ee-ƒZ.ee/ƒZ0ee-ƒZ1ee2ƒZ3eeƒZ4eeƒZ5eeƒZ6eeƒZ7eeƒZ8eeƒZ9eeƒZ:eeƒZ;ed&d gƒZ<e=e>dmƒZ?eeƒZ@eAd*ƒZBedƒZCeDdƒZEeFdƒZGeHd+dnd/id,d06d-d16ƒZIedddƒZJeeƒZKed"dd2d3d4ƒZLed5ddd3d6ƒZMed6ddƒZNe=d7doƒZOePdqƒZQe=d=drƒZRePdtƒZSeeƒZTeƒZUeeƒZVeeƒZWedBgƒZXe=dCduƒZYe=eZdvƒZ[e dFƒZ\e=dGdwd/i dHdI6dHdJ6dHdK6dHdL6d>dM6d>dN6d>d#6d>dO6dGdP6dGdQ6ƒZ]e dRƒZ^e dSƒZ_e dTƒZ`e dUƒZae dVƒZbe dWƒZce dXƒZde dYƒZee dTƒZfe dVƒZge dTƒZhe dRƒZie dTƒZje dRƒZkedZd[gƒZle ƒZmeeƒZne ƒZoe ƒZpeeƒZqeeƒZred\d]gƒZse d^ƒZted_d`eƒZueeƒZveeƒZweeƒZxeeƒZyeeƒZzeeƒZ{eeƒZ|eeƒZ}e=dadxd/idcdd6dad 6ƒZ~eeƒZeeƒZ€eeƒZ�edeƒZ‚ed6dded3d6ƒZƒedfd`eƒZ„e=dgdyƒZ…ed6ddgƒZ†eeƒZ‡eeƒZˆeeƒZ‰e=d#dzƒZŠgZ‹d{Z�dk„ZŽRS(|s„Configuration option definitions for yum.conf's [main] section. Note: see also options inherited from :class:`StartupConf` i Rqs iRjis/var/cache/yums/var/log/yum.logs/etc/yum/repos.ds/etc/yum.repos.dRRGRCRDRFtsocks4tsocks4atsocks5tsocks5hRHtkernels kernel-bigmemsinstallonlypkg(kernel)sinstallonlypkg(kernel-module)sinstallonlypkg(vm)skernel-enterprises kernel-smps kernel-debugskernel-unsupporteds kernel-sources kernel-devels kernel-PAEskernel-PAE-debugiRss kernel-BOOTt mandatorytcompatR tsimpleg>@R‰tipv4tipv6twhateverRŠt4t6iðÿÿÿRki€iKidtalltnonetpackagess lazy:packagesi<isread-only:presentRvsread-only:futuresread-only:pastis group:smalltsqlitetxmlR sVhttps://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=rawhide&component=yumtautoR¨tonRƒR‚R„toffR€R�tttysif-ttytbolds bold,yellowtnormalsbold,redsbold,underlines bold,bluesdim,cyansbold,underline,greent releasevertbasearchtyumtrpmtinfos%yum, glob:/etc/yum/protected.d/*.confRssingle-user-commandstuserstcommandstcmdsis0!*/swap !*/lv_swap glob:/etc/yum/fssnap.d/*.confRcs broken-setupssnapshot-failuret?cCsíd}d}xÚt|ƒD]Ì}|jd ƒr4qn||krFqntt||ƒtjƒrgqnt||ƒ}| rªt|ƒttƒtd ƒfkrªd }nt|ƒtjkrÑd j |ƒ}n|d||f}qW|S(s¹Return a string representing the values of all the configuration options. :return: a string representing the values of all the configuration options s[main] R˜tuidtyumvart progress_objt failure_objtdisable_excludestconfig_file_ageRºt_iR8s, s%s = %s (scfgsuidsyumvarRéRêsdisable_excludessconfig_file_agesconfig_file_path( R¥R;RRttypest MethodTypettypeRtListTypeRA(Rtoutputt excluded_varstattrtres((s./usr/lib/python2.7/site-packages/yum/config.pytdump­s" + (shttpsftpshttpsRÆRÇRÈRÉ(RÌR RÍ(RÎRÏRÐ(RÔRÕsalls lazy:packagesii`T(sneversread-only:futuresread-only:presentsread-only:pastii€Q(RÖR×(R sall(RØsneversalways(ssingle-user-commandsRãscommands(s broken-setupssnapshot-failuresanyRÔ(RRæN(�R-R.R/RotretriesRgtrecentR~R0t reset_niceR tcachedirt keepcachet usercachetlogfileR4treposdirRätexcludet__main_failovermethod_default__tfailovermethodRVRRXtproxy_usernametproxy_passwordtusernametpasswordtinstallonlypkgst"__main_installonly_limit_default__tinstallonly_limittkernelpkgnamesR_t__exactarchlist_default__t exactarchlistttsflagstoverride_install_langst assumeyestassumenot alwayspromptt exactarchttoleranttdiskspacechecktoverwrite_groupst keepalivet__pkgs_gpgcheck_default__tgpgcheckt__repo_gpgcheck_default__t repo_gpgchecktlocalpkg_gpgcheckt__payload_gpgcheck_default__tpayload_gpgcheckt obsoletestshowdupesfromrepostenabledtremove_leaf_onlytrepopkgsremove_leaf_onlyt enablegroupstenable_group_conditionalstgroupremove_leaf_onlytgroup_package_typesR†t__group_command_default__t group_commandtupgrade_group_objects_upgradeR…ttimeouttminrateRŒt bandwidthR�tthrottleR‹t ip_resolvetmax_connectionstftp_disable_epsvtdeltarpmtdeltarpm_percentagetdeltarpm_metadata_percentaget http_cachingRrtmetadata_expiretmetadata_expire_filtertmirrorlist_expiretrpm_check_debugRëtquery_install_excludest skip_brokentmdpolicytmddownloadpolicyt __main_multilib_policy_default__tmultilib_policytbugtracker_urltcolortcolor_list_installed_oldertcolor_list_installed_newertcolor_list_installed_reinstalltcolor_list_installed_extrat#color_list_installed_running_kerneltcolor_list_available_upgradetcolor_list_available_downgradetcolor_list_available_reinstalltcolor_list_available_installt#color_list_available_running_kerneltcolor_update_installedtcolor_update_localtcolor_update_remotetcolor_search_matchtui_repoid_varst sslcacertt sslverifyt sslclientcertt sslclientkeytssl_check_cert_permissionsthistory_recordthistory_record_packagest rpmverbositytprotected_packagestprotected_multilibt exit_on_locktloadts_ignoremissingtloadts_ignorerpmtloadts_ignorenewrpmt autosavetstclean_requirements_on_removetupgrade_requirements_on_installthistory_list_viewtrecheck_installed_requirestfssnap_automatic_pretfssnap_automatic_posttfssnap_automatic_keeptfssnap_percentagetfssnap_devicestfssnap_abort_on_errorstdepsolve_loop_limittautocheck_running_kerneltcheck_config_file_aget usr_w_checktshell_exit_statust _reposlistRt_pristine_cachedirRö(((s./usr/lib/python2.7/site-packages/yum/config.pyRÅìs$                                                                                                      tRepoConfcBs´eZdZeƒZd„ZeƒZee j ƒZ ee j ƒZ e ƒZ eƒZeƒZeƒZe ƒZe ƒZeƒZeƒZee jƒZee jƒZee jƒZee jƒZee jƒZee jƒZee jƒZee jƒZee jƒZee j ƒZ ee j!ƒZ!ee j"ƒZ"ee j#ƒZ#ee j$ƒZ$ee j%ƒZ%ee j&ƒZ&e'd ddddƒZ)ee j*ƒZ*ee j+ƒZ+ee j,ƒZ,ee j-ƒZ-ee j.ƒZ.ee j/ƒZ/ee j0ƒZ0ee j1ƒZ1e'dƒZ2ee j3ƒZ3ee j4ƒZ4ee j5ƒZ5ee j6ƒZ6ee j7ƒZ7e8e9ƒZ:e8e;ƒZ<ee j=ƒZ=ee j>ƒZ>e'ddddd ƒZ?RS( s4Option definitions for repository INI file sections.ccsf|j}t|tƒs$tƒ}n|sI|jttj|ƒƒƒnx|jD] }|VqSWdS(s7Yield the names of all defined options in the instance.N(t_RepoConf__cached_keysRRoRštupdateReR‘R“(RtckR'((s./usr/lib/python2.7/site-packages/yum/config.pyR“Ís  RjiRkidièiPiicN(@R-R.R/RšRpR“R R'R3RÅRRûRYtbaseurlRBt mirrorlisttmetalinktmediaidtgpgkeytgpgcakeyR4Rÿt includepkgsRXRRR÷RRRRRRR"R*R+R,R)R-RgRR1R2R/R3R4R5R6R:R;tcostRORPRQRRRSR~Rtskip_if_unavailableR0tasyncRNRjtcompare_providers_priority(((s./usr/lib/python2.7/site-packages/yum/config.pyRoÉsd             tVersionGroupConfcBs#eZdZeƒZeeƒZRS(s&Option definitions for version groups.(R-R.R/R4tpkglistR~Rtrun_with_packages(((s./usr/lib/python2.7/site-packages/yum/config.pyR~s cCsÌy|d}tj|ƒ}Wntk r6g}nXxŽ|D]†}tjj||ƒr`q>ny=t||ƒjƒ}|rœ|ddkrœ|d }nWnttfk r¹q>nX|||WdS(Ns/etc/yum/vars/iÿÿÿÿs (tostlistdirtOSErrortpathtislinktopentreadlinetIOError(tyumvarstroott dir_fsvarstfsvarstfsvarRn((s./usr/lib/python2.7/site-packages/yum/config.pyt _read_yumvars s    c Cs=|tj_tƒ}||_tƒ}t|ƒ}tƒ}t||jƒ||_||_ y|j |ƒWn&t k r—}t j d|ƒ‚nX|j|dƒx3|jD](}|ddks²t j dƒ‚q²q²W||_|dkr t|j|jƒ}n||_d|j|jf} t| ƒ|_|S(s«Parse Yum's main configuration file and return a :class:`StartupConf` instance. This is required in order to access configuration settings required as Yum starts up. :param configfile: the path to yum.conf :param root: the base path to use for installation (typically '/') :return: A :class:`StartupConf` instance :raises: :class:`Errors.ConfigError` if a problem is detected with while parsing. sParsing file failed: %stmainiR´s(All plugin search paths must be absolutes %s/%s/uuidN(R³R¹RRºRRt _getEnvVarRŽt_varsR‰treadfpRR¯R°R R¼t_parserRt _getsysverR¸RÞRÂRtuuid( t configfileRŠRÞt startupconfRœt confpp_objR‰R$R„tuuidfile((s./usr/lib/python2.7/site-packages/yum/config.pytreadStartupConfig2s2            csX|j‰ˆjd|jƒˆjd|jƒˆjd|jƒˆjd|jƒtƒ}|j|jdƒ|j |_ ‡fd†}t j j |j kr´tˆ|j ƒnxd D]}|||ƒq»Wˆ|_d |_d |_d |_|j|_tjj|jƒr3tj|jƒd |_n d |_|j|_|j|_|S(s³Parse Yum's main configuration file :param startupconf: :class:`StartupConf` instance as returned by readStartupConfig() :return: Populated :class:`YumConf` instance RßtarchRÞR•R�csQt||ƒ}|j|}|jddƒ}t|ˆƒ}t|||ƒdS(Ns//R´(RR¹R9RR"(tyumconfR•R„tir_path(R‰(s./usr/lib/python2.7/site-packages/yum/config.pyt_apply_installroot{s  RúRýRÂii(scachedirslogfiles persistdirN(R‰t setdefaultRßR›RÞR•RÅR R“RúRnR³R¹RRŽRèRçtcacheRt progess_objRºR�R„texistststatRìR¶R·(R—RœRžR•((R‰s./usr/lib/python2.7/site-packages/yum/config.pytreadMainConfigcs0            s/etc/yum/version-groups.confcCs‘tƒ}t|ƒ}y|j|ƒWn&tk rN}tjd|ƒ‚nXi}x5|jƒD]'}tƒ||<||j||ƒqbW|S(s¨Parse the configuration file for version groups. :param configfile: the configuration file to read :return: a dictionary containing the parsed options sParsing file failed: %s( RRR’RR¯R°tsectionsR~R (R–RœR˜R$tretR�((s./usr/lib/python2.7/site-packages/yum/config.pytreadVersionGroupsConfig¡s   cCsAy|j||ƒ}Wnttfk r3|jSX|j|ƒS(s¥Convenience function to retrieve a parsed and converted value from a :class:`ConfigParser`. :param conf: ConfigParser instance or similar :param section: Section name :param name: :class:`Option` name :param option: :class:`Option` instance to use for conversion :return: The parsed value or default if value was not present :raises: :class:`ValueError` if the option could not be parsed (RyRRRR(tconfR�R'R•Rn((s./usr/lib/python2.7/site-packages/yum/config.pyt getOptionµs cCs\i}xOtddƒD]>}d|}tjj|dƒ}|r|||jƒn|dk rz||krzq>n|j|ƒ}|j|ƒ}|||krÙ|t ||||j ƒkrÙ|||}n||krú|j |krúq>n||||Wt |j dƒ} | jt|ƒƒ| jƒdS(sÚWrite changes in a repo object back to a .repo file. :param repo: the Repo Object to write back out :param only: list of attributes to work on. If *only* is None, all options will be written out Ntw(RÍRÔR˜R›RR–RR”R,RRèRRERÌR¦R!tclose( RÐtonlyRÑRÒR©R'R#R•tovaluetfp((s./usr/lib/python2.7/site-packages/yum/config.pytwriteRawRepoFiles(  cCsptt|ƒƒ}|}||jkrbx8|jjƒD]$} t| |ƒ|kr7| }q7q7Wn||ƒ} xÏ|ƒD]Ä\} } | dkr–qxn|dk r´| |kr´qxn|| ƒ} | j| ƒ}| ||kr |t||| |ƒkr ||| }n| | kr.| j| kr.qxn|||| s~              Z '-$6# 0"™ÝQ  1 >   3  (