#!/usr/bin/python """ Program that calculates several hashes for a given CD image. @copyright: Red Hat 2008-2009 """ import os, sys, optparse, logging import common from autotest_lib.client.common_lib import logging_manager from autotest_lib.client.bin import utils from autotest_lib.client.virt import virt_utils if __name__ == "__main__": parser = optparse.OptionParser("usage: %prog [options] [filenames]") options, args = parser.parse_args() logging_manager.configure_logging(virt_utils.VirtLoggingConfig()) if args: filenames = args else: parser.print_help() sys.exit(1) for filename in filenames: filename = os.path.abspath(filename) file_exists = os.path.isfile(filename) can_read_file = os.access(filename, os.R_OK) if not file_exists: logging.critical("File %s does not exist!", filename) continue if not can_read_file: logging.critical("File %s does not have read permissions!", filename) continue logging.info("Hash values for file %s", os.path.basename(filename)) logging.info("md5 (1m): %s", utils.hash_file(filename, 1024*1024, method="md5")) logging.info("sha1 (1m): %s", utils.hash_file(filename, 1024*1024, method="sha1")) logging.info("md5 (full): %s", utils.hash_file(filename, method="md5")) logging.info("sha1 (full): %s", utils.hash_file(filename, method="sha1")) logging.info("")