On Mon, Feb 1, 2010 at 7:04 PM, Lucas Meneghel Rodrigues <lmr@xxxxxxxxxx> wrote: > Replace all functions that evaluate md5 and sha1 hexdigests > with the function utils.hash(). > > Signed-off-by: Lucas Meneghel Rodrigues <lmr@xxxxxxxxxx> > --- > client/tests/kvm/kvm_utils.py | 16 +++------------- > client/tests/kvm/ppm_utils.py | 10 +++++----- > client/tests/kvm/tests/steps.py | 2 +- > frontend/afe/rpc_utils.py | 15 --------------- > frontend/planner/models.py | 8 ++++---- > tko/models.py | 4 ++-- > tko/parsers/version_1_unittest.py | 7 ++++--- > utils/build_externals.py | 7 ++++--- > 8 files changed, 23 insertions(+), 46 deletions(-) > > diff --git a/client/tests/kvm/kvm_utils.py b/client/tests/kvm/kvm_utils.py > index f8089f7..da7c543 100644 > --- a/client/tests/kvm/kvm_utils.py > +++ b/client/tests/kvm/kvm_utils.py > @@ -4,7 +4,7 @@ KVM test utility functions. > @copyright: 2008-2009 Red Hat Inc. > """ > > -import md5, sha, thread, subprocess, time, string, random, socket, os, signal > +import thread, subprocess, time, string, random, socket, os, signal > import select, re, logging, commands, cPickle, pty > from autotest_lib.client.bin import utils > from autotest_lib.client.common_lib import error > @@ -788,13 +788,7 @@ def hash_file(filename, size=None, method="md5"): > size = fsize > f = open(filename, 'rb') > > - if method == "md5": > - hash = md5.new() > - elif method == "sha1": > - hash = sha.new() > - else: > - logging.error("Unknown hash type %s, returning None" % method) > - return None > + hash = utils.hash(method) > > while size > 0: > if chunksize > size: > @@ -851,11 +845,7 @@ def unmap_url_cache(cachedir, url, expected_hash, method="md5"): > failure_counter = 0 > while not file_hash == expected_hash: > if os.path.isfile(file_local_path): > - if method == "md5": > - file_hash = hash_file(file_local_path, method="md5") > - elif method == "sha1": > - file_hash = hash_file(file_local_path, method="sha1") > - > + file_hash = hash_file(file_local_path, method) > if file_hash == expected_hash: > # File is already at the expected position and ready to go > src = file_from_url > diff --git a/client/tests/kvm/ppm_utils.py b/client/tests/kvm/ppm_utils.py > index 8ff31da..90ff46d 100644 > --- a/client/tests/kvm/ppm_utils.py > +++ b/client/tests/kvm/ppm_utils.py > @@ -4,8 +4,8 @@ Utility functions to deal with ppm (qemu screendump format) files. > @copyright: Red Hat 2008-2009 > """ > > -import md5, os, struct, time, re > - > +import os, struct, time, re > +from autotest_lib.client.bin import utils > > # Some directory/filename utils, for consistency > > @@ -120,9 +120,9 @@ def image_md5sum(width, height, data): > @data: PPM file data > """ > header = "P6\n%d %d\n255\n" % (width, height) > - md5obj = md5.new(header) > - md5obj.update(data) > - return md5obj.hexdigest() > + hash = utils.hash('md5', header) > + hash.update(data) > + return hash.hexdigest() > > > def get_region_md5sum(width, height, data, x1, y1, dx, dy, > diff --git a/client/tests/kvm/tests/steps.py b/client/tests/kvm/tests/steps.py > index 456fb44..8ebe7c1 100644 > --- a/client/tests/kvm/tests/steps.py > +++ b/client/tests/kvm/tests/steps.py > @@ -4,7 +4,7 @@ Utilities to perform automatic guest installation using step files. > @copyright: Red Hat 2008-2009 > """ > > -import os, time, md5, re, shutil, logging > +import os, time, re, shutil, logging > from autotest_lib.client.common_lib import utils, error > import kvm_utils, ppm_utils, kvm_subprocess > try: > diff --git a/frontend/afe/rpc_utils.py b/frontend/afe/rpc_utils.py > index 8b993a8..91b796d 100644 > --- a/frontend/afe/rpc_utils.py > +++ b/frontend/afe/rpc_utils.py > @@ -624,18 +624,3 @@ def interleave_entries(queue_entries, special_tasks): > > return interleaved_entries > > - > -def get_sha1_hash(source): > - """Gets the SHA-1 hash of the source string > - > - @param source The string to hash > - """ > - if sys.version_info < (2,5): > - import sha > - digest = sha.new() > - else: > - import hashlib > - digest = hashlib.sha1() > - > - digest.update(source) > - return digest.hexdigest() > diff --git a/frontend/planner/models.py b/frontend/planner/models.py > index c4d8988..7f62471 100644 > --- a/frontend/planner/models.py > +++ b/frontend/planner/models.py > @@ -3,7 +3,7 @@ import common > from autotest_lib.frontend.afe import models as afe_models > from autotest_lib.frontend.afe import model_logic, rpc_utils > from autotest_lib.frontend.tko import models as tko_models > -from autotest_lib.client.common_lib import enum > +from autotest_lib.client.common_lib import enum, utils > > > class Plan(dbmodels.Model): > @@ -102,7 +102,7 @@ class ControlFile(model_logic.ModelWithHash): > > @classmethod > def _compute_hash(cls, **kwargs): > - return rpc_utils.get_sha1_hash(kwargs['contents']) > + return utils.hash('sha1', kwargs['contents']).hexdigest() > > > def __unicode__(self): > @@ -322,8 +322,8 @@ class KeyVal(model_logic.ModelWithHash): > > @classmethod > def _compute_hash(cls, **kwargs): > - round1 = rpc_utils.get_sha1_hash(kwargs['key']) > - return rpc_utils.get_sha1_hash(round1 + kwargs['value']) > + round1 = utils.hash('sha1', kwargs['key']).hexdigest() > + return utils.hash('sha1', round1 + kwargs['value']).hexdigest() > > > def __unicode__(self): > diff --git a/tko/models.py b/tko/models.py > index bc70074..8f06049 100644 > --- a/tko/models.py > +++ b/tko/models.py > @@ -1,4 +1,4 @@ > -import os, md5 > +import os > > from autotest_lib.client.common_lib import utils > from autotest_lib.tko import utils as tko_utils > @@ -63,7 +63,7 @@ class kernel(object): > @staticmethod > def compute_hash(base, hashes): > key_string = ','.join([base] + hashes) > - return md5.new(key_string).hexdigest() > + return utils.hash('md5', key_string).hexdigest() > > > class test(object): > diff --git a/tko/parsers/version_1_unittest.py b/tko/parsers/version_1_unittest.py > index 5110fe8..f0ccf55 100755 > --- a/tko/parsers/version_1_unittest.py > +++ b/tko/parsers/version_1_unittest.py > @@ -1,8 +1,9 @@ > #!/usr/bin/python > > -import unittest, datetime, time, md5 > +import unittest, datetime, time > > import common > +from autotest_lib.client.common_lib import utils > from autotest_lib.tko.parsers import version_1 > > > @@ -163,7 +164,7 @@ class test_status_line(unittest.TestCase): > "patch0": "first_patch 0 0", > "patch1": "another_patch 0 0"}) > kern = line.get_kernel() > - kernel_hash = md5.new("2.6.24-rc40,0,0").hexdigest() > + kernel_hash = utils.hash("2.6.24-rc40,0,0").hexdigest() This isn't passing in the hash type. > self.assertEquals(kern.base, "2.6.24-rc40") > self.assertEquals(kern.patches[0].spec, "first_patch") > self.assertEquals(kern.patches[1].spec, "another_patch") > @@ -178,7 +179,7 @@ class test_status_line(unittest.TestCase): > "patch0": "first_patch 0 0", > "patch2": "another_patch 0 0"}) > kern = line.get_kernel() > - kernel_hash = md5.new("2.6.24-rc40,0").hexdigest() > + kernel_hash = utils.hash("2.6.24-rc40,0").hexdigest() This isn't passing in the hash type. > self.assertEquals(kern.base, "2.6.24-rc40") > self.assertEquals(kern.patches[0].spec, "first_patch") > self.assertEquals(len(kern.patches), 1) > diff --git a/utils/build_externals.py b/utils/build_externals.py > index d58975e..a5a797d 100755 > --- a/utils/build_externals.py > +++ b/utils/build_externals.py > @@ -12,10 +12,11 @@ Usage? Just run it. > utils/build_externals.py > """ > > -import compileall, logging, os, sha, shutil, sys, tempfile, time, urllib2 > +import compileall, logging, os, shutil, sys, tempfile, time, urllib2 > import subprocess, re > import common > from autotest_lib.client.common_lib import logging_config, logging_manager > +from autotest_lib.client.common_lib import utils > > # Where package source be fetched to relative to the top of the autotest tree. > PACKAGE_DIR = 'ExternalSource' > @@ -152,7 +153,7 @@ def _checksum_file(full_path): > """@returns The hex checksum of a file given its pathname.""" > inputfile = open(full_path, 'rb') > try: > - hex_sum = sha.sha(inputfile.read()).hexdigest() > + hex_sum = utils.hash('sha1', inputfile.read()).hexdigest() > finally: > inputfile.close() > return hex_sum > @@ -532,7 +533,7 @@ class ExternalPackage(object): > raise FetchError('%s from %s fails Content-Length %d ' > 'sanity check.' % (self.name, url, > data_length)) > - checksum = sha.sha() > + checksum = utils.hash('sha1') > total_read = 0 > output = open(local_path, 'wb') > try: > -- > 1.6.6 > > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html