ôYÛã @sÛddlmZddlZddlZddlZyddlmZWnek rhddl ZYnXddl m Z m Z ddl mZmZddlmZejeƒZGdd„deƒZejeƒdS) é)Úabsolute_importN)Úparse)ÚrmtreeÚ display_path)ÚvcsÚVersionControl)Ú path_to_urlcs¯eZdZdZdZdZdZd ‡fd d †Zd d„Zdd„Z dd„Z dd„Z ‡fdd†Z dd„Z dd„Zdd„Zdd„Z‡S) ÚBazaarÚbzrz.bzrÚbranchúbzr+httpú bzr+httpsúbzr+sshúbzr+sftpúbzr+ftpúbzr+lpNcsXtt|ƒj|||ŽttddƒrTtjjdgƒtjjdgƒdS)NÚ uses_fragmentÚlp)Úsuperr Ú__init__ÚgetattrÚ urllib_parserÚextendÚnon_hierarchical)ÚselfÚurlÚargsÚkwargs)Ú __class__©ú-/tmp/pip-build-3puug3g5/pip/pip/vcs/bazaar.pyrszBazaar.__init__c Csptjddƒ}|j|ƒtjj|ƒr;t|ƒz#|jd|gd|ddƒWdt|ƒXdS)zU Export the Bazaar repository at the url to the destination location z-exportzpip-ÚexportÚcwdÚ show_stdoutFN)ÚtempfileÚmkdtempÚunpackÚosÚpathÚexistsrÚ run_command)rÚlocationÚtemp_dirrrr r!&s   z Bazaar.exportcCs|jd|gd|ƒdS)NÚswitchr")r*)rÚdestrÚ rev_optionsrrr r-5sz Bazaar.switchcCs!|jddg|d|ƒdS)NÚpullz-qr")r*)rr.r/rrr Úupdate8sz Bazaar.updatecCs–|jƒ\}}|r1d|g}d|}n g}d}|j||||ƒr’tjd||t|ƒƒ|jddg|||gƒdS)Nz-rz (to revision %s)ÚzChecking out %s%s to %sr z-q)Ú get_url_revÚcheck_destinationÚloggerÚinforr*)rr.rÚrevr/Ú rev_displayrrr Úobtain;s   z Bazaar.obtaincs>tt|ƒjƒ\}}|jdƒr4d|}||fS)Nzssh://zbzr+)rr r3Ú startswith)rrr7)rrr r3Ls zBazaar.get_url_revcCs•|jdgddd|ƒ}xp|jƒD]b}|jƒ}xMdD]E}|j|ƒrD|j|ƒd}|j|ƒr…t|ƒS|SqDWq+WdS) Nr6r#Fr"úcheckout of branch: úparent branch: é)r;r<)r*Ú splitlinesÚstripr:ÚsplitÚ_is_local_repositoryr)rr+ÚurlsÚlineÚxÚreporrr Úget_urlSs    zBazaar.get_urlcCs,|jdgddd|ƒ}|jƒdS)NÚrevnor#Fr"r=éÿÿÿÿ)r*r>)rr+Úrevisionrrr Ú get_revision`szBazaar.get_revisioncCst|j|ƒ}|sdS|jƒjdƒs8d|}|jƒjddƒd}|j|ƒ}d|||fS)Nzbzr:zbzr+ú-r=rz %s@%s#egg=%s)rFÚlowerr:Úegg_namer@rJ)rÚdistr+rEÚegg_project_nameÚ current_revrrr Úget_src_requirementes zBazaar.get_src_requirementcCsdS)z&Always assume the versions don't matchFr)rr.r/rrr Ú check_versionoszBazaar.check_version)zbzrr r rrrr)Ú__name__Ú __module__Ú __qualname__ÚnameÚdirnameÚ repo_nameÚschemesrr!r-r1r9r3rFrJrQrRrr)rr r s       r )Ú __future__rÚloggingr'r$ÚurllibrrÚ ImportErrorÚurlparseÚ pip.utilsrrÚpip.vcsrrÚ pip.downloadrÚ getLoggerrSr5r Úregisterrrrr Ús    _