mirror of
https://github.com/Hopiu/linkchecker.git
synced 2026-04-24 16:14:45 +00:00
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:
parent
311be4ac04
commit
0fe112ad4e
1 changed files with 10 additions and 4 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue