diff options
Diffstat (limited to 'testapi/testapi-client/testapiclient/utils/url_parse.py')
-rw-r--r-- | testapi/testapi-client/testapiclient/utils/url_parse.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/testapi/testapi-client/testapiclient/utils/url_parse.py b/testapi/testapi-client/testapiclient/utils/url_parse.py new file mode 100644 index 0000000..08f7a63 --- /dev/null +++ b/testapi/testapi-client/testapiclient/utils/url_parse.py @@ -0,0 +1,22 @@ +import os + +from six.moves.urllib import parse + + +def path_join(base, *urls): + def _path_join(base, url): + if not base.endswith('/'): + base += '/' + return parse.urljoin(base, url) + + urls = (base,) + urls + return reduce(_path_join, urls) + + +def query_join(base, **queries): + return base + '?' + parse.urlencode(queries) + + +def resource_join(url): + testapi_url = os.environ.get('testapi_url') + return path_join(testapi_url, url) |