diff options
Diffstat (limited to 'summainlib.py')
-rw-r--r-- | summainlib.py | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/summainlib.py b/summainlib.py index ae6dcb2..475a060 100644 --- a/summainlib.py +++ b/summainlib.py @@ -137,7 +137,8 @@ class FilesystemObject(object): stat_result=None, sha1=None, sha224=None, sha256=None, sha384=None, sha512=None, md5=None, open_file=None, readlink=None): - self._filename = filename + self.filename = filename + self.relative = None self._exclude = set(self._normalize_key(k) for k in exclude) self._pn = pn self._nn = nn @@ -153,7 +154,11 @@ class FilesystemObject(object): self.values = dict() def _compute_name(self): - return urllib.quote(self._pn.normalize(self._filename)) + if self.relative is None: + name = self.filename + else: + name = self.relative # pragma: no cover + return urllib.quote(self._pn.normalize(name)) def _compute_mtime(self): return self.format_time(self._stat_result[RESULT_MTIME_SEC], @@ -188,26 +193,26 @@ class FilesystemObject(object): return self.lookup_group(self._stat_result[RESULT_GID]) def _compute_md5(self): - return self.compute_checksum(self._filename, self._md5) + return self.compute_checksum(self.filename, self._md5) def _compute_sha1(self): - return self.compute_checksum(self._filename, self._sha1) + return self.compute_checksum(self.filename, self._sha1) def _compute_sha224(self): - return self.compute_checksum(self._filename, self._sha224) + return self.compute_checksum(self.filename, self._sha224) def _compute_sha256(self): - return self.compute_checksum(self._filename, self._sha256) + return self.compute_checksum(self.filename, self._sha256) def _compute_sha384(self): - return self.compute_checksum(self._filename, self._sha384) + return self.compute_checksum(self.filename, self._sha384) def _compute_sha512(self): - return self.compute_checksum(self._filename, self._sha512) + return self.compute_checksum(self.filename, self._sha512) def _compute_target(self): if stat.S_ISLNK(self._stat_result[RESULT_MODE]): - return self.readlink(self._filename) + return self.readlink(self.filename) def format_time(self, secs, nsecs): s = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(secs)) |