403Webshell
Server IP : 93.86.61.54  /  Your IP : 216.73.216.156
Web Server : Apache/2.4.62 (Ubuntu)
System : Linux rasin.ddns.net 6.8.0-124-generic #124~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 21:05:19 UTC x86_64
User : www-data ( 33)
PHP Version : 8.4.22
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python3/dist-packages/fs/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/fs/__pycache__/osfs.cpython-310.pyc
o

�Q`�b�@sVdZddlmZddlmZddlmZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZzddl	mZWneyizddlmZWneyfdZYnwYnwzddl	mZWney�zddlmZWney�dZYnwYnwdd	lmZdd
lmZddlmZddlmZmZmZdd
lmZddl m!Z!m"Z"ddl#m$Z$ddl%m&Z&ddl'm(Z(m)Z)ddlm*Z*m+Z+ddl,m-Z-ej.�rddlm/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9ddlm:Z:ddlm;Z;ddl<m=Z=ej>ddd�Z?e�@d�ZAe
�B�dkZCejDGdd�de��ZEdS)z�Manage the filesystem provided by your OS.

In essence, an `OSFS` is a thin layer over the `io` and `os` modules
of the Python standard library.
�)�absolute_import)�print_function)�unicode_literalsN)�scandir)�sendfile�)�errors)�FS)�ResourceType)�fsencode�fsdecode�fspath)�Info)�basename�dirname)�Permissions)�convert_os_errors)�Mode�validate_open_mode)�FileExpected�NoURL)�	url_quote)�Any�BinaryIO�
Collection�Dict�Iterator�IO�List�Optional�SupportsInt�Text�Tuple)�_OpendirFactory)�RawInfo)�SubFS�_O�OSFS)�boundzfs.osfs�Windowscs�eZdZdZ			dE�fdd�	Zdd�Zd	d
�Zdd�Zed
d��Z	edd��Z
eje
jeje
jeje
jeje
jeje
jeje
jeje
jiZedd��Zdd�Zdd�ZdFdd�Zdd�Z 		dGdd�Z!dHd d!�Z"d"d#�Z#d$d%�Z$e%j&rydFd&d'�Z'dId(d)�Z(e)j*dd*�d+kr�e+dur�e,j-e,j.e,j/e,j0e,j1e,j2hZ3e4e,d,�r�e3�5e,j6�dId-d.�Z7ndId/d.�Z7e8r�dFd0d1�Z9ndFd2d1�Z9		dJd3d4�Z8d5d6�Z:dKd8d9�Z;d:d;�Z<d<d=�Z=					>	dLd?d@�Z>dAdB�Z?�fdCdD�Z@�ZAS)Mr'a�Create an OSFS.

    Arguments:
        root_path (str or ~os.PathLike): An OS path or path-like object to
            the location on your HD you wish to manage.
        create (bool): Set to `True` to create the root directory if it
            does not already exist, otherwise the directory should exist
            prior to creating the ``OSFS`` instance (defaults to `False`).
        create_mode (int): The permissions that will be used to create
            the directory if ``create`` is `True` and the path doesn't
            exist, defaults to ``0o777``.
        expand_vars(bool): If `True` (the default) environment variables of
            the form $name or ${name} will be expanded.

    Raises:
        `fs.errors.CreateFailed`: If ``root_path`` does not
            exist, or could not be created.

    Examples:
        >>> current_directory_fs = OSFS('.')
        >>> home_fs = OSFS('~/')
        >>> windows_system32_fs = OSFS('c://system32')

    F�Tc
s
tt|���t|t�rt|�}||_tj�	tt
|���\}}|r'||p%dn|}tj�|r4tj�|�n|�}tj�
tj�|��}||_|rnztj�|�sVtj|t|�d�Wn&tym}z
t�d�||�|��d}~wwtj�|�s~d�|�}t�|��ddddtjjdd�}	|_z#tjd	d
��}
tj�|
j���|	d<Wd�n1s�wYWnty�t� �dkr�tj�!d
�dk|	d<Ynwt"r�d�#dd�t$d�D��d|	d<dSd|	d<dtj%v�rzt�&t'|�tj%d�|	d<WdSt�yYdSwdS)z!Create an OSFS instance.
        �/��modezunable to create {} ({})Nzroot path '{}' does not existFT)�network�	read_only�supports_rename�thread_safe�
unicode_paths�virtual�TmP)�prefix�case_insensitive�Darwin�Aa�aa�css�|]}t�|�VqdS�N)�six�unichr)�.0�n�r@�)/usr/lib/python3/dist-packages/fs/osfs.py�	<genexpr>�s�z OSFS.__init__.<locals>.<genexpr>�z\:*?"<>|�invalid_path_chars��PC_PATH_MAX�max_sys_path_length)(�superr'�__init__�
isinstance�bytesr�	root_path�os�path�
splitdriver
�
expanduser�
expandvars�normpath�abspath�
_root_path�isdir�makedirs�int�OSErrorr�CreateFailed�format�supports_unicode_filenames�_meta�tempfile�NamedTemporaryFile�exists�name�lower�	Exception�platform�system�normcase�_WINDOWS_PLATFORM�join�range�pathconf_names�pathconfr)�selfrL�create�create_mode�expand_vars�_driverT�error�messager\�	_tmp_file��	__class__r@rArIksn

�����

�	����
����z
OSFS.__init__cCsd}|jj}|�||j�S)Nz{}({!r}))rt�__name__rZrL)rk�_fmt�_class_namer@r@rA�__repr__�sz
OSFS.__repr__cCsd}|jj}|�|��|j�S)Nz	<{} '{}'>)rtrurZrarL)rk�fmtrwr@r@rA�__str__�szOSFS.__str__cCs(ttj�|j|�d��dtj���}|S)z/Convert a FS path to a path on the OS.
        r+)rrMrNrgrT�lstrip�replace�sep�rkrN�sys_pathr@r@rA�_to_sys_path�s�zOSFS._to_sys_pathcCsNddg|j|j|jt|�|��d�}t|dd�|d<trdnd}|j||<|S)zDMake a *details* info dict from an `os.stat_result` object.
        �accessed�modified)�_writer�r��size�type�st_birthtimeN�created�metadata_changed)�st_atime�st_mtime�st_sizerW�_get_type_from_stat�getattrrf�st_ctime)�cls�stat_result�details�	ctime_keyr@r@rA�_make_details_from_stat�s�

zOSFS._make_details_from_statcCs�i}t|jd���|d<|j|d<}|j|d<}tsNddl}ddl}z
|�|�j	|d<Wn	t
y7Ynwz|�|�j|d<W|St
yMY|Sw|S)	zDMake an *access* info dict from an `os.stat_result` object.
        r,�permissions�gid�uidrN�group�user)
r�st_mode�dump�st_gid�st_uidrf�grp�pwd�getgrgid�gr_name�KeyError�getpwuid�pw_name)r�r��accessr�r�r�r�r@r@rA�_make_access_from_stat�s(���zOSFS._make_access_from_statcCs |j}t�|�}|j�|tj�S)z?Get the resource type from an `os.stat_result` object.
        )r��stat�S_IFMT�STAT_TO_RESOURCE_TYPE�getr
�unknown)r��_statr��st_typer@r@rAr��s
zOSFS._get_type_from_statcCsHttd�r"ztrt�|�WStt�t|���WSty!YdSwdS)N�readlink)�hasattrrMrfr�rrrX)rkrr@r@rA�
_gettarget	s
�zOSFS._gettargetcCs|�|�}d|iS)N�target)r�)rkr�_targetr@r@rA�_make_link_infos
zOSFS._make_link_infoNcs|��|pd}|�|�}|�|�}d�td|��t�t|���d|vr,t�t|���Wd�n1s6wYdt|�t�	�j
�d�i}d|vrS|���|d<d|vrd�fdd	�t��D�|d<d|vru�fd
d	�t��D�|d<d|vr�|�
|�|d<d|vr�|���|d<t|�S)
Nr@�getinfo�lstat�basic�r`�is_dirr�r�c�"i|]
}|�d�r|t�|��qS��st_��
startswithr��r>�k)r�r@rA�
<dictcomp>,�

�
�z OSFS.getinfo.<locals>.<dictcomp>cr�r�r�r�)�_lstatr@rAr�0r��linkr�)�check�validatepath�
getsyspathrrMr�rr�r�S_ISDIRr�r��dirr�r�r)rkrN�
namespaces�_pathr�infor@)r�r�rAr�s8

���

�

�zOSFS.getinfocCsf|��|�|�}|�|�}td|dd��t�t|��}Wd�n1s'wYdd�|D�S)N�listdirT��	directorycSsg|]}t|��qSr@)r)r>r`r@r@rA�
<listcomp>Asz OSFS.listdir.<locals>.<listcomp>)r�r�r�rrMr�r)rkrNr�r�namesr@r@rAr�:s

�zOSFS.listdircCs�|��t�|�}|�|�}|�|�}td|dd��=zt�||�Wn'tyJ}z|j	t	j
kr6t�|��|j	t	j
kr?|r?n�WYd}~nd}~ww|�|�Wd�S1sZwYdS)N�makedirTr�)r�r�get_moder�r�rrM�mkdirrX�errno�ENOENTr�ResourceNotFound�EEXIST�opendir)rkrNr��recreater-r�rrpr@r@rAr�Ds$



���$�zOSFS.makedir�r���c	Ks�t|�}|��|��|�|�}|dkrt�|��|�|�}td|��*tj	r8|j
r8t�|tj
tjBtjB�}tj|f|��|d�|��}Wd�|S1sQwY|S)Nr+�openbin)r-�	buffering)r�validate_binr�r�rrr�rr<�PY2�	exclusiverM�open�O_RDWR�O_CREAT�O_EXCL�io�to_platform_bin)	rkrNr-r��options�_moder�r�binary_filer@r@rAr�[s*


���
��zOSFS.openbincCs�|��|�|�}|�|�}td|��Jzt�|�Wn9tyT}z-|jtjkr9t	j
dkr9tj�|�r9t
�|��|jtjkrOt	j
dkrOtj�|�rOt
�|���d}~wwWd�dS1s`wYdS)N�remove�win32�darwin)r�r�r�rrMr�rXr��EACCES�sysrcrNrUrr�EPERM)rkrNr�rrpr@r@rAr�ls$



���"�zOSFS.removecCsj|��|�|�}|dkrt���|�|�}td|dd��t�|�Wd�dS1s.wYdS)Nr+�	removedirTr�)r�r�r�RemoveRootErrorr�rrM�rmdir�rkrNr�rr@r@rAr�s

"�zOSFS.removedircCsdSr;r@)rkrN�factoryr@r@rAr��szOSFS.opendircCsp|�|�}|�|�}|�|�tjurt�|��|s#|�|�r#t�|��|�t|��tj	ur4t�
t|���||fSr;)r��gettyper
�filerrr_�DestinationExistsrr��DirectoryExpected�rk�src_path�dst_path�	overwrite�	_src_path�	_dst_pathr@r@rA�_check_copy�s



zOSFS._check_copy�)���ENOTSUPcCsL|j��|�|||�\}}|�|�|�|�}}zTt�|d��D}t�|d��.}	|��|	��}
}t�|
�j}}
d}|dkrMt	||
||
�}||7}|dks>Wd�n1sWwYWd�n1sfwYWnt
y�}z|j|jvr{�t
�||�WYd}~n
d}~wwWd�dSWd�dS1s�wYdS)Nr��wr)�_lockr�r�r�r��filenorM�fstatr�rrXr��_sendfile_error_codes�shutil�copy2)rkr�r�r�r�r��_src_sys�_dst_sys�src�dst�fd_src�fd_dst�sent�maxsize�offset�er@r@rA�copy�s<�����������"�z	OSFS.copycCsV|j�|�|||�\}}t�|�|�|�|��Wd�dS1s$wYdSr;)rr�rr	r�r�r@r@rAr�s"�c#sf�|��|pd}|�|�}tr!tj�|j|�d��dtj	��}n|�
|�}td|dd��|t|�D]n}dt
|j�|��d�i}d|vrO|���|���|d<d	|vrd|����fd
d�t��D�|d	<d|vr{|jd
d���fdd�t��D�|d<d|vr�|�tj�||j��|d<d|vr�|���|���|d<t|�Vq2Wd�dS1s�wYdS)Nr@r+rTr�r�r�r�r�cr�r�r�r��r�r@rAr����
��!OSFS._scandir.<locals>.<dictcomp>r�F)�follow_symlinkscr�r�r�r���lstat_resultr@rAr��rr�r�)r�r�rfrMrNrgrTr{r|r}r�rrrr`r�r�r�r�r�r�r)rkrNr�r�r�	dir_entryr�r@�rr�rA�_scandir�sN�
�
��

�

���"�z
OSFS._scandirc	#sH�|��|pd}|�|�}|�|�}td|dd���t�|�D]q}t|�}tj�||�}t�	t
|���d|t	��j�d�i}d|vrJ|�
��|d<d|vr[�fd	d
�t��D�|d<d|vrqt�|���fdd
�t��D�|d<d
|vr�|�tj�||��|d
<d|vr�|���|d<t|�Vq Wd�dS1s�wYdS)Nr@rTr�r�r�r�r�cr�r�r�r�rr@rAr�!rrr�cr�r�r�r�rr@rAr�(rr�r�)r�r�r�rrMr�rrNrgr�rr�r�r�r�r�r�r�r)	rkrNr�r�r�
entry_name�_entry_name�
entry_pathr�r@rrAr
sF�


��

�


���"�cCs0|j||d�}|dur|\}}t�|||�}|S)N)r�)r�	itertools�islice)rkrNr��page�	iter_info�start�endr@r@rAr6s
zOSFS.scandircCs$tj�|j|�d��dtj��}|S)Nr+)rMrNrgrTr{r|r}r~r@r@rAr�Es zOSFS.getsyspath�downloadcCs<|�|�}|dkr
d|S|dkrt|�}d|St||��)Nr'zfile://�fszosfs://)r�rr)rkrN�purposer�url_pathr@r@rA�geturlJs

zOSFS.geturlcCsT|��|�|�}td|��
t�|�}Wd�n1swY|�|�}|S)Nr�)r�r�rrMr�r�)rkrNrr��
resource_typer@r@rAr�Us
�
zOSFS.gettypecCsj|��|�|�}|�|�}|�|�st�|��td|��tj�	|�Wd�S1s.wYdS)N�islink)
r�r�r�r_rr�rrMrNr-r�r@r@rAr-^s




$�zOSFS.islinkr:c
	Ks�t|�}	t|�|��|�|�}
|
dkrt|��|�|
�}td|��:tjr7|	j	r7t
�|t
jt
j
Bt
jB�}|p:d}tj|f|	��||	jrHdn|||	jrOdn|d�|��Wd�S1s`wYdS)Nr+r�zutf-8)r-r��encodingr�newline)rrr�r�rr�rr<r�r�rMr�r�r�r�r��to_platform�binary)
rkrNr-r�r.rr/�line_bufferingr�r�r�r�	_encodingr@r@rAr�hs.

���$�z	OSFS.openc
Cs�|��|�|�}|�|�}tj�|�st�|��d|vrr|d}d|vs)d|vrtt�	t
|�d��}t�	t
|�d|��}t
|durC|n|�}t
|�}	|dusR|	durvtd|��t�
|||	f�Wd�dS1skwYdSdSdSdS)Nr�r�r��setinfo)r�r�r�rMrNr_rr��typing�castrWr�r�utime)
rkrNr�r�rr��	_accessed�	_modifiedr�r�r@r@rAr4�s&


"��zOSFS.setinfoc
sNzt|�Wnty}ztj|dj||d�d��d}~wwtt|��|�S)z7Check path may be encoded, in addition to usual checks.zSpath '{path}' could not be encoded for the filesystem (check LANG env var); {error})rNrp)�msgN)r�UnicodeEncodeErrorr�InvalidCharsInPathrZrHr'r�)rkrNrprsr@rAr��s����zOSFS.validatepath)Fr*Tr;)NF)r�r�)F)NN)r')r�r�NNr:F)Bru�
__module__�__qualname__�__doc__rIrxrzr��classmethodr�r�r��S_IFDIRr
r��S_IFCHR�	character�S_IFBLK�block_special_file�S_IFREGr��S_IFIFO�fifo�S_IFLNK�symlink�S_IFSOCK�socketr�r�r�r�r�r�r�r�r�r�r5�
TYPE_CHECKINGr�r�r��version_inforr��EIO�EINVAL�ENOSYS�EBADF�ENOTSOCK�
EOPNOTSUPPrr��addrrrrr�r+r�r-r�r4r��
__classcell__r@r@rsrAr'Ps��F	

�


 

�


�



0,
�
	

�!)Fr?�
__future__rrrr�r�r!�loggingrMrcrr�r�r]r5r<r�ImportErrorrr:r�baser	�enumsr
�	_fscompatrrr
r�rrNrrr�r�error_toolsrr-rrrr�
_url_toolsrrMrrrrrrrrr r!r"r#r$�subfsr%�TypeVarr&�	getLogger�logrdrf�python_2_unicode_compatibler'r@r@r@rA�<module>sr������4



Youez - 2016 - github.com/yon3zu
LinuXploit