a
    %0É_ì  ã                   @   sP   d dl mZ d dlZd dlmZ d dlmZmZmZ dd„ Z	dd„ Z
d	d
„ ZdS )é    )Úabsolute_importN)Úhex)ÚerrorÚ
extensionsÚpycompatc                 C   s   dt jv o|  dd¡S )Ns   remotenamess	   bookmarks)r   Z_extensionsZ
configbool)Zui© r   ú;/usr/lib/python3/dist-packages/hgext/infinitepush/common.pyÚisremotebooksenabled   s    ÿr	   c                 C   sJ   | j j}| j j}| t|ƒ¡}|d u r8t dt|ƒ ¡‚| |¡}t|ƒS )Ns   %s head is not known)	ZbundlestoreÚindexÚstoreZ	getbundler   r   ZAbortÚreadÚ_makebundlefromraw)ZrepoZunknownbinheadr
   r   ZbundleidZ	bundlerawr   r   r   Údownloadbundle   s    
r   c                 C   s~   d }t  ¡ \}}z2z"t |d¡}| | ¡ W | ¡  n
| ¡  0 W n6 tyx   zt |¡ W n typ   Y n0 ‚ Y n0 |S )NÚwb)r   ZmkstempÚosÚfdopenÚwriteÚcloseÚ	ExceptionÚunlink)ÚdataÚfpÚfdZ
bundlefiler   r   r   r   #   s    r   )Z
__future__r   r   Zmercurial.noder   Z	mercurialr   r   r   r	   r   r   r   r   r   r   Ú<module>   s   
