Index: build/android/devil/android/tools/script_common.py |
diff --git a/build/android/devil/android/tools/script_common.py b/build/android/devil/android/tools/script_common.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..eb91cdcb9bffd88db4c9ce4b03df510994a5f449 |
--- /dev/null |
+++ b/build/android/devil/android/tools/script_common.py |
@@ -0,0 +1,28 @@ |
+# Copyright 2015 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+from devil.android import device_blacklist |
+from devil.android import device_errors |
+from devil.android import device_utils |
+ |
+ |
+def GetDevices(requested_devices, blacklist_file): |
+ blacklist = (device_blacklist.Blacklist(blacklist_file) |
+ if blacklist_file |
+ else None) |
+ |
+ devices = device_utils.DeviceUtils.HealthyDevices(blacklist) |
+ if not devices: |
+ raise device_errors.NoDevicesError() |
+ elif requested_devices: |
+ requested = set(requested_devices) |
+ available = set(str(d) for d in devices) |
+ missing = requested.difference(available) |
+ if missing: |
+ raise device_errors.DeviceUnreachableError(next(iter(missing))) |
+ return sorted(device_utils.DeviceUtils(d) |
+ for d in available.intersection(requested)) |
+ else: |
+ return devices |
+ |