aboutsummaryrefslogtreecommitdiff
path: root/list/list.py
diff options
context:
space:
mode:
Diffstat (limited to 'list/list.py')
-rw-r--r--list/list.py36
1 files changed, 32 insertions, 4 deletions
diff --git a/list/list.py b/list/list.py
index 9354a99d..6c188813 100644
--- a/list/list.py
+++ b/list/list.py
@@ -142,10 +142,10 @@ def ChooseInstances(cfg, select_all_instances=False):
"""
instances_list = GetInstances(cfg)
if (len(instances_list) > 1) and not select_all_instances:
- print("Multiple instance detected, choose 1 to proceed:")
- instances_to_delete = utils.GetAnswerFromList(instances_list,
- enable_choose_all=True)
- return instances_to_delete
+ print("Multiple instances detected, choose any one to proceed:")
+ instances = utils.GetAnswerFromList(instances_list,
+ enable_choose_all=True)
+ return instances
return instances_list
@@ -184,6 +184,34 @@ def GetInstancesFromInstanceNames(cfg, instance_names):
return instance_list
+def GetInstanceFromAdbPort(cfg, adb_port):
+ """Get instance from adb port.
+
+ Args:
+ cfg: AcloudConfig object.
+ adb_port: int, adb port of instance.
+
+ Returns:
+ List of list.Instance() object.
+
+ Raises:
+ errors.NoInstancesFound: No instances found.
+ """
+ all_instance_info = []
+ for instance_object in GetInstances(cfg):
+ if instance_object.forwarding_adb_port == adb_port:
+ return [instance_object]
+ all_instance_info.append(instance_object.fullname)
+
+ # Show devices information to user when user provides wrong adb port.
+ if all_instance_info:
+ hint_message = ("No instance with adb port %d, available instances:\n%s"
+ % (adb_port, "\n".join(all_instance_info)))
+ else:
+ hint_message = "No instances to delete."
+ raise errors.NoInstancesFound(hint_message)
+
+
def Run(args):
"""Run list.