Как использовать бэкэнд настроек ключевого файла из PyGObject? - PullRequest
1 голос
/ 02 февраля 2012

GIO (библиотека ввода-вывода GLib) имеет бэкэнд для GSettings, который использует ключевой файл.Из C вы можете создать экземпляр этого бэкэнда для принудительного использования ключевого файла вместо системного реестра, используя g_keyfile_settings_backend_new(), а затем g_settings_new_with_backend().Тем не менее, чтобы сделать это, вы должны #define G_SETTINGS_ENABLE_BACKEND в своем коде, так как публичный API бэкэнда нестабилен.

Я хотел бы сделать это из Python, используя PyGObject (просто чтобы быть понятным, так как этот терминсбивает с толку - это библиотека самоанализа GObject, которая поставляется с GTK 3, а не PyGObject, которая идет с PyGTK и GTK 2.) Я могу сделать

>>> from gi.repository import Gio
>>> 'SettingsBackend' in dir(Gio)
True

Однако в * нет функции, соответствующей g_keyfile_settings_backend_new()1010 *.Если я попытаюсь создать экземпляр бэкэнда,

>>> Gio.SettingsBackend()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
MemoryError

Итак, есть ли у кого-нибудь указатели?Или, может быть, модуль Python не был скомпилирован с G_SETTINGS_ENABLE_BACKEND, и мне не повезло?

...