� 7�ReOc@s�ddlZddlZddlZddlmZddlmZddlmZm Z m Z ddl m Z m Z ddlmZGdd�de �Ze je�dS( iN(uurlparse(ulogger(urmtreeu display_pathucall_subprocess(uvcsuVersionControl(u path_to_urlcs�|EeZdZdZdZdZdZd"Zd Zd#�fd d �Z dd�Z dd�Z dd�Z dd�Zdd�Z�fdd�Zdd�Zdd�Zdd�Zd d!�Z�S($uBazaarubzru.bzrubranchubzr-branch.txtubzr+httpu bzr+httpsubzr+sshubzr+sftpubzr+ftpubzr+lpu[# This was a Bazaar branch; to make it a branch again run: bzr branch -r %(rev)s %(url)s . cs[tt|�j|||�ttdd�rWtjjdg�tjjdg�ndS(Nu uses_fragmentulp( usuperuBazaaru__init__ugetattruurlparseuNoneu uses_fragmentuextendunon_hierarchical(uselfuurluargsukwargs(u __class__(u'/tmp/pip-zej_zi-build/pip/vcs/bazaar.pyu__init__suBazaar.__init__cCs�d}}x�|j�D]�}|j� s|j�jd�rEqntjd|�}|ru|jd�j�}n||j�d�j�jdd�d}|r|r||fSqWdS(Nu#u^bzr\s*branch\s*-r\s*(\d*)ii(NN( uNoneu splitlinesustripu startswithureusearchugroupuendusplit(uselfucontentuurlurevulineumatch((u'/tmp/pip-zej_zi-build/pip/vcs/bazaar.pyuparse_vcs_bundle_files ", uBazaar.parse_vcs_bundle_filecCstjdd�}|j|�tjj|�r>t|�nz/t|jd|gd|d|j dd�Wdt|�XdS( uCExport the Bazaar repository at the url to the destination locationu-exportupip-uexportucwdu filter_stdoutu show_stdoutNF( utempfileumkdtempuunpackuosupathuexistsurmtreeucall_subprocessucmdu_filteruFalse(uselfulocationutemp_dir((u'/tmp/pip-zej_zi-build/pip/vcs/bazaar.pyuexport)s  u Bazaar.exportcCs t|jd|gd|�dS(Nuswitchucwd(ucall_subprocessucmd(uselfudestuurlu rev_options((u'/tmp/pip-zej_zi-build/pip/vcs/bazaar.pyuswitch6su Bazaar.switchcCs$t|jddg|d|�dS(Nupullu-qucwd(ucall_subprocessucmd(uselfudestu rev_options((u'/tmp/pip-zej_zi-build/pip/vcs/bazaar.pyuupdate9su Bazaar.updatecCs�|j�\}}|r1d|g}d|}n g}d}|j||||�r�tjd||t|�f�t|jddg|||g�ndS(Nu-ru (to revision %s)uuChecking out %s%s to %subranchu-q(u get_url_revucheck_destinationuloggerunotifyu display_pathucall_subprocessucmd(uselfudestuurlurevu rev_optionsu rev_display((u'/tmp/pip-zej_zi-build/pip/vcs/bazaar.pyuobtain=s   u Bazaar.obtaincsAtt|�j�\}}|jd�r7d|}n||fS(Nussh://ubzr+(usuperuBazaaru get_url_revu startswith(uselfuurlurev(u __class__(u'/tmp/pip-zej_zi-build/pip/vcs/bazaar.pyu get_url_revKs uBazaar.get_url_revcCs�t|jdgddd|�}xp|j�D]b}|j�}xMdD]E}|j|�rG|j|�d}|j|�r�t|�S|SqGWq.WdS( Nuinfou show_stdoutucwducheckout of branch: uparent branch: iF(ucheckout of branch: uparent branch: ( ucall_subprocessucmduFalseu splitlinesustripu startswithusplitu_is_local_repositoryu path_to_urluNone(uselfulocationuurlsulineuxurepo((u'/tmp/pip-zej_zi-build/pip/vcs/bazaar.pyuget_urlRs    uBazaar.get_urlcCs/t|jdgddd|�}|j�dS(Nurevnou show_stdoutucwdiFi����(ucall_subprocessucmduFalseu splitlines(uselfulocationurevision((u'/tmp/pip-zej_zi-build/pip/vcs/bazaar.pyu get_revision`suBazaar.get_revisioncCs�t|jdgddd|�}g}xl|j�D]^}tjd|�}|r4|jd�}|jd�}|j|j�|j�f�q4q4Wt |�S(Nutagsu show_stdoutucwdu([.\w-]+)\s*(.*)$iiF( ucall_subprocessucmduFalseu splitlinesureusearchugroupuappendustripudict(uselfulocationutagsutag_revsulineu tags_matchutagurev((u'/tmp/pip-zej_zi-build/pip/vcs/bazaar.pyu get_tag_revses&uBazaar.get_tag_revsc Cs�|j|�}|j�jd�s1d|}n|j�jdd�d}|sWdS|j|�}|j|�}||kr�d|||f}nd|j�|f}d|||fS( Nubzr:ubzr+u-iiu%s-%su %s-dev_r%su %s@%s#egg=%s(uget_urluloweru startswithuegg_nameusplituNoneu get_revisionu get_tag_revs( uselfudistulocationu find_tagsurepouegg_project_nameu current_revutag_revsu full_egg_name((u'/tmp/pip-zej_zi-build/pip/vcs/bazaar.pyuget_src_requirementqs  uBazaar.get_src_requirement(ubzrubzr+httpu bzr+httpsubzr+sshubzr+sftpubzr+ftpubzr+lpN(u__name__u __module__u __qualname__unameudirnameu repo_nameu bundle_fileuschemesuguideuNoneu__init__uparse_vcs_bundle_fileuexportuswitchuupdateuobtainu get_url_revuget_urlu get_revisionu get_tag_revsuget_src_requirement(u __locals__((u __class__u'/tmp/pip-zej_zi-build/pip/vcs/bazaar.pyuBazaar s"      uBazaar(uosutempfileureupip.backwardcompatuurlparseupip.loguloggerupip.utilurmtreeu display_pathucall_subprocessupip.vcsuvcsuVersionControlu pip.downloadu path_to_urluBazaaruregister(((u'/tmp/pip-zej_zi-build/pip/vcs/bazaar.pyu<module>s   x