I assume you mean path should be unicode?  Anyway, running quote on a unicode objects breaks, so believe this is correct as it stands.

On a side note, this type of stuff is horrible in low level HTTP as I think the spec really says latin1 for headers etc, but utf-8 mostly works, but gets horrible when mixing with quoting and not quite knowing how much the server supports...

```
In [2]: urllib.quote(u'æøå')
/usr/lib/python2.7/urllib.py:1282: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  return ''.join(map(quoter, s))
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-2-535e1b906d18> in <module>()
----> 1 urllib.quote(u'æøå')

/usr/lib/python2.7/urllib.pyc in quote(s, safe)
   1280     if not s.rstrip(safe):
   1281         return s
-> 1282     return ''.join(map(quoter, s))
   1283 
   1284 def quote_plus(s, safe=''):

KeyError: u'\xe6'

In [3]: urllib.quote(u'æøå'.encode('utf-8'))
Out[3]: '%C3%A6%C3%B8%C3%A5'
```