a
    ÞŒxdš  ã                   @   sˆ   d dl Z d dlZd dlZd dlZd dlZd dlmZ ej d¡rJdd„ Z	nej
Z	dd„ ZeZdZdd	„ Zd
d„ Zdd„ Zd dlmZ dS )é    N)ÚsixÚwinc              
   C   sR   zt  |¡ W n2 ty@ } z|jtjks,‚ W Y d }~n
d }~0 0 t  | |¡ d S )N)ÚosÚremoveÚOSErrorÚerrnoÚENOENTÚrename)Zcurrent_filenameZnew_filenameÚe© r   úI/var/www/html/Ranjet/env/lib/python3.9/site-packages/s3transfer/compat.pyÚrename_file   s    r   c                 C   s   t  | ¡d S )Né   )ÚinspectÚgetfullargspec)Úfuncr   r   r   Úaccepts_kwargs%   s    r   c                 C   sR   t | dƒr|  ¡ S t | dƒrNt | dƒrNz|  dd¡ W dS  tyL   Y dS 0 dS )z»Backwards compat function to determine if a fileobj is seekable

    :param fileobj: The file-like object to determine if seekable

    :returns: True, if seekable. False, otherwise.
    ÚseekableÚseekÚtellr   é   TF)Úhasattrr   r   r   ©Úfileobjr   r   r   r   1   s    	
r   c                 C   s   t | dƒr|  ¡ S t | dƒS )z´Determines whether or not a file-like object is readable.

    :param fileobj: The file-like object to determine if readable

    :returns: True, if readable. False otherwise.
    ÚreadableÚread)r   r   r   r   r   r   r   I   s    
r   c                 C   s,   t tdƒrt |  ¡ d|¡ n
|  |¡ d S )NÚposix_fallocater   )r   r   r   ÚfilenoÚtruncate)r   Úsizer   r   r   Ú	fallocateV   s    
r    )ÚBaseManager)r   r   r   ÚsocketÚsysZbotocore.compatr   ÚplatformÚ
startswithr   r	   r   ÚConnectionErrorZSOCKET_ERRORÚMAXINTr   r   r    Zmultiprocessing.managersr!   r   r   r   r   Ú<module>   s   
