From 39ee60a913f2f9f4569762c94b318f25cc71a57f Mon Sep 17 00:00:00 2001 From: Ryan Petrello Date: Tue, 10 Sep 2019 09:32:34 -0400 Subject: [PATCH] cli: fix a minor bug in uniqueness rule detection --- awxkit/awxkit/cli/client.py | 2 +- awxkit/awxkit/cli/options.py | 16 ++++++---------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/awxkit/awxkit/cli/client.py b/awxkit/awxkit/cli/client.py index e1df8709c2..1d4949fd92 100755 --- a/awxkit/awxkit/cli/client.py +++ b/awxkit/awxkit/cli/client.py @@ -181,7 +181,7 @@ class CLI(object): _filter == '.' and self.resource in UNIQUENESS_RULES ): - _filter = UNIQUENESS_RULES[self.resource] + _filter = ', '.join(UNIQUENESS_RULES[self.resource]) formatted = format_response( response, diff --git a/awxkit/awxkit/cli/options.py b/awxkit/awxkit/cli/options.py index d30c86e742..fd01fc364b 100644 --- a/awxkit/awxkit/cli/options.py +++ b/awxkit/awxkit/cli/options.py @@ -14,9 +14,9 @@ from .resource import DEPRECATED_RESOURCES_REVERSE UNIQUENESS_RULES = { - 'me': 'id, username', - 'users': 'id, username', - 'instances': 'id, hostname', + 'me': ('id', 'username'), + 'users': ('id', 'username'), + 'instances': ('id', 'hostname'), } @@ -34,17 +34,13 @@ def pk_or_name(v2, model_name, value, page=None): if model_name in DEPRECATED_RESOURCES_REVERSE: model_name = DEPRECATED_RESOURCES_REVERSE[model_name] - if model_name in UNIQUENESS_RULES: - identity = UNIQUENESS_RULES[model_name][-1] - if hasattr(v2, model_name): page = getattr(v2, model_name) + if model_name in UNIQUENESS_RULES: + identity = UNIQUENESS_RULES[model_name][-1] + if page: - if model_name == 'users': - identity = 'username' - elif model_name == 'instances': - model_name = 'hostname' results = page.get(**{identity: value}) if results.count == 1: return int(results.results[0].id)