mirror of https://github.com/scrapy/scrapy.git
url_query_cleaner: do not append ? if query is empty
This commit is contained in:
parent
3d731ba641
commit
ac646a3b47
|
|
@ -138,6 +138,8 @@ class UrlUtilsTest(unittest.TestCase):
|
|||
def test_url_query_cleaner(self):
|
||||
self.assertEqual('product.html?id=200',
|
||||
url_query_cleaner("product.html?id=200&foo=bar&name=wired", ['id']))
|
||||
self.assertEqual('product.html',
|
||||
url_query_cleaner("product.html?foo=bar&name=wired", ['id']))
|
||||
self.assertEqual('product.html?id=200&name=wired',
|
||||
url_query_cleaner("product.html?id=200&foo=bar&name=wired", ['id', 'name']))
|
||||
self.assertEqual('product.html?id',
|
||||
|
|
|
|||
|
|
@ -108,7 +108,8 @@ def url_query_cleaner(url, parameterlist=(), sep='&', kvsep='=', remove=False, u
|
|||
else:
|
||||
querylist.append([k, s, v])
|
||||
seen.add(k)
|
||||
return base + '?' + sep.join(''.join(ksv) for ksv in querylist)
|
||||
query = '?' + sep.join(''.join(ksv) for ksv in querylist)
|
||||
return urlparse.urljoin(base, query)
|
||||
|
||||
def add_or_replace_parameter(url, name, new_value, sep='&', url_is_quoted=False):
|
||||
"""Add or remove a parameter to a given url"""
|
||||
|
|
|
|||
Loading…
Reference in New Issue