File python-urlgrabber-3.9.1-preserve-queryparams-in-urls.patch of Package python-urlgrabber
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