summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Martz <matt@sivel.net>2019-09-04 16:06:43 -0500
committerToshio Kuratomi <a.badger@gmail.com>2019-09-04 18:01:46 -0700
commitab6efcd6cc3201029fb9dd3d465bc4908b339c16 (patch)
tree5e669e3cb5e782b5f4058e771e1a62cddf5bee26
parent23a79ecc77ca767a13f027393fba63705e4a5e2c (diff)
downloadansible-ab6efcd6cc3201029fb9dd3d465bc4908b339c16.tar.gz
[stable-2.9] Don't truncate the last character from galaxy urls. Fixes #61624 (#61775)
(cherry picked from commit 8214d18) Co-authored-by: Matt Martz <matt@sivel.net>
-rw-r--r--changelogs/fragments/61624-fix-galaxy-url-building.yml2
-rw-r--r--lib/ansible/galaxy/api.py10
2 files changed, 7 insertions, 5 deletions
diff --git a/changelogs/fragments/61624-fix-galaxy-url-building.yml b/changelogs/fragments/61624-fix-galaxy-url-building.yml
new file mode 100644
index 0000000000..8227977e47
--- /dev/null
+++ b/changelogs/fragments/61624-fix-galaxy-url-building.yml
@@ -0,0 +1,2 @@
+bugfixes:
+- ansible-galaxy - Fix url building to not truncate the URL (https://github.com/ansible/ansible/issues/61624)
diff --git a/lib/ansible/galaxy/api.py b/lib/ansible/galaxy/api.py
index 29a09fd9e6..0bede3bc4d 100644
--- a/lib/ansible/galaxy/api.py
+++ b/lib/ansible/galaxy/api.py
@@ -271,7 +271,7 @@ class GalaxyAPI:
raise AnsibleError("Invalid role name (%s). Specify role as format: username.rolename" % role_name)
url = _urljoin(self.api_server, self.available_api_versions['v1'], "roles",
- "?owner__username=%s&name=%s" % (user_name, role_name))[:-1]
+ "?owner__username=%s&name=%s" % (user_name, role_name))
data = self._call_galaxy(url)
if len(data["results"]) != 0:
return data["results"][0]
@@ -287,7 +287,7 @@ class GalaxyAPI:
results = []
try:
url = _urljoin(self.api_server, self.available_api_versions['v1'], "roles", role_id, related,
- "?page_size=50")[:-1]
+ "?page_size=50")
data = self._call_galaxy(url)
results = data['results']
done = (data.get('next_link', None) is None)
@@ -307,7 +307,7 @@ class GalaxyAPI:
Fetch the list of items specified.
"""
try:
- url = _urljoin(self.api_server, self.available_api_versions['v1'], what, "?page_size")[:-1]
+ url = _urljoin(self.api_server, self.available_api_versions['v1'], what, "?page_size")
data = self._call_galaxy(url)
if "results" in data:
results = data['results']
@@ -328,7 +328,7 @@ class GalaxyAPI:
@g_connect(['v1'])
def search_roles(self, search, **kwargs):
- search_url = _urljoin(self.api_server, self.available_api_versions['v1'], "search", "roles", "?")[:-1]
+ search_url = _urljoin(self.api_server, self.available_api_versions['v1'], "search", "roles", "?")
if search:
search_url += '&autocomplete=' + to_text(urlquote(to_bytes(search)))
@@ -382,7 +382,7 @@ class GalaxyAPI:
@g_connect(['v1'])
def delete_role(self, github_user, github_repo):
url = _urljoin(self.api_server, self.available_api_versions['v1'], "removerole",
- "?github_user=%s&github_repo=%s" % (github_user, github_repo))[:-1]
+ "?github_user=%s&github_repo=%s" % (github_user, github_repo))
data = self._call_galaxy(url, auth_required=True, method='DELETE')
return data