U q`6@sddlZddlZddlZddlmZddlmZmZddlm Z ddl m Z m Z e dd\ZZZZZZZZZZZZZZZZZZZ Z!e dd \Z"Z#Z$Z%Z&e d d \Z'Z(dZ)e dd \Z*Z+Z,Z-Z.Z/Z0Z1d ddddddddg Z2dZ3dZ4dZ5dZ6dZ7dZ8dZ9ededededed ed!ed"ed#ed$ed%ed&ed'ed(ed)ed*ed+ed,ed-e d.e!d/e"d0e#d1e$d2e%d3e&d4e'd5e(d6iZ:Gd7d8d8e;ZdS);N)util)asbytesDEBUG)Message)byte_chrbyte_ordej ZSuccessz End of filez No such filezPermission deniedZFailurez Bad messagez No connectionzConnection lostzOperation unsupported initversionopenclosereadwritelstatfstatZsetstatZfsetstatZopendirZreaddirremovemkdirrmdirrealpathstatrenamereadlinksymlinkstatushandledatanameattrsextendedZextended_replyc@s eZdZdS) SFTPErrorN)__name__ __module__ __qualname__r/r/4/tmp/pip-target-nv4zd3e_/lib/python/paramiko/sftp.pyr+xsr+c@sLeZdZddZddZddZddZd d Zd d Zd dZ ddZ dS)BaseSFTPcCstd|_d|_d|_dS)Nz paramiko.sftpF)rZ get_loggerloggersock ultra_debug)selfr/r/r0__init__}s zBaseSFTP.__init__cCsL|ttdt|\}}|tkr0tdtd|ddd}|S)N>IIncompatible sftp protocolrr) _send_packetCMD_INITstructpack_VERSION _read_packet CMD_VERSIONr+unpack)r5tr'rr/r/r0 _send_versions  zBaseSFTP._send_versioncCsf|\}}|tkrtdtd|ddd}ddg}t}|t|j|| t ||S)Nr8r7rrz check-filezmd5,sha1) r>r:r+r;r@rZadd_intr=addr9r?)r5rAr'rZextension_pairsmsgr/r/r0_send_server_versions    zBaseSFTP._send_server_versioncGs|jj||f|dS)N)r2log)r5levelrDargsr/r/r0_logsz BaseSFTP._logcCsHt|dkrD|j|}|dkr&t|t|kr6dS||d}qdS)Nr)lenr3sendEOFError)r5outnr/r/r0 _write_alls   zBaseSFTP._write_allcCst}|dkrt|jtjrTt|jgggd\}}}t|dkr|j|}q`qn |j|}t|dkrrt||7}|t|8}q|S)Nrg?)bytes isinstancer3socketselectrJrecvrL)r5rNrMrrerrxr/r/r0 _read_alls    zBaseSFTP._read_allcCsPt|}tdt|dt||}|jrB|tt |d| |dS)Nr7rzOUT: ) rr;r<rJrr4rIrr format_binaryrO)r5rApacketrMr/r/r0r9s  zBaseSFTP._send_packetcCs|d}t|drtdtd|d}||}|jrR|tt |d|dkrvt|d}||ddfSdt fS)NrrzGarbage packet receivedr7zIN: r) rWrr+r;r@r4rIrrrXrP)r5rVsizer'rAr/r/r0r>s    zBaseSFTP._read_packetN) r,r-r.r6rBrErIrOrWr9r>r/r/r/r0r1|s  r1)?rSrRr;ZparamikorZparamiko.commonrrZparamiko.messagerZparamiko.py3compatrrranger:r?ZCMD_OPENZ CMD_CLOSEZCMD_READZ CMD_WRITEZ CMD_LSTATZ CMD_FSTATZ CMD_SETSTATZ CMD_FSETSTATZ CMD_OPENDIRZ CMD_READDIRZ CMD_REMOVEZ CMD_MKDIRZ CMD_RMDIRZ CMD_REALPATHZCMD_STATZ CMD_RENAMEZ CMD_READLINKZ CMD_SYMLINKZ CMD_STATUSZ CMD_HANDLEZCMD_DATAZCMD_NAMEZ CMD_ATTRSZ CMD_EXTENDEDZCMD_EXTENDED_REPLYZSFTP_OKZSFTP_EOFZSFTP_NO_SUCH_FILEZSFTP_PERMISSION_DENIEDZ SFTP_FAILUREZSFTP_BAD_MESSAGEZSFTP_NO_CONNECTIONZSFTP_CONNECTION_LOSTZSFTP_OP_UNSUPPORTEDZ SFTP_DESCZSFTP_FLAG_READZSFTP_FLAG_WRITEZSFTP_FLAG_APPENDZSFTP_FLAG_CREATEZSFTP_FLAG_TRUNCZSFTP_FLAG_EXCLr=Z CMD_NAMES Exceptionr+objectr1r/r/r/r0s