B
    %‰ËdÐ  ã               @   sP  U d Z ddlZddlZddlZddlmZmZ ddlmZm	Z	m
Z
mZmZmZmZmZmZ ejdkZeed< ejdkZejdkZe ¡ Zeddd	œd
d„ƒZee	ed	œdd„ƒZee	df ee d	œdd„Zeddd	œdd„ƒZee	ed	œdd„ƒZee	 ee d	œdd„Zeddd	œdd„ƒZee	ed	œdd„ƒZee	 ee d	œdd„ZdS )z5utilities to help provide compatibility with python 3é    N)Úforce_bytesÚ
force_text)	ÚAnyÚAnyStrÚDictÚIOÚOptionalÚTupleÚTypeÚUnionÚoverloadÚntÚis_winÚposixÚdarwin)ÚsÚreturnc             C   s   d S )N© )r   r   r   úW/work/yifan.wang/ringdown/master-ringdown-env/lib/python3.7/site-packages/git/compat.pyÚsafe_decode*   s    r   c             C   s   d S )Nr   )r   r   r   r   r   /   s    c             C   sB   t | tƒr| S t | tƒr$|  td¡S | dkr0dS td| f ƒ‚dS )z)Safely decodes a binary string to unicodeÚsurrogateescapeNz"Expected bytes or text, but got %r)Ú
isinstanceÚstrÚbytesÚdecodeÚdefencÚ	TypeError)r   r   r   r   r   4   s    

c             C   s   d S )Nr   )r   r   r   r   Úsafe_encode@   s    r   c             C   s   d S )Nr   )r   r   r   r   r   E   s    c             C   s@   t | tƒr|  t¡S t | tƒr"| S | dkr.dS td| f ƒ‚dS )z)Safely encodes a binary string to unicodeNz"Expected bytes or text, but got %r)r   r   Úencoder   r   r   )r   r   r   r   r   J   s    


c             C   s   d S )Nr   )r   r   r   r   Ú
win_encodeV   s    r   c             C   s   d S )Nr   )r   r   r   r   r   [   s    c             C   sB   t | tƒr|  t d¡¡S t | tƒr(| S | dk	r>td| f ƒ‚dS )z1Encode unicodes for process arguments on Windows.FNz"Expected bytes or text, but got %r)r   r   r   ÚlocaleÚgetpreferredencodingr   r   )r   r   r   r   r   `   s    

)Ú__doc__r    ÚosÚsysZgitdb.utils.encodingr   r   Útypingr   r   r   r   r   r	   r
   r   r   Únamer   ÚboolÚ__annotations__Zis_posixZ	is_darwinÚgetfilesystemencodingr   r   r   r   r   r   r   r   r   r   Ú<module>   s0   ,

