audk/Tools/Python/WorkspaceRoutines.py

62 lines
1.7 KiB
Python
Executable File

#!/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)