TritonDataCenter / python-manta

Python SDK for Manta (community maintained)
MIT License
25 stars 18 forks source link

crash in `mantash find` on u'\u0308' char in filename #16

Closed trentm closed 10 years ago

trentm commented 10 years ago

e.g.:

...
./Cecilia Bartoli
./Cecilia Bartoli/Mozart_ Arias
./Cecilia Bartoli/Mozart_ Arias/01 Mozart_ Le Nozze Di Figaro, K 492 - Act 1_ Non So Piu.m4a
mantash: ERROR: u'\u0308' (/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py:1238 in quote)

Traceback (most recent call last):
  File "/Users/trentm/joy/python-manta/bin/mantash", line 1766, in <module>
    retval = main(sys.argv)
  File "/Users/trentm/joy/python-manta/bin/mantash", line 1760, in main
    return shell.main(argv, loop=cmdln.LOOP_IF_EMPTY)
  File "/Users/trentm/joy/python-manta/manta/cmdln.py", line 268, in main
    return self.cmdloop()
  File "/Users/trentm/joy/python-manta/manta/cmdln.py", line 358, in cmdloop
    retval = self.onecmd(argv)
  File "/Users/trentm/joy/python-manta/manta/cmdln.py", line 422, in onecmd
    return self._dispatch_cmd(handler, argv)
  File "/Users/trentm/joy/python-manta/manta/cmdln.py", line 1109, in _dispatch_cmd
    return handler(argv)
  File "/Users/trentm/joy/python-manta/bin/mantash", line 1392, in do_find
    for dirent in find_all(ntop):
  File "/Users/trentm/joy/python-manta/bin/mantash", line 1378, in find_all
    for dirpath, dirents, objents in self.client.walk(d):
  File "/Users/trentm/joy/python-manta/manta/client.py", line 640, in walk
    for x in self.walk(mpath, topdown):
  File "/Users/trentm/joy/python-manta/manta/client.py", line 627, in walk
    dirents = self.ls(mtop)
  File "/Users/trentm/joy/python-manta/manta/client.py", line 672, in ls
    mdir, marker=marker)
  File "/Users/trentm/joy/python-manta/manta/client.py", line 235, in list_directory2
    res, content = self._request(mdir, "GET", query=query)
  File "/Users/trentm/joy/python-manta/manta/client.py", line 167, in _request
    qpath = urlquote(path)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 1238, in quote
    return ''.join(map(quoter, s))
KeyError: u'\u0308'

Suspect it was this dir:

[trent.mick@manta /trent.mick/stor/music]$ ls
...
Cecilia Bartoli
Cecilia Bartoli; György Fischer_ Vienna Chamber Orchestra
...
trentm commented 10 years ago

Also this cd failure into that dir:

[trent.mick@manta /trent.mick/stor/music]$ cd "Cecilia Bartoli; György Fischer_ Vienna Chamber Orchestra"
mantash: ERROR: Cecilia Bartoli; György Fischer_ Vienna Chamber Orchestra: no such directory
[trent.mick@manta /trent.mick/stor/music]$

Yuck encodings.

trentm commented 10 years ago

Fixed in commit 2b93827