Your IP : 216.73.216.213
B
��\$6 � @ s� d Z ddlZddlZddlZddlZddlmZ ddlmZ ddlZej d dk Z
e�� dkZejdkZ
yeZW n ek
r� eZY nX dd � Zd
d� Zdd
� Zdd� ZG dd� de�ZG dd� de�ZG dd� de�ZdS )z7Helper classes use for fake file system implementation.� N)�copy)�S_IFLNK� ZPyPy�win32c C s. yt | ttf�S tk
r( t | t�S X dS )z(Return True if `val` is of integer type.N)�
isinstance�int�long� NameError)�val� r �A/opt/alt/python37/lib/python3.7/site-packages/pyfakefs/helpers.py�is_int_type! s r
c C s t st| d� S t| ttf�S )zLReturn True if `val` is a bytes-like object, False for a unicode
string.�encode)�IS_PY2�hasattrr �
memoryview�str)r
r r r �is_byte_string) s r c C s* y
t | t�S tk
r$ t| d�S X dS )zLReturn True if `val` is a unicode string, False for a bytes-like
object.r N)r �unicoder r )r
r r r �is_unicode_string1 s
r c C s t jdkrt�| �} | S )N)r � )�sys�version_info�os�fspath)Zdir_namer r r �make_string_path: s
r c @ sX e Zd ZdZyeZW n ek
r, eZY nX ej dkZ
d+dd�Zedd� �Z
e
jdd� �Z
d d
� Zdd� Zd
d� Zdd� Zed,dd��Zedd� �Zedd� �Zedd� �Zejdd� �Zejdd� �Zejdd� �Zedd� �Zejdd� �Zdd � Zej d!k�rTed"d#� �Zed$d%� �Zed&d'� �Zejd(d#� �Zejd)d%� �Zejd*d'� �ZdS )-�FakeStatResultz�Mimics os.stat_result for use as return type of `stat()` and similar.
This is needed as `os.stat_result` has no possibility to set
nanosecond times directly.
)� � Nc C sj d | _ d | _d | _d | _d| _|| _|| _d | _|| _|d k rP| � |d �| _
nd | _
| j
| _| j
| _d S )Nr g e��A)
�
_use_float�st_mode�st_ino�st_dev�st_nlink�st_uid�st_gid�_st_size�
is_windows� long_type�_st_atime_ns�_st_mtime_ns�_st_ctime_ns)�selfr'