@@ -304,7 +304,7 @@ class URI(object):
def _query_str(self):
return (
- ''.join(['?', self._param_str_join(self.query, "&")])
+ ''.join(['?', self._query_str_join(self.query, "&")])
if self.query else '')
def _param_str_split(self, string, elmdelim, kvdelim="="):
@@ -313,9 +313,12 @@ class URI(object):
ret[k] = v
return ret
- def _param_str_join(self, dict_, elmdelim, kvdelim="="):
+ def _query_str_join(self, dict_, elmdelim, kvdelim="="):
return elmdelim.join([kvdelim.join([k, v]) if v else k for k, v in dict_.items()])
+ def _param_str_join(self, dict_, elmdelim, kvdelim="="):
+ return elmdelim.join([kvdelim.join([k, v]) for k, v in dict_.items()])
+
@property
def hostport(self):
if not self.port:
@@ -292,8 +292,8 @@ class URITest(unittest.TestCase):
'query': {},
'relative': True
},
- "https://www.innodisk.com/Download_file?9BE0BF6657;downloadfilename=EGPL-T101.zip": {
- 'uri': 'https://www.innodisk.com/Download_file?9BE0BF6657;downloadfilename=EGPL-T101.zip',
+ "https://www.innodisk.com/Download_file?9BE0BF6657;downloadfilename=EGPL-T101.zip;someparam=": {
+ 'uri': 'https://www.innodisk.com/Download_file?9BE0BF6657;downloadfilename=EGPL-T101.zip;someparam=',
'scheme': 'https',
'hostname': 'www.innodisk.com',
'port': None,
@@ -303,7 +303,7 @@ class URITest(unittest.TestCase):
'userinfo': '',
'username': '',
'password': '',
- 'params': {"downloadfilename" : "EGPL-T101.zip"},
+ 'params': {"downloadfilename" : "EGPL-T101.zip", "someparam" : ""},
'query': {"9BE0BF6657": None},
'relative': False
},