summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Sig/MD5.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/SCons/Sig/MD5.py')
-rw-r--r--src/engine/SCons/Sig/MD5.py104
1 files changed, 0 insertions, 104 deletions
diff --git a/src/engine/SCons/Sig/MD5.py b/src/engine/SCons/Sig/MD5.py
deleted file mode 100644
index f8f349f..0000000
--- a/src/engine/SCons/Sig/MD5.py
+++ /dev/null
@@ -1,104 +0,0 @@
-"""SCons.Sig.MD5
-
-The MD5 signature package for the SCons software construction
-utility.
-
-"""
-
-#
-# __COPYRIGHT__
-#
-# Permission is hereby granted, free of charge, to any person obtaining
-# a copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, sublicense, and/or sell copies of the Software, and to
-# permit persons to whom the Software is furnished to do so, subject to
-# the following conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
-# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-
-__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
-
-import imp
-import string
-
-# Force Python to load the builtin "md5" module. If we do this with a
-# normal import statement, then case-insensitive systems (Windows) get
-# confused and thinks there's a case mismatch with *this* MD5.py module.
-file, name, desc = imp.find_module('md5')
-try:
- md5 = imp.load_module('md5', file, name, desc)
-finally:
- if file:
- file.close()
-
-def current(new, old):
- """Return whether a new signature is up-to-date with
- respect to an old signature.
- """
- return new == old
-
-try:
- md5.new('').hexdigest
-except AttributeError:
- # The md5 objects created by the module have no native hexdigest()
- # method (*cough* 1.5.2 *cough*) so provide an equivalent.
- class new_md5:
- def __init__(self, s):
- self.m = md5.new(str(s))
- #def copy(self):
- # return self.m.copy()
- def digest(self):
- return self.m.digest()
- def hexdigest(self):
- h = string.hexdigits
- r = ''
- for c in self.m.digest():
- i = ord(c)
- r = r + h[(i >> 4) & 0xF] + h[i & 0xF]
- return r
- def update(self, s):
- return self.m.update(s)
-
-else:
- new_md5 = lambda s: md5.new(str(s))
-
-def collect(signatures):
- """
- Collect a list of signatures into an aggregate signature.
-
- signatures - a list of signatures
- returns - the aggregate signature
- """
- if len(signatures) == 1:
- return signatures[0]
- else:
- return new_md5(string.join(signatures, ', ')).hexdigest()
-
-def signature(obj):
- """Generate a signature for an object
- """
- try:
- gc = obj.get_contents
- except AttributeError:
- raise AttributeError, "unable to fetch contents of '%s'" % str(obj)
- return new_md5(gc()).hexdigest()
-
-def to_string(signature):
- """Convert a signature to a string"""
- return signature
-
-def from_string(string):
- """Convert a string to a signature"""
- return string