Index: dartium_tools/utils.py |
diff --git a/dartium_tools/utils.py b/dartium_tools/utils.py |
deleted file mode 100755 |
index e2a50edb0f58bcd1fc57962c3b6ff9180114369c..0000000000000000000000000000000000000000 |
--- a/dartium_tools/utils.py |
+++ /dev/null |
@@ -1,123 +0,0 @@ |
-# Copyright 2010 Google Inc. All Rights Reserved. |
- |
-# This file contains a set of utilities functions used |
-# by both SConstruct and other Python-based scripts. |
- |
-import commands |
-import os |
-import platform |
-import re |
-import subprocess |
- |
-class ChangedWorkingDirectory(object): |
- def __init__(self, new_dir): |
- self._new_dir = new_dir |
- |
- def __enter__(self): |
- self._old_dir = os.getcwd() |
- os.chdir(self._new_dir) |
- return self._new_dir |
- |
- def __exit__(self, *_): |
- os.chdir(self._old_dir) |
- |
-# Try to guess the host operating system. |
-def guessOS(): |
- id = platform.system() |
- if id == "Linux": |
- return "linux" |
- elif id == "Darwin": |
- return "mac" |
- elif id == "Windows" or id == "Microsoft": |
- # On Windows Vista platform.system() can return "Microsoft" with some |
- # versions of Python, see http://bugs.python.org/issue1082 for details. |
- return "win" |
- else: |
- return None |
- |
- |
-# Try to guess the host architecture. |
-def guessArchitecture(): |
- id = platform.machine() |
- if id.startswith('arm'): |
- return 'arm' |
- elif (not id) or (not re.match('(x|i[3-6])86', id) is None): |
- return 'x86' |
- elif id == 'i86pc': |
- return 'x86' |
- else: |
- return None |
- |
- |
-# Try to guess the number of cpus on this machine. |
-def guessCpus(): |
- if os.path.exists("/proc/cpuinfo"): |
- return int(commands.getoutput("grep -E '^processor' /proc/cpuinfo | wc -l")) |
- if os.path.exists("/usr/bin/hostinfo"): |
- return int(commands.getoutput('/usr/bin/hostinfo | grep "processors are logically available." | awk "{ print \$1 }"')) |
- win_cpu_count = os.getenv("NUMBER_OF_PROCESSORS") |
- if win_cpu_count: |
- return int(win_cpu_count) |
- return int(os.getenv("PARFAIT_NUMBER_OF_CORES", 2)) |
- |
- |
-# Returns true if we're running under Windows. |
-def isWindows(): |
- return guessOS() == 'win32' |
- |
-# Reads a text file into an array of strings - one for each |
-# line. Strips comments in the process. |
-def readLinesFrom(name): |
- result = [] |
- for line in open(name): |
- if '#' in line: |
- line = line[:line.find('#')] |
- line = line.strip() |
- if len(line) == 0: |
- continue |
- result.append(line) |
- return result |
- |
-def listArgCallback(option, opt_str, value, parser): |
- if value is None: |
- value = [] |
- |
- for arg in parser.rargs: |
- if arg[:2].startswith('--'): |
- break |
- value.append(arg) |
- |
- del parser.rargs[:len(value)] |
- setattr(parser.values, option.dest, value) |
- |
- |
-def getCommandOutput(cmd): |
- print cmd |
- pipe = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) |
- output = pipe.communicate() |
- if pipe.returncode == 0: |
- return output[0] |
- else: |
- print output[1] |
- raise Exception('Failed to run command. return code=%s' % pipe.returncode) |
- |
-def runCommand(cmd, env_update=None): |
- if env_update is None: |
- env_update = {} |
- print 'Running: ' + ' '.join(["%s='%s'" % (k, v) for k, v in env_update.iteritems()]) + ' ' + ' '.join(cmd) |
- env_copy = dict(os.environ.items()) |
- env_copy.update(env_update) |
- p = subprocess.Popen(cmd, env=env_copy) |
- if p.wait() != 0: |
- raise Exception('Failed to run command. return code=%s' % p.returncode) |
- |
-def main(argv): |
- print "GuessOS() -> ", guessOS() |
- print "GuessArchitecture() -> ", guessArchitecture() |
- print "GuessCpus() -> ", guessCpus() |
- print "IsWindows() -> ", isWindows() |
- |
- |
-if __name__ == "__main__": |
- import sys |
- main(sys.argv) |