Package: kupfer
Version: 0+v208-2
Severity: important
Tags: patch
Usertags: keyring-3.2

In python-keyring 1.1 the keyrings from keyring.backend have been moved
into separate modules in keyring.backends and added compatibility
imports in keyring.backend. In python-keyring 3.0 these compatibility
imports have been removed. kupfer still uses keyrings from
keyring.backend and needs to be adopted for the new naming scheme.

Please apply the attached patch to make kupfer compatible with
python-keyring 3.0 and later. python-keyring 3.2 is available in
experimental so that you can test the patch.

Regards
-- 
Sebastian Ramacher
--- a/kupfer/plugin_support.py
+++ b/kupfer/plugin_support.py
@@ -166,11 +166,14 @@
 	@classmethod
 	def get_backend_name(cls):
 		import keyring.core
-		import keyring.backend
+		import keyring.backends
+		import keyring.backends.file
+		import keyring.backends.Gnome
+		import keyring.backends.kwallet
 		keyring_map = {
-				keyring.backend.GnomeKeyring : _("GNOME Keyring"),
-				keyring.backend.KDEKWallet : _("KWallet"),
-				keyring.backend.UncryptedFileKeyring: _("Unencrypted File"),
+				keyring.backends.Gnome.Keyring : _("GNOME Keyring"),
+				keyring.backends.kwallet.Keyring : _("KWallet"),
+				keyring.backends.file.PlaintextKeyring: _("Unencrypted File"),
 			}
 		kr = keyring.get_keyring()
 		keyring_name = keyring_map.get(type(kr), type(kr).__name__)
@@ -209,10 +212,10 @@
 		raise
 	else:
 		# Configure the fallback keyring's configuration file if used
-		import keyring.backend
+		import keyring.backends
 		kr = keyring.get_keyring()
 		if hasattr(kr, "crypted_password"):
-			keyring.set_keyring(keyring.backend.UncryptedFileKeyring())
+			keyring.set_keyring(keyring.backends.file.PlaintextKeyring())
 			kr = keyring.get_keyring()
 		if hasattr(kr, "file_path"):
 			kr.file_path = config.save_config_file("keyring.cfg")

Attachment: signature.asc
Description: Digital signature

Reply via email to