Gentoo Archives: gentoo-commits

From: "André Erdmann" <dywi@×××××××.de>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/R_overlay:master commit in: roverlay/
Date: Wed, 01 Aug 2012 07:25:39
Message-Id: 1343805951.057e5f51ae4cd402a9a80105aa1dcd8993055a77.dywi@gentoo
1 commit: 057e5f51ae4cd402a9a80105aa1dcd8993055a77
2 Author: André Erdmann <dywi <AT> mailerd <DOT> de>
3 AuthorDate: Wed Aug 1 07:25:51 2012 +0000
4 Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
5 CommitDate: Wed Aug 1 07:25:51 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=057e5f51
7
8 digest.py
9
10 ---
11 roverlay/digest.py | 35 +++++++++++++++++++++++++++++++++++
12 1 files changed, 35 insertions(+), 0 deletions(-)
13
14 diff --git a/roverlay/digest.py b/roverlay/digest.py
15 new file mode 100644
16 index 0000000..4ccbca2
17 --- /dev/null
18 +++ b/roverlay/digest.py
19 @@ -0,0 +1,35 @@
20 +import hashlib
21 +
22 +def md5sum_file ( fh, binary_digest=False ):
23 + """Returns the md5 sum for an already opened file."""
24 + md5 = hashlib.md5()
25 + blocksize = 16384
26 +
27 + block = fh.read ( blocksize )
28 + while block:
29 + md5.update ( block )
30 + block = fh.read ( blocksize )
31 +
32 + return md5.digest() if binary_digest else md5.hexdigest()
33 +# --- end of md5sum_file (...) ---
34 +
35 +
36 +_DIGEST_MAP = dict (
37 + md5 = md5sum_file,
38 +)
39 +
40 +def digest_supported ( digest_type ):
41 + """Returns True if the given digest type is supported, else False."""
42 + return digest_type in _DIGEST_MAP
43 +# --- digest_supported (...) ---
44 +
45 +def dodigest_file ( _file, digest_type, binary_digest=False ):
46 + ret = None
47 + with open ( _file, mode='rb' ) as fh:
48 + ret = _DIGEST_MAP [digest_type] ( fh, binary_digest=binary_digest )
49 + return ret
50 +# --- end of dodigest_file (...) ---
51 +
52 +def digest_compare ( _file, digest, digest_type, binary_digest=False ):
53 + return digest == dodigest_file ( _file, digest_type, binary_digest )
54 +# --- end of digest_compare (...) ---