summaryrefslogtreecommitdiff
path: root/summainlib.py
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2011-06-11 20:05:32 +0100
committerLars Wirzenius <liw@liw.fi>2011-06-11 20:05:32 +0100
commit53f0eabae5ce9514ced62cea4568ddbe9d2a2fe0 (patch)
tree2e1d5c0d29e930a900da269d37659b658bcc8bc8 /summainlib.py
parent6c19a6cb97fd989bb18f2cc1545d4531a036c97f (diff)
downloadsummain-53f0eabae5ce9514ced62cea4568ddbe9d2a2fe0.tar.gz
Add more checksum types.
Diffstat (limited to 'summainlib.py')
-rw-r--r--summainlib.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/summainlib.py b/summainlib.py
index c2dc2ff..bb7d668 100644
--- a/summainlib.py
+++ b/summainlib.py
@@ -161,7 +161,8 @@ class FilesystemObject(object):
'''
def __init__(self, filename, nn, pn, exclude, checksums,
- stat_result=None, sha1=None,
+ 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)
@@ -170,6 +171,10 @@ class FilesystemObject(object):
self._nn = nn
self._md5 = md5 or hashlib.md5()
self._sha1 = sha1 or hashlib.sha1()
+ self._sha224 = sha224 or hashlib.sha224()
+ self._sha256 = sha256 or hashlib.sha256()
+ self._sha384 = sha384 or hashlib.sha384()
+ self._sha512 = sha512 or hashlib.sha512()
self._stat_result = stat_result or os.lstat(filename)
self.open_file = open_file or file
self.readlink = readlink or os.readlink
@@ -215,6 +220,18 @@ class FilesystemObject(object):
def _compute_sha1(self):
return self.compute_checksum(self._filename, self._sha1)
+ def _compute_sha224(self):
+ return self.compute_checksum(self._filename, self._sha224)
+
+ def _compute_sha256(self):
+ return self.compute_checksum(self._filename, self._sha256)
+
+ def _compute_sha384(self):
+ return self.compute_checksum(self._filename, self._sha384)
+
+ def _compute_sha512(self):
+ return self.compute_checksum(self._filename, self._sha512)
+
def _compute_target(self):
if stat.S_ISLNK(self._stat_result.st_mode):
return self.readlink(self._filename)