summaryrefslogtreecommitdiff
path: root/paramiko/sftp_attr.py
diff options
context:
space:
mode:
authorRobey Pointer <robey@lag.net>2005-01-17 10:09:09 +0000
committerRobey Pointer <robey@lag.net>2005-01-17 10:09:09 +0000
commit8878a5f3c28e02796af01bab91532dd05a3624f2 (patch)
tree7f9b543dbcf1adfbbb2ee5511deae212786636fd /paramiko/sftp_attr.py
parent3db675d1befe652e58f6c55c9d0633ba97cd5073 (diff)
downloadparamiko-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.py19
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