| #!/usr/bin/env python |
| |
| # Copyright (c) 2007, Intel Corporation |
| # All rights reserved. This program and the accompanying materials |
| # are licensed and made available under the terms and conditions of the BSD License |
| # which accompanies this distribution. The full text of the license may be found at |
| # http://opensource.org/licenses/bsd-license.php |
| # |
| # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. |
| |
| import os, sys, re, getopt, string, glob, xml.dom.minidom, pprint, md5, socket, getpass, time, random |
| |
| def inWorkspace(rel_path=""): |
| """Treat the given path as relative to the workspace.""" |
| |
| # Make sure the user has set the workspace variable: |
| try: |
| return os.path.join(os.environ["WORKSPACE"], rel_path ) |
| except: |
| print "Oops! You must set the WORKSPACE environment variable to run this script." |
| sys.exit() |
| |
| def genguid(): |
| g = md5.md5( |
| str(random.random()) + |
| getpass.getuser() + |
| str(time.time()) + |
| socket.gethostbyname(socket.gethostname())).hexdigest() |
| return Guid("%s-%s-%s-%s-%s" % (g[0:8], g[8:12], g[12:16], g[16:20], g[20:])) |
| |
| def lean(path): |
| """Lean the slashes forward""" |
| |
| return os.path.normpath(path).replace("\\", "/") |
| |
| def mkdir(path): |
| """Make a directory if it is not there already.""" |
| |
| try: |
| os.makedirs(path) |
| except: |
| pass |
| |
| def Md5(filename): |
| |
| sum = "" |
| |
| try: |
| f=open(filename, "rb") |
| sum = md5.md5(f.read()).hexdigest() |
| f.close() |
| except IOError: |
| print "Error: Unable to open file: %s" % filename |
| sys.exit() |
| |
| return sum |
| |
| def Guid(guidString): |
| """Convert the guid string into a canonical form suitable for comparison.""" |
| return string.lower(guidString) |