| # Copyright 2016 Google Inc. |
| # |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| from _adb import Adb |
| import re |
| import subprocess |
| |
| __ADB = None |
| |
| def init(device_serial, adb_binary): |
| global __ADB |
| __ADB = Adb(device_serial, adb_binary) |
| |
| def join(*pathnames): |
| return '/'.join(pathnames) |
| |
| def basename(pathname): |
| return pathname.rsplit('/', maxsplit=1)[-1] |
| |
| def find_skps(skps): |
| # root first, in case skps reside in a protected directory |
| __ADB.root() |
| escapedskps = [re.sub(r'([^a-zA-Z0-9_/\.\*\?\[\!\]])', r'\\\1', x) |
| for x in skps] |
| return __ADB.check('''\ |
| for PATHNAME in %s; do |
| if [ -d "$PATHNAME" ]; then |
| find "$PATHNAME" -maxdepth 1 -name '*.skp' -o -name '*.mskp' |
| else |
| echo "$PATHNAME" |
| fi |
| done''' % ' '.join(escapedskps)).splitlines() |