summaryrefslogtreecommitdiffstats
path: root/src/Gui/ConfBackend.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/Gui/ConfBackend.py')
-rw-r--r--src/Gui/ConfBackend.py27
1 files changed, 19 insertions, 8 deletions
diff --git a/src/Gui/ConfBackend.py b/src/Gui/ConfBackend.py
index c5ec597f..72657f5c 100644
--- a/src/Gui/ConfBackend.py
+++ b/src/Gui/ConfBackend.py
@@ -15,6 +15,15 @@ class ConfBackendInitError(Exception):
def __str__(self):
return self.what
+
+class ConfBackendSaveError(Exception):
+ def __init__(self, msg):
+ Exception.__init__(self)
+ self.what = msg
+
+ def __str__(self):
+ return self.what
+
class ConfBackend(object):
def __init__(self):
@@ -53,7 +62,7 @@ class ConfBackendGnomeKeyring(ConfBackend):
# nothing found
pass
except gkey.DeniedError:
- print _("Acces to gnome-keyring has been denied, plugins settings won't be saved.")
+ raise ConfBackendSaveError(_("Acces to gnome-keyring has been denied, plugins settings won't be saved."))
# delete all items containg "AbrtPluginInfo":<plugin_name>, so we always have only 1 item per plugin
for item in item_list:
@@ -62,13 +71,15 @@ class ConfBackendGnomeKeyring(ConfBackend):
if "Password" in settings_tmp:
password = settings_tmp["Password"]
del settings_tmp["Password"]
- gkey.item_create_sync(self.default_key_ring,
- gkey.ITEM_GENERIC_SECRET,
- "abrt:%s" % name,
- settings_tmp,
- password,
- True)
-
+ try:
+ gkey.item_create_sync(self.default_key_ring,
+ gkey.ITEM_GENERIC_SECRET,
+ "abrt:%s" % name,
+ settings_tmp,
+ password,
+ True)
+ except gkey.DeniedError, e:
+ raise ConfBackendSaveError(_("Acces to gnome-keyring has been denied, plugins settings won't be saved."))
def load(self, name):
item_list = None