Status: New
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 1694 by [email protected]: ibus-pinyin setup script halts when the current config file doesn't exist?
http://code.google.com/p/ibus/issues/detail?id=1694

What version of the product are you using? On what operating system?
OS (Linux distributions, UNIX or ...): Gentoo Linux
Architecture (i386, x86_64): x86_64
IBus version: 1.5.0
Input method name and version: ibus-pinyin 1.5.0
Python version: 3.3.3
dbus version: 1.6.18
dbus-python version: 1.2.0

What steps will reproduce the problem?
1. Remove the ibus config files, or corrupt it, or use one created by older version of ibus-pinyin. I'm not that sure.
2. Run ibus-setup, choose pinyin

What is the expected output? What do you see instead?
Expected: a config window appears
Actual: no window appeared

Please provide any additional information below.
When run from console you see the following error message:

(main.py:30697): IBUS-WARNING **: org.freedesktop.IBus.Config.GetValue: GDBus.Error:org.freedesktop.DBus.Error.Failed: Config value [general/hotkey:triggers] does not exist.

(main.py:30712): IBUS-WARNING **: org.freedesktop.IBus.Config.GetValues: GDBus.Error:org.freedesktop.DBus.Error.Failed: Config values [engine/Pinyin] does not exist.
Traceback (most recent call last):
  File "main.py", line 426, in <module>
    main()
  File "main.py", line 422, in main
    PreferencesDialog(name).run()
  File "main.py", line 54, in __init__
    self.__values = dict(self.__config.get_values(self.__config_namespace))
TypeError: 'NoneType' object is not iterable


Apparently ibus-pinyin setup script chokes when the config values can't be found.

Looking at setup/main.py, line 54:

self.__values = dict(self.__config.get_values(self.__config_namespace))

I changed it to the following lines:
if self.__config.get_values(self.__config_namespace) == None:
    self.__values = {}
else:
    self.__values = dict(self.__config.get_values(self.__config_namespace))

and the setup window would show normally.

Hope this helps.

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
--
You received this message because you are subscribed to the Google
Groups "ibus-devel" group.
iBus project web page: http://code.google.com/p/ibus/
iBus dev group: http://groups.google.com/group/ibus-devel?hl=en
--- You received this message because you are subscribed to the Google Groups "ibus-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

回复