File: //usr/local/CyberCP/lib/python3.10/site-packages/asyncssh/__pycache__/scp.cpython-310.pyc
o
�h� � @ sh d Z ddlZddlZddlZddlmZ ddlZddlZddlZddl Z ddl
mZ ddlm
Z
mZmZmZmZ ddlmZmZmZmZmZ ddlmZmZ dd lmZ dd
lmZmZ ddlmZ ddl m!Z!m"Z"m#Z#m$Z$ dd
l m%Z%m&Z& ddl'm(Z(m)Z)m*Z*m+Z+m,Z, ddl'm-Z-m.Z.m/Z/m0Z0 ddl'm1Z1m2Z2m3Z3 e
r�ddl4m5Z5 ddl6m7Z7 ddl8m9Z9m:Z: ede;e<e#df Z=ee;e"f Z>eee=e>f e=e>f Z?dZ@G dd� de�ZAG dd� de�ZBdddefdeeC de!dee; deDdeDd e<d!eCfd"d#�ZEd$e;d!eeFeFe;f fd%d&�ZGd$e;d!eeFeFf fd'd(�ZHde?d!eed e>eDf fd)d*�ZId+dd,eDd-eDd.eDd/eDde>d!ed0 fd1d2�ZJG d3d4� d4ejK�ZLG d5d6� d6ejM�ZNG d7d8� d8�ZOG d9d:� d:eO�ZPG d;d<� d<eO�ZQG d=d>� d>�ZR dTdde@ddd?�d@ee?ee? f dAe?d.eDd/eDdBeFdCe2dDe1d!dfdEdF�ZSdGe$e+ d$eLdHdIdJdKd!df
dLdM�ZTdGe$e+ dNe<dOdIdPdKdQdKd!e$d fdRdS�ZUdS )UzSCP handlers� N)�PurePath)�
TracebackType)�
TYPE_CHECKING�
AsyncIterator�List�NoReturn�Optional)�Sequence�Tuple�Type�Union�cast)�Protocol�Self� )�DEFAULT_LANG)�FILEXFER_TYPE_REGULAR�FILEXFER_TYPE_DIRECTORY)� SSHLogger)�
BytesOrStr�FilePath�HostPort�
MaybeAwait)�async_context_manager�plural)� SFTPAttrs�SFTPGlob�SFTPName�
SFTPServer�SFTPServerFS)� SFTPError�SFTPFailure�SFTPBadMessage�SFTPConnectionLost)�SFTPErrorHandler�SFTPProgressHandler�local_fs)�SSHServerChannel)�SSHClientConnection)� SSHReader� SSHWriterr( i c @ s~ e Zd ZdZdefdd�Zdeee dee dee de
fdd �Zd
edede
fdd
�Zde
dedefdd�Zddd�ZdS )�_SCPFileProtocolz0Protocol for accessing a file during an SCP copy�returnc � � �dS )z=Allow _SCPFileProtocol to be used as an async context managerN� ��selfr. r. �?/usr/local/CyberCP/lib/python3.10/site-packages/asyncssh/scp.py�
__aenter__B � z_SCPFileProtocol.__aenter__� _exc_type�
_exc_value�
_tracebackc � r- )�9Wait for file close when used as an async context managerNr. �r0 r4 r5 r6 r. r. r1 � __aexit__E r3 z_SCPFileProtocol.__aexit__�size�offsetc � r- )zRead data from the local fileNr. )r0 r: r; r. r. r1 �readJ r3 z_SCPFileProtocol.read�datac � r- )zWrite data to the local fileNr. )r0 r= r; r. r. r1 �writeM r3 z_SCPFileProtocol.writeNc � r- )zClose the local fileNr. r/ r. r. r1 �closeP r3 z_SCPFileProtocol.close�r, N)�__name__�
__module__�__qualname__�__doc__r r2 r r �
BaseExceptionr �boolr9 �int�bytesr<