roomservice: support device tree with vendor in target
Change-Id: I1deb565cb39f178c38fa9c9df7b2343bb641c8f7
diff --git a/build/tools/roomservice.py b/build/tools/roomservice.py
index ae6eb98..f772030 100755
--- a/build/tools/roomservice.py
+++ b/build/tools/roomservice.py
@@ -51,8 +51,13 @@
def check_repo_exists(git_data, device):
- re_match = "^android_device_.*_{device}$".format(device=device)
+ if device.count("_") < 2:
+ re_match = "^android_device_.*_{device}$".format(device=device)
+ else:
+ re_match = "^android_device.*_{device}$".format(device=device)
+
matches = list(filter(lambda x: re.match(re_match, x), git_data))
+
if len(matches) != 1:
raise Exception("{device} not found,"
"exiting roomservice".format(device=device))
@@ -84,15 +89,27 @@
def parse_device_directory(device_url, device):
- pattern = "^android_device_(?P<vendor>.+)_{}$".format(device)
+ if device.count("_") < 2:
+ pattern = "^android_device_(?P<vendor>.+)_{}$".format(device)
+ else:
+ pattern = "^android_device_{}$".format(device)
+
match = re.match(pattern, device_url)
if match is None:
raise Exception("Invalid project name {}".format(device_url))
- return "device/{vendor}/{device}".format(
- vendor=match.group('vendor'),
- device=device,
- )
+
+ if device.count('_') < 2:
+ return "device/{vendor}/{device}".format(
+ vendor=match.group('vendor'),
+ device=device,
+ )
+ else:
+ vendor = device.split('_')[0]
+ return "device/{vendor}/{device}".format(
+ vendor=vendor,
+ device=device,
+ )
# Thank you RaYmAn