diff options
author | Lars Wirzenius <liw@liw.fi> | 2011-08-08 14:50:00 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2011-08-08 14:50:00 +0100 |
commit | 68f67f9b71e1bbc9647d350cb6b62d72ebfbeab9 (patch) | |
tree | db154257120b54ab0b83c46fc2cb627dbed8743f /summainlib.py | |
parent | 74d9866867cc38dd0857b071c0ed09d4fb7512ef (diff) | |
download | summain-68f67f9b71e1bbc9647d350cb6b62d72ebfbeab9.tar.gz |
Move output formatting out from FilesystemObject class.
Diffstat (limited to 'summainlib.py')
-rw-r--r-- | summainlib.py | 39 |
1 files changed, 2 insertions, 37 deletions
diff --git a/summainlib.py b/summainlib.py index 5376e00..9d8ac54 100644 --- a/summainlib.py +++ b/summainlib.py @@ -112,13 +112,12 @@ class FilesystemObject(object): ''' - def __init__(self, filename, nn, pn, exclude, checksums, + def __init__(self, filename, nn, pn, exclude, stat_result=None, sha1=None, sha224=None, sha256=None, sha384=None, sha512=None, md5=None, open_file=None, readlink=None): self._filename = filename self._exclude = set(self._normalize_key(k) for k in exclude) - self._checksums = checksums self._pn = pn self._nn = nn self._md5 = md5 or hashlib.md5() @@ -232,41 +231,7 @@ class FilesystemObject(object): raise KeyError(key) return self.values.get(key, '') - def _isdir(self): + def _isdir(self): # pragma: no cover '''Is this a directory?''' - return stat.S_ISDIR(int(self['Mode'], 8)) - def relative_path(self, root): - '''Return a path that is relative to root, if possible. - - If pathname does not start with root, then return it - unmodified. - - ''' - - if root.endswith(os.sep): - root2 = root - else: - root2 = root + os.sep - pathname = self['Name'] - if pathname.startswith(root2): - return pathname[len(root2):] - elif pathname == root and self._isdir(): - return '.' - else: - return pathname - - def format(self, root=None): # pragma: no cover - if root is None: - name = self['Name'] - else: - name = self.relative_path(root) - - keys = (['Mtime', 'Mode', 'Ino', 'Dev', 'Nlink', 'Size', - 'Uid', 'Username', 'Gid', 'Group', 'Target'] + - self._checksums) - values = [('Name', name)] - values += [(k, self[k]) for k in keys if self[k] != ''] - return ''.join('%s: %s\n' % (k, v) for k, v in values if v != '') - |