ó 9ÕÒTc@@s–ddlmZddlZddlZddlmZddlmZddl m Z ddl m Z ej dejƒZddddd„ZdS( i(tabsolute_importN(tparse(tget_file_content(tInstallRequirement(tnormalize_names^(http|https|file):c c@s|dkrtdƒ‚nd}|r0|jnd}|rNtj|ƒ}ntjjtjj|ƒƒ}t |d|d|ƒ\}}x‹t |j ƒdƒD]t\} } | j ƒ} tj dd| ƒ} | s | jdƒréq n|r|j| ƒrq n| jdƒs"| jd ƒrî| jdƒrD| d j ƒ} n| td ƒj ƒj d ƒ} tj|ƒr‡tj|| ƒ} n3tj| ƒsºtjjtjj|ƒ| ƒ} nxWt| |d|d |d|ƒD] } | VqÜWq | jd ƒs| jdƒrq | jdƒs-| jdƒrº| jdƒrO| d j ƒ} n| tdƒj ƒjd ƒ} tjj|| ƒ} tjj| ƒrž| } n|r|jj| ƒqq | jdƒsØ| jdƒr1| jdƒrú| d j ƒ} n| tdƒj ƒjd ƒ} |r| g|_qq | jdƒr{| tdƒj ƒjd ƒ} |r|jj| ƒqq | jdƒrq | jdƒr±|rt|_qq | jdƒrÕ|rg|_qq | jdƒr3| tdƒj ƒjd ƒ} |r|jtt| ƒj ƒgƒO_qq | jdƒrW|rt!|_"qq | jdƒriq | jdƒr{q | jdƒrÙ| tdƒj ƒjd ƒ} |r|j#tt| ƒj ƒgƒO_#qq | jdƒr7| tdƒj ƒjd ƒ} |r|j#tt| ƒj ƒgƒO_#qq d|| f}| jdƒse| jdƒrè| jdƒr‡| d j ƒ} n| tdƒj ƒjd ƒ} t$j%| d|d |rÇ|j&ndd!|rÜ|j'ntƒ}n't$j(| |d!|r|j'ntƒ}|Vq WdS("NsCparse_requirements() missing 1 required keyword argument: 'session't comes_fromtsessionis (^|\s)#.*$tt#s-rs --requirementit=toptionss-Zs--always-unzips-fs --find-linkss-is --index-urls--extra-index-urls --use-wheels--no-use-wheels --no-indexs--allow-externals--allow-all-externals--no-allow-externals--no-allow-insecures--allow-insecures--allow-unverifieds-r %s (line %s)s-es --editablet default_vcstisolated()tNonet TypeErrortskip_requirements_regextretcompiletostpathtdirnametabspathRt enumeratet splitlineststriptsubt startswithtsearchtlent _scheme_ret urllib_parseturljointjointparse_requirementstlstriptexistst find_linkstappendt index_urlstFalset use_wheeltallow_externaltsetRtlowertTruetallow_all_externaltallow_unverifiedRt from_editableR t isolated_modet from_line(tfilenametfinderRR Rt skip_matcht skip_regext reqs_file_dirtcontentt line_numbertlinetreq_urltitemtrelative_to_reqs_filetreq((s6/usr/lib/python2.7/vendor-packages/pip/req/req_file.pyR!sÀ  " $    ***(t __future__RRRtpip._vendor.six.moves.urllibRRt pip.downloadRtpip.req.req_installRt pip.utilsRRtIRR R!(((s6/usr/lib/python2.7/vendor-packages/pip/req/req_file.pyts