diff options
author | Lars Wirzenius <liw@liw.fi> | 2010-01-01 03:34:45 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2010-01-01 03:34:45 +0200 |
commit | 39d305bae7396bba7644299895d857dc87af3581 (patch) | |
tree | 553ef5b782bad41677abe65ae726b4e74b791bce /summainlib.py | |
parent | d91eaa8dd83da8b0fa7ce7829314ea828c828634 (diff) | |
download | summain-39d305bae7396bba7644299895d857dc87af3581.tar.gz |
Add FilesystemObject.format method to format all fields in
a nice and deterministic manner. "Nice" here means that
the "Name:" field comes first. "Deterministic" means the
other fields come in the same order every time.
Diffstat (limited to 'summainlib.py')
-rw-r--r-- | summainlib.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/summainlib.py b/summainlib.py index db66172..29ae21e 100644 --- a/summainlib.py +++ b/summainlib.py @@ -38,7 +38,7 @@ class FilesystemObject(object): open_file=None, readlink=None): stat_result = stat_result or os.lstat(filename) sha1 = sha1 or hashlib.sha1() - self.open_file = open_file or self.open_file + self.open_file = open_file or file readlink = readlink or os.readlink self.values = dict() @@ -89,3 +89,9 @@ class FilesystemObject(object): def __getitem__(self, key): return self.values.get(key, '') + + def format(self): # pragma: no cover + keys = ['Name'] + [x + for x in sorted(self.values.keys()) + if x != 'Name'] + return ''.join('%s: %s\n' % (key, self[key]) for key in keys) |