Message120647
| Author |
hfuru |
| Recipients |
hfuru |
| Date |
2010年11月06日.18:52:05 |
| SpamBayes Score |
0.0019393719 |
| Marked as misclassified |
No |
| Message-id |
<1289069527.47.0.125931197964.issue10343@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
urlunparse(url or params = bytes object) produces a result
with the repr of the bytes object.
urllib.parse.urlunparse(['http', 'host', '/dir', b'params', '', ''])
--> "http://host/dir;b'params'"
That's confusing since urllib/parse.py goes to a lot of trouble to
support both bytes and str. Simplest fix is to only accept str:
Index: Lib/urllib/parse.py
@@ -219,5 +219,5 @@ def urlunparse(components):
scheme, netloc, url, params, query, fragment = components
if params:
- url = "%s;%s" % (url, params)
+ url = ';'.join((url, params))
return urlunsplit((scheme, netloc, url, query, fragment))
Some people at comp.lang.python tell me code shouldn't anyway do str()
just in case it is needed like urllib does, not that I can make much
sense of that discussion. (Subject: harmful str(bytes)).
BTW, the str vs bytes code doesn't have to be quite as painful as in
urllib.parse, I enclose patch which just rearranges and factors out
some code. |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2010年11月06日 18:52:07 | hfuru | set | recipients:
+ hfuru |
| 2010年11月06日 18:52:07 | hfuru | set | messageid: <1289069527.47.0.125931197964.issue10343@psf.upfronthosting.co.za> |
| 2010年11月06日 18:52:06 | hfuru | link | issue10343 messages |
| 2010年11月06日 18:52:05 | hfuru | create |
|