better url joining

git-svn-id: https://linkchecker.svn.sourceforge.net/svnroot/linkchecker/trunk/linkchecker@1466 e7d03fd6-7b0d-0410-9947-9c21f3af8025
This commit is contained in:
calvin 2004-08-23 22:53:57 +00:00
parent 311be4ac04
commit 0fe112ad4e

View file

@ -76,6 +76,12 @@ def print_app_info ():
print >> sys.stderr, key, "=", repr(value)
def urljoin (parent, url, scheme):
if url.startswith(scheme+":"):
return url
return urlparse.urljoin(parent, url)
class UrlBase (object):
"""An URL with additional information like validity etc."""
@ -206,11 +212,11 @@ class UrlBase (object):
# use base reference as parent url
if ":" not in self.base_ref:
# some websites have a relative base reference
self.base_ref = urlparse.urljoin(self.parent_url,
self.base_ref)
self.url = urlparse.urljoin(self.base_ref, self.base_url)
self.base_ref = urljoin(self.parent_url, self.base_ref,
self.scheme)
self.url = urljoin(self.base_ref, self.base_url, self.scheme)
elif self.parent_url:
self.url = urlparse.urljoin(self.parent_url, self.base_url)
self.url = urljoin(self.parent_url, self.base_url, self.scheme)
else:
self.url = self.base_url
# split into (modifiable) list