phoneui-messages kept crashing on me and the recent frameworkd loved to die when reading messages with umlauts.
some research led me to the usual cause: handling of non-ascii in frameworkd stuff.
this time in opimd's type_manager.py.
since python's encoding handling is pretty much pita (and if not the handling itself, so in any case the documentation), i wrapped the offending line in an try/except instead of simply replacing str() with unicode()...
and all of a sudden, phoneui-messages showed the messages correctly.
# diff -Naur fso-frameworkd-0.9.5.9+git20100131/framework/subsystems/opimd/type_manager.py /tmp/type_manager.py
--- fso-frameworkd-0.9.5.9+git20100131/framework/subsystems/opimd/type_manager.py 2010-01-28 18:54:19.000000000 +0100
+++ /tmp/type_manager.py 2010-02-21 15:37:13.000000000 +0100
@@ -64,7 +64,10 @@
else:
return normalize_number(field_value)
else:
- return str(field_value)
+ try:
+ return str(field_value)
+ except:
+ return unicode(field_value)
@dbus_method(_DIN_TYPES, "", "as")
def List(self):