rattboi / mopidy-subsonic

Mopidy backend extension for playing music from Subsonic Music Streamer
MIT License
17 stars 14 forks source link

doesn't decode unicode correctly #20

Open unhammer opened 8 years ago

unhammer commented 8 years ago

when searching for a non-ASCII string like "sundfør" I get

ERROR    SubsonicBackend backend caused an exception.
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/mopidy/core/library.py", line 19, in _backend_error_handling
yield
File "/usr/lib/python2.7/dist-packages/mopidy/core/library.py", line 347, in search
result = future.get()
File "/usr/lib/python2.7/dist-packages/pykka/threading.py", line 52, in get
compat.reraise(*self._data['exc_info'])
File "/usr/lib/python2.7/dist-packages/pykka/compat.py", line 12, in reraise
exec('raise tp, value, tb')
File "/usr/lib/python2.7/dist-packages/pykka/actor.py", line 201, in _actor_loop
response = self._handle_receive(message)
File "/usr/lib/python2.7/dist-packages/pykka/actor.py", line 295, in _handle_receive
return callee(*message['args'], **message['kwargs'])
File "/usr/local/lib/python2.7/dist-packages/Mopidy_Subsonic-1.0.0-py2.7.egg/mopidy_subsonic/library.py", line 51, in search
tracks=self.remote.search_tracks(artist, album, title, any))
File "/usr/local/lib/python2.7/dist-packages/Mopidy_Subsonic-1.0.0-py2.7.egg/mopidy_subsonic/client.py", line 326, in search_tracks
any_set = self.search_any(any)
File "/usr/local/lib/python2.7/dist-packages/Mopidy_Subsonic-1.0.0-py2.7.egg/mopidy_subsonic/client.py", line 317, in search_any
artist_set = self.search_artist(any)
File "/usr/local/lib/python2.7/dist-packages/Mopidy_Subsonic-1.0.0-py2.7.egg/mopidy_subsonic/client.py", line 290, in search_artist
results = unescapeobj(self.api.search2(artist,100,0,0,0,0,0).get('searchResult2'))
File "/usr/local/lib/python2.7/dist-packages/libsonic/connection.py", line 502, in search2
req = self._getRequest(viewName, q)
File "/usr/local/lib/python2.7/dist-packages/libsonic/connection.py", line 2488, in _getRequest
req = urllib2.Request(url, urlencode(qstring))
File "/usr/lib/python2.7/urllib.py", line 1347, in urlencode
v = quote_plus(str(v))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xf8' in position 6: ordinal not in range(128)