î œ0{YOã@s­ddlZddlZddlZddlmZddlmZddlmZm Z m Z ddl m Z m Z ddlmZGdd„de ƒZe jeƒdS) éN)Úurlparse)Úlogger)ÚrmtreeÚ display_pathÚcall_subprocess)ÚvcsÚVersionControl)Ú path_to_urlcsÇeZdZdZdZdZdZd#Zd Zd ‡fd d†Z dd„Z dd„Z dd„Z dd„Z dd„Z‡fdd†Zdd„Zdd„Zdd „Zd!d"„Z‡S)$ÚBazaarÚbzrz.bzrÚbranchzbzr-branch.txtúbzr+httpú bzr+httpsúbzr+sshúbzr+sftpúbzr+ftpúbzr+lpz[# This was a Bazaar branch; to make it a branch again run: bzr branch -r %(rev)s %(url)s . Ncs[tt|ƒj|||ŽttddƒrWtjjdgƒtjjdgƒndS)NÚ uses_fragmentÚlp)Úsuperr Ú__init__ÚgetattrrrÚextendÚnon_hierarchical)ÚselfÚurlÚargsÚkwargs)Ú __class__©ú)/tmp/pip-ok8sy_ze-build/pip/vcs/bazaar.pyrszBazaar.__init__cCs¿d}}x®|jƒD] }|jƒ s|jƒjdƒrEqntjd|ƒ}|ru|jdƒjƒ}n||jƒd…jƒjddƒd}|r|r||fSqWdS)Nú#z^bzr\s*branch\s*-r\s*(\d*)ér)NN)Ú splitlinesÚstripÚ startswithÚreÚsearchÚgroupÚendÚsplit)rÚcontentrÚrevÚlineÚmatchrrr Úparse_vcs_bundle_files ", zBazaar.parse_vcs_bundle_filecCstjddƒ}|j|ƒtjj|ƒr>t|ƒnz/t|jd|gd|d|j ddƒWdt|ƒXdS) zCExport the Bazaar repository at the url to the destination locationz-exportzpip-ÚexportÚcwdÚ filter_stdoutÚ show_stdoutFN) ÚtempfileÚmkdtempÚunpackÚosÚpathÚexistsrrÚcmdÚ_filter)rÚlocationÚtemp_dirrrr r0)s  z Bazaar.exportcCs t|jd|gd|ƒdS)NÚswitchr1)rr:)rÚdestrÚ rev_optionsrrr r>6sz Bazaar.switchcCs$t|jddg|d|ƒdS)NÚpullz-qr1)rr:)rr?r@rrr Úupdate9sz Bazaar.updatecCs |jƒ\}}|r1d|g}d|}n g}d}|j||||ƒrœtjd||t|ƒfƒt|jddg|||gƒndS)Nz-rz (to revision %s)ÚzChecking out %s%s to %sr z-q)Ú get_url_revÚcheck_destinationrÚnotifyrrr:)rr?rr,r@Ú rev_displayrrr Úobtain=s   z Bazaar.obtaincsAtt|ƒjƒ\}}|jdƒr7d|}n||fS)Nzssh://zbzr+)rr rDr%)rrr,)rrr rDKs zBazaar.get_url_revcCs˜t|jdgddd|ƒ}xp|jƒD]b}|jƒ}xMdD]E}|j|ƒrG|j|ƒd}|j|ƒrˆt|ƒS|SqGWq.WdS) NÚinfor3Fr1úcheckout of branch: úparent branch: r")rJrK)rr:r#r$r%r*Ú_is_local_repositoryr )rr<Úurlsr-ÚxÚreporrr Úget_urlRs    zBazaar.get_urlcCs/t|jdgddd|ƒ}|jƒdS)NÚrevnor3Fr1r"éÿÿÿÿ)rr:r#)rr<Úrevisionrrr Ú get_revision`szBazaar.get_revisioncCs t|jdgddd|ƒ}g}xl|jƒD]^}tjd|ƒ}|r4|jdƒ}|jdƒ}|j|jƒ|jƒfƒq4q4Wt|ƒS)NÚtagsr3Fr1z([.\w-]+)\s*(.*)$r"é) rr:r#r&r'r(Úappendr$Údict)rr<rUÚtag_revsr-Ú tags_matchÚtagr,rrr Ú get_tag_revses&zBazaar.get_tag_revsc Cs¿|j|ƒ}|jƒjdƒs1d|}n|jƒjddƒd}|sWdS|j|ƒ}|j|ƒ}||kr˜d|||f}nd|jƒ|f}d|||fS) Nzbzr:zbzr+ú-r"rz%s-%sz %s-dev_r%sz %s@%s#egg=%s)rPÚlowerr%Úegg_namer*rTr\) rÚdistr<Ú find_tagsrOÚegg_project_nameÚ current_revrYÚ full_egg_namerrr Úget_src_requirementqs  zBazaar.get_src_requirement)zbzrr rrrrr)Ú__name__Ú __module__Ú __qualname__ÚnameÚdirnameÚ repo_nameÚ bundle_fileÚschemesÚguiderr/r0r>rBrHrDrPrTr\rerr)rr r s"       r )r7r4r&Zpip.backwardcompatrÚpip.logrÚpip.utilrrrÚpip.vcsrrÚ pip.downloadr r Úregisterrrrr Ús   x