Issue #22278: Fix urljoin problem with relative urls, a regression observed

after changes to issue22118 were submitted.

Patch contributed by Demian Brecht and reviewed by Antoine Pitrou.
This commit is contained in:
Senthil Kumaran 2014-09-22 15:49:16 +08:00
parent e6c27c9f6b
commit a66e3885fb
3 changed files with 20 additions and 1 deletions

View file

@ -443,6 +443,10 @@ def urljoin(base, url, allow_fragments=True):
segments = path.split('/')
else:
segments = base_parts + path.split('/')
# filter out elements that would cause redundant slashes on re-joining
# the resolved_path
segments = segments[0:1] + [
s for s in segments[1:-1] if len(s) > 0] + segments[-1:]
resolved_path = []
@ -465,7 +469,7 @@ def urljoin(base, url, allow_fragments=True):
resolved_path.append('')
return _coerce_result(urlunparse((scheme, netloc, '/'.join(
resolved_path), params, query, fragment)))
resolved_path) or '/', params, query, fragment)))
def urldefrag(url):