UDFs with non-ascii names are broken
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu One Client |
Confirmed
|
High
|
Guillermo Gonzalez |
Bug Description
Create a directory in my home, called "camión".
Told it to be UDF, and the command never returned, but saw the following in the logs:
2010-05-09 16:44:46,444 - twisted - ERROR - Unhandled Error
Traceback (most recent call last):
File "/usr/lib/
queue.run()
File "/usr/lib/
d = command.run()
File "/usr/lib/
d.addCallba
File "/usr/lib/
self.
--- <exception caught here> ---
File "/usr/lib/
self.result = callback(
File "/usr/lib/
d = self._run()
File "/usr/lib/
return self.action_
File "/usr/lib/
p.start()
File "/usr/lib/
return self._start()
File "/usr/lib/
message.
File "/usr/lib/
type_
File "/usr/lib/
(proposed_
exceptions.
After that, if I try to create it again (always using u1sdtool), I see in the logs:
2010-05-09 16:44:58,712 - ubuntuone.
But, it doesn't appear when I do u1sdtool --list-folders.
tags: | added: chicharra-maverick |
I changed a file in my installed u1: In action_queue.py, changed
# XXX Unicode boundary?
self.name = name
by
self.name = name.decode('utf8')
in CreateUDF class.
Now the creation itself worked, but the u1sdtool command never returned. Checking the logs, saw:
2010-05-09 18:04:04,557 - ubuntuone. SyncDaemon. EQ - ERROR - Error encountered while handling: VM_UDF_CREATED in <ubuntuone. syncdaemon. dbus_interface. EventListener object at 0x9f373cc> python2. 6/dist- packages/ ubuntuone/ syncdaemon/ event_queue. py", line 794, in _dispatch python2. 6/dist- packages/ ubuntuone/ syncdaemon/ dbus_interface. py", line 640, in handle_ VM_UDF_ CREATED dbus_iface. folders. emit_folder_ created( udf) python2. 6/dist- packages/ ubuntuone/ syncdaemon/ dbus_interface. py", line 1322, in emit_folder_created udf_dict( folder) python2. 6/dist- packages/ ubuntuone/ syncdaemon/ dbus_interface. py", line 1250, in _get_udf_dict dict[unicode( k)] = unicode(v)
Traceback (most recent call last):
File "/usr/lib/
method(*args, **kwargs)
File "/usr/lib/
self.
File "/usr/lib/
udf_dict = self._get_
File "/usr/lib/
udf_
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 3: ordinal not in range(128)
And now everything is flaky: for example, --list-folders does not work anymore.
It seems that the whole UDF command set needs to be revised to work ok in these cases.
In any case, I now have the UDF created with the accent, and even putting files inside it are recognized ok.