OLD | NEW |
1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """Common python commands used by various build scripts.""" | 5 """Common python commands used by various build scripts.""" |
6 | 6 |
7 import inspect | 7 import inspect |
8 import os | 8 import os |
9 import re | |
10 import subprocess | 9 import subprocess |
11 import sys | 10 import sys |
12 | 11 |
13 _STDOUT_IS_TTY = hasattr(sys.stdout, 'isatty') and sys.stdout.isatty() | 12 _STDOUT_IS_TTY = hasattr(sys.stdout, 'isatty') and sys.stdout.isatty() |
14 | 13 |
15 # TODO(sosa): Move logging to logging module. | 14 # TODO(sosa): Move logging to logging module. |
16 | 15 |
17 class RunCommandException(Exception): | 16 class RunCommandException(Exception): |
18 """Raised when there is an error in RunCommand.""" | 17 """Raised when there is an error in RunCommand.""" |
19 pass | 18 pass |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
239 root_abs_path = os.path.abspath(root_path) | 238 root_abs_path = os.path.abspath(root_path) |
240 | 239 |
241 # Strip the repository root from the path and strip first /. | 240 # Strip the repository root from the path and strip first /. |
242 relative_path = path_abs_path.replace(root_abs_path, '')[1:] | 241 relative_path = path_abs_path.replace(root_abs_path, '')[1:] |
243 | 242 |
244 if relative_path == path_abs_path: | 243 if relative_path == path_abs_path: |
245 raise Exception('Error: path is outside your src tree, cannot reinterpret.') | 244 raise Exception('Error: path is outside your src tree, cannot reinterpret.') |
246 | 245 |
247 new_path = os.path.join('/home', os.getenv('USER'), 'trunk', relative_path) | 246 new_path = os.path.join('/home', os.getenv('USER'), 'trunk', relative_path) |
248 return new_path | 247 return new_path |
249 | |
250 | |
251 def GetIPAddress(device='eth0'): | |
252 """Returns the IP Address for a given device using ifconfig. | |
253 | |
254 socket.gethostname() is insufficient for machines where the host files are | |
255 not set up "correctly." Since some of our builders may have this issue, | |
256 this method gives you a generic way to get the address so you are reachable | |
257 either via a VM or remote machine on the same network. | |
258 """ | |
259 ifconfig_output = RunCommand(['ifconfig', device], redirect_stdout=True, | |
260 print_cmd=False) | |
261 match = re.search('.*inet addr:(\d+\.\d+\.\d+\.\d+).*', ifconfig_output) | |
262 if match: | |
263 return match.group(1) | |
264 else: | |
265 Warning('Failed to find ip address in %s' % ifconfig_output) | |
266 return None | |
OLD | NEW |