Skip to content

Commit a002b6e

Browse files
committed
parse owner and repository in a url safe way
1 parent 1efb767 commit a002b6e

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

perceval/backends/core/gitlab.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,8 @@ def merge(self, merge_id):
555555
"""Get the merge full data"""
556556

557557
path = urijoin(self.base_url,
558-
self.RPROJECTS, self.owner + '%2F' + self.repository,
558+
self.RPROJECTS, urllib.parse.quote(
559+
self.owner + '/' + self.repository, safe=''),
559560
self.RMERGES, merge_id)
560561

561562
response = self.fetch(path)
@@ -578,7 +579,8 @@ def merge_version(self, merge_id, version_id):
578579
"""Get merge version detail"""
579580

580581
path = urijoin(self.base_url,
581-
self.RPROJECTS, self.owner + '%2F' + self.repository,
582+
self.RPROJECTS, urllib.parse.quote(
583+
self.owner + '/' + self.repository, safe=''),
582584
self.RMERGES, merge_id, self.RVERSIONS, version_id)
583585

584586
response = self.fetch(path)
@@ -663,7 +665,9 @@ def fetch_items(self, path, payload):
663665

664666
page = 0 # current page
665667
last_page = None # last page
666-
url_next = urijoin(self.base_url, self.RPROJECTS, self.owner + '%2F' + self.repository, path)
668+
url_next = urijoin(
669+
self.base_url, self.RPROJECTS, urllib.parse.quote(
670+
self.owner + '/' + self.repository, safe=''), path)
667671

668672
logger.debug("Get GitLab paginated items from " + url_next)
669673

@@ -735,7 +739,8 @@ def _set_extra_headers(self):
735739
def _init_rate_limit(self):
736740
"""Initialize rate limit information"""
737741

738-
url = urijoin(self.base_url, 'projects', self.owner + '%2F' + self.repository)
742+
url = urijoin(self.base_url, 'projects', urllib.parse.quote(
743+
self.owner + '/' + self.repository, safe=''))
739744
try:
740745
response = super().fetch(url)
741746
self.update_rate_limit(response)

0 commit comments

Comments
 (0)