summaryrefslogtreecommitdiffstats
path: root/testapi/testapi-client/testapiclient/utils
diff options
context:
space:
mode:
authorSerenaFeng <feng.xiaowei@zte.com.cn>2018-03-13 11:33:27 +0800
committerSerenaFeng <feng.xiaowei@zte.com.cn>2018-03-13 11:33:27 +0800
commit010060d932e236c7eb6802d696c68be8ac0d91ec (patch)
treee78a48e1ebe57459f690bf94400438ec48bb5288 /testapi/testapi-client/testapiclient/utils
parent12b7a2b54f4e3c36d49dec2b2620826aa7029a3e (diff)
format URLs
1. unify URL query 2. unify URL format Change-Id: I4bdf13067c4f726df42a8e34b4365fed4f58924e Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
Diffstat (limited to 'testapi/testapi-client/testapiclient/utils')
-rw-r--r--testapi/testapi-client/testapiclient/utils/command.py8
-rw-r--r--testapi/testapi-client/testapiclient/utils/url_parse.py18
2 files changed, 18 insertions, 8 deletions
diff --git a/testapi/testapi-client/testapiclient/utils/command.py b/testapi/testapi-client/testapiclient/utils/command.py
index c99a3f3..9614acf 100644
--- a/testapi/testapi-client/testapiclient/utils/command.py
+++ b/testapi/testapi-client/testapiclient/utils/command.py
@@ -7,7 +7,6 @@ from cliff import show
import six
from testapiclient import utils
-from testapiclient.utils import url_parse
class CommandMeta(abc.ABCMeta):
@@ -39,13 +38,6 @@ class Command(command.Command):
class Lister(Command, lister.Lister):
@staticmethod
- def filter_by_name(url, parsed_args):
- def query_url():
- return url_parse.query_join(url, name=parsed_args.name)
-
- return query_url() if parsed_args.name else url
-
- @staticmethod
def format_output(columns, data):
return (columns,
(utils.get_item_properties(s, columns) for s in data))
diff --git a/testapi/testapi-client/testapiclient/utils/url_parse.py b/testapi/testapi-client/testapiclient/utils/url_parse.py
index 08f7a63..fbc503a 100644
--- a/testapi/testapi-client/testapiclient/utils/url_parse.py
+++ b/testapi/testapi-client/testapiclient/utils/url_parse.py
@@ -20,3 +20,21 @@ def query_join(base, **queries):
def resource_join(url):
testapi_url = os.environ.get('testapi_url')
return path_join(testapi_url, url)
+
+
+def get_queries(queries, parsed_args):
+ if not isinstance(queries, list):
+ queries = [queries]
+
+ return {query: getattr(parsed_args, query)
+ for query in queries
+ if hasattr(parsed_args, query)}
+
+
+def query_by(base, queries, parsed_args):
+ return query_join(base,
+ **get_queries(queries, parsed_args))
+
+
+def url_format(base, parsed_args):
+ return base.format(**(parsed_args.__dict__))