summaryrefslogtreecommitdiffstats
path: root/testapi/testapi-client/testapiclient/utils/url_parse.py
diff options
context:
space:
mode:
Diffstat (limited to 'testapi/testapi-client/testapiclient/utils/url_parse.py')
-rw-r--r--testapi/testapi-client/testapiclient/utils/url_parse.py18
1 files changed, 18 insertions, 0 deletions
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__))