forked from pool/python-urlgrabber
29 lines
1.1 KiB
Diff
29 lines
1.1 KiB
Diff
![]() |
diff --unified -u -r urlgrabber-3.9.1.orig/urlgrabber/mirror.py urlgrabber-3.9.1/urlgrabber/mirror.py
|
||
|
--- urlgrabber-3.9.1.orig/urlgrabber/mirror.py 2014-09-16 14:44:54.582048746 +0200
|
||
|
+++ urlgrabber-3.9.1/urlgrabber/mirror.py 2014-09-16 14:49:24.138034099 +0200
|
||
|
@@ -88,6 +88,7 @@
|
||
|
|
||
|
|
||
|
import random
|
||
|
+import urlparse
|
||
|
import thread # needed for locking to make this threadsafe
|
||
|
|
||
|
from grabber import URLGrabError, CallbackObject, DEBUG
|
||
|
@@ -366,11 +367,12 @@
|
||
|
# by overriding the configuration methods :)
|
||
|
|
||
|
def _join_url(self, base_url, rel_url):
|
||
|
- if base_url.endswith('/') or rel_url.startswith('/'):
|
||
|
- return base_url + rel_url
|
||
|
+ (scheme, netloc, path, query, fragid) = urlparse.urlsplit(base_url)
|
||
|
+ if path.endswith('/') or rel_url.startswith('/'):
|
||
|
+ return urlparse.urlunsplit((scheme, netloc, path + rel_url, query, fragid))
|
||
|
else:
|
||
|
- return base_url + '/' + rel_url
|
||
|
-
|
||
|
+ return urlparse.urlunsplit((scheme, netloc, path + '/' + rel_url, query, fragid))
|
||
|
+
|
||
|
def _mirror_try(self, func, url, kw):
|
||
|
gr = GrabRequest()
|
||
|
gr.func = func
|