v_c@sddlZddlZddlZddlmZddlZddlmZdej fdYZ dZ dZ ie d6e d 6Z d e Zd e Zd e Zd ddYZdddYZdddYZdZedkrendS(iN(t format_number(tcElementTree_xmlparsetMetaLinkRepoErrorParseFailcBseZdZRS(s< An exception thrown for an unparsable MetaLinkRepoMD file. (t__name__t __module__t__doc__(((s0/usr/lib/python2.7/site-packages/yum/metalink.pyRsshttp://www.metalinker.org/s%http://fedorahosted.org/mirrormanagertmltmms{%(ml)s}files/{%(ml)s}files${%(mm)s}alternates/{%(mm)s}alternates{%(ml)s}resourcest MetaLinkFilecBs}eZdZdZdZdZeeZdZeeZ dZ ee Z dZ ee Z dZRS(s1 Parse the file metadata out of a metalink file. cCsQtddddg}x|D]}tr.q|jdtkrVt|j|_q|jdtkr~t|j|_q|jdtkri|_ x[|D]P}|jdtkr|j d |kr|j|j |j d j Iterate plain urls for the mirrors, like the old mirrorlist. cSs|jddjddS(Nt/it@i(tsplit(R6((s0/usr/lib/python2.7/site-packages/yum/metalink.pytssfile:shttp:sftp:shttps:s/repodata/repomd.xmlN(RAR6t startswithRBtendswithRO(Rturl2hosttmirrorR6thost((s0/usr/lib/python2.7/site-packages/yum/metalink.pyturlss   cCst|j}t}xU|jD]J}|s@|ddd7}n|rS|d7}nt}|t|7}qWt}xU|jD]J}|s|ddd7}n|r|d7}nt}|t|7}q}W|S(Ns%s t-iOs (tstrR?RR@R:RA(RR+tdonetorepomdR6((s0/usr/lib/python2.7/site-packages/yum/metalink.pyR"s$  (RRRRR\R"(((s0/usr/lib/python2.7/site-packages/yum/metalink.pyR<s - cCs~d}ttjdkr(|nxOtjdD]@}tjj|s]dG|GHq6ndG|GHt|GHdGHq6WdS(s MetaLinkRepoMD test function. cSs)tjdtjdIJtjddS(NsUsage: %s ...ii(tsyststderrtargvtexit(((s0/usr/lib/python2.7/site-packages/yum/metalink.pytusagesiis No such file:sFile:R#N(RORaRcRCRDRER<(ReRP((s0/usr/lib/python2.7/site-packages/yum/metalink.pytmain s     t__main__((((RaRCR turlgrabber.progressRtErrorstyum.miscRRFt RepoErrorRRRt __XML_FMT__RIRKRMRR.R<RfR(((s0/usr/lib/python2.7/site-packages/yum/metalink.pyts&         K2^