Current File : //usr/lib/python2.7/site-packages/paramiko/sftp_attr.pyc |
�
=OXc @ sj d d l Z d d l Z d d l m Z m Z m Z m Z d d l m Z m Z d e
f d � � YZ d S( i����N( t x80000000t o700t o70t xffffffff( t longt bt SFTPAttributesc B s� e Z d Z d Z d Z d Z d Z e Z d � Z e
d d � � Z d � Z
e
d d d � � Z d � Z d
� Z d � Z e e d � � Z d
� Z d � Z RS( sh
Representation of the attributes of a file (or proxied file) for SFTP in
client or server mode. It attemps to mirror the object returned by
`os.stat` as closely as possible, so it may have the following fields,
with the same meanings as those returned by an `os.stat` object:
- ``st_size``
- ``st_uid``
- ``st_gid``
- ``st_mode``
- ``st_atime``
- ``st_mtime``
Because SFTP allows flags to have other arbitrary named attributes, these
are stored in a dict named ``attr``. Occasionally, the filename is also
stored, in ``filename``.
i i i i c C sL d | _ d | _ d | _ d | _ d | _ d | _ d | _ i | _ d S( sX
Create a new (empty) SFTPAttributes object. All fields will be empty.
i N( t _flagst Nonet st_sizet st_uidt st_gidt st_modet st_atimet st_mtimet attr( t self( ( s6 /usr/lib/python2.7/site-packages/paramiko/sftp_attr.pyt __init__2 s c C sm | � } | j | _ | j | _ | j | _ | j | _ | j | _ | j | _ | d k ri | | _ n | S( s`
Create an `.SFTPAttributes` object from an existing ``stat`` object (an
object returned by `os.stat`).
:param object obj: an object returned by `os.stat` (or equivalent).
:param str filename: the filename associated with this file.
:return: new `.SFTPAttributes` object with the same attribute fields.
N( R R
R R R
R R t filename( t clst objR R ( ( s6 /usr/lib/python2.7/site-packages/paramiko/sftp_attr.pyt from_stat? s
c C s d | j � S( Ns <SFTPAttributes: %s>( t
_debug_str( R ( ( s6 /usr/lib/python2.7/site-packages/paramiko/sftp_attr.pyt __repr__T s c C sJ | � } | j | � | d k r. | | _ n | d k rF | | _ n | S( N( t _unpackR R t longname( R t msgR R R ( ( s6 /usr/lib/python2.7/site-packages/paramiko/sftp_attr.pyt _from_msgX s
c C s | j � | _ | j | j @r1 | j � | _ n | j | j @rb | j � | _ | j � | _ n | j | j @r� | j � | _ n | j | j
@r� | j � | _ | j � | _ n | j | j
@r| j � } x0 t | � D] } | j � | j | j � <q� Wn d S( N( t get_intR t FLAG_SIZEt get_int64R t FLAG_UIDGIDR
R t FLAG_PERMISSIONSR t FLAG_AMTIMER
R t
FLAG_EXTENDEDt ranget
get_stringR ( R R t countt i( ( s6 /usr/lib/python2.7/site-packages/paramiko/sftp_attr.pyR b s c C s d | _ | j d k r- | j | j O_ n | j d k r` | j d k r` | j | j O_ n | j d k r� | j | j O_ n | j d k r� | j
d k r� | j | j O_ n t | j
� d k r� | j | j O_ n | j | j � | j | j @r| j | j � n | j | j @rG| j | j � | j | j � n | j | j @rj| j | j � n | j | j @r�| j t | j � � | j t | j
� � n | j | j @r| j t | j
� � x: | j
j � D]&