diff options
author | Robey Pointer <robey@lag.net> | 2005-01-17 10:09:09 +0000 |
---|---|---|
committer | Robey Pointer <robey@lag.net> | 2005-01-17 10:09:09 +0000 |
commit | 8878a5f3c28e02796af01bab91532dd05a3624f2 (patch) | |
tree | 7f9b543dbcf1adfbbb2ee5511deae212786636fd /paramiko/sftp_attr.py | |
parent | 3db675d1befe652e58f6c55c9d0633ba97cd5073 (diff) | |
download | paramiko-8878a5f3c28e02796af01bab91532dd05a3624f2.tar.gz |
[project @ Arch-1:robey@lag.net--2003-public%secsh--dev--1.0--patch-140]
more flexible logging
some tweaks to make channels etc follow the logger setting of their parent
transport, so that setting the log channel for a paramiko transport will
cause all sub-logging to branch out from that channel.
also, close all open file handles when the sftp server ends.
Diffstat (limited to 'paramiko/sftp_attr.py')
-rw-r--r-- | paramiko/sftp_attr.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/paramiko/sftp_attr.py b/paramiko/sftp_attr.py index 5fb45d0f..5051686f 100644 --- a/paramiko/sftp_attr.py +++ b/paramiko/sftp_attr.py @@ -78,6 +78,9 @@ class SFTPAttributes (object): return attr from_stat = classmethod(from_stat) + def __repr__(self): + return '<SFTPAttributes: %s>' % self._debug_str() + ### internals... @@ -138,6 +141,22 @@ class SFTPAttributes (object): msg.add_string(val) return + def _debug_str(self): + out = '[ ' + if hasattr(self, 'st_size'): + out += 'size=%d ' % self.st_size + if hasattr(self, 'st_uid') or hasattr(self, 'st_gid'): + out += 'uid=%d gid=%d ' % (getattr(self, 'st_uid', 0), getattr(self, 'st_gid', 0)) + if hasattr(self, 'st_mode'): + out += 'mode=%d ' % self.st_mode + if hasattr(self, 'st_atime') or hasattr(self, 'st_mtime'): + out += 'atime=%d mtime=%d ' % (getattr(self, 'st_atime', 0), + getattr(self, 'st_mtime', 0)) + for k, v in self.attr.iteritems(): + out += '"%s"=%s ' % (str(k), repr(v)) + out += ']' + return out + def _rwx(n, suid, sticky=False): if suid: suid = 2 |