{"action":"created","issue":{"url":"https://api.github.com/repos/jaraco/keyring/issues/235","repository_url":"https://api.github.com/repos/jaraco/keyring","labels_url":"https://api.github.com/repos/jaraco/keyring/issues/235/labels{/name}","comments_url":"https://api.github.com/repos/jaraco/keyring/issues/235/comments","events_url":"https://api.github.com/repos/jaraco/keyring/issues/235/events","html_url":"https://github.com/jaraco/keyring/issues/235","id":162821649,"number":235,"title":"Cannot use with kwallet any more","user":{"login":"protist","id":646668,"avatar_url":"https://avatars.githubusercontent.com/u/646668?v=3","gravatar_id":"","url":"https://api.github.com/users/protist","html_url":"https://github.com/protist","followers_url":"https://api.github.com/users/protist/followers","following_url":"https://api.github.com/users/protist/following{/other_user}","gists_url":"https://api.github.com/users/protist/gists{/gist_id}","starred_url":"https://api.github.com/users/protist/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/protist/subscriptions","organizations_url":"https://api.github.com/users/protist/orgs","repos_url":"https://api.github.com/users/protist/repos","events_url":"https://api.github.com/users/protist/events{/privacy}","received_events_url":"https://api.github.com/users/protist/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2016-06-29T01:20:02Z","updated_at":"2016-07-05T05:06:59Z","closed_at":null,"body":"I just upgraded from keyring 9.2.1 to 9.3, and I can no longer access my kwallet passwords. It worked fine in 9.1, and perhaps 9.2.1. I'm not really sure what I'm doing, but I followed a few hints from other issues here.\r\n```\r\n$ python\r\nPython 3.5.1 (default, Mar  3 2016, 09:29:07) \r\n[GCC 5.3.0] on linux\r\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\r\n>>> import keyring\r\n>>> keyring.get_password(\"mbsync\",\"foo@bar.com\")\r\n>>> keyring.get_keyring()\r\n<keyring.backends.SecretService.Keyring object at 0x7f32a1719080>\r\n>>> import keyring.backends.kwallet\r\n>>> keyring.get_password(\"mbsync\",\"foo@bar.com\")\r\n>>> print(keyring.backends.kwallet.Keyring.priority)\r\nTraceback (most recent call last):\r\n  File \"<stdin>\", line 1, in <module>\r\nAttributeError: module 'keyring.backends.kwallet' has no attribute 'Keyring'\r\n```\r\nI tried using keyring directly from the shell, but I'm not really sure how to specify the backend (and the README is a bit lacking).\r\n```\r\n$ keyring get mbsync foo@bar.com\r\n$ keyring -b kwallet get mbsync foo@bar.com\r\nUsage: keyring [get|set|del] SERVICE USERNAME\r\n\r\nkeyring: error: Unable to load specified keyring: Empty module name\r\n$ keyring -b keyring.backends.kwallet get mbsync foo@bar.com\r\nUsage: keyring [get|set|del] SERVICE USERNAME\r\n\r\nkeyring: error: Unable to load specified keyring: module 'keyring.backends.kwallet' has no attribute 'priority'\r\n$ keyring -b keyring.backends.kwallet.Keyring get mbsync foo@bar.com\r\nUsage: keyring [get|set|del] SERVICE USERNAME\r\n\r\nkeyring: error: Unable to load specified keyring: module 'keyring.backends.kwallet' has no attribute 'Keyring'\r\n```\r\nFinally, I tried creating `~/.local/share/python_keyring/keyringrc.cfg` with the following.\r\n```\r\n[backend]\r\ndefault-keyring = keyring.backends.kwallet.Keyring\r\n```\r\nHowever, this still failed.\r\n```\r\n$ keyring get mbsync foo@bar.com\r\nTraceback (most recent call last):\r\n  File \"/usr/bin/keyring\", line 9, in <module>\r\n    load_entry_point('keyring==9.3', 'console_scripts', 'keyring')()\r\n  File \"/usr/lib/python3.5/site-packages/pkg_resources/__init__.py\", line 542, in load_entry_point\r\n    return get_distribution(dist).load_entry_point(group, name)\r\n  File \"/usr/lib/python3.5/site-packages/pkg_resources/__init__.py\", line 2569, in load_entry_point\r\n    return ep.load()\r\n  File \"/usr/lib/python3.5/site-packages/pkg_resources/__init__.py\", line 2229, in load\r\n    return self.resolve()\r\n  File \"/usr/lib/python3.5/site-packages/pkg_resources/__init__.py\", line 2235, in resolve\r\n    module = __import__(self.module_name, fromlist=['__name__'], level=0)\r\n  File \"/usr/lib/python3.5/site-packages/keyring/__init__.py\", line 6, in <module>\r\n    from .core import (set_keyring, get_keyring, set_password, get_password,\r\n  File \"/usr/lib/python3.5/site-packages/keyring/core.py\", line 149, in <module>\r\n    init_backend()\r\n  File \"/usr/lib/python3.5/site-packages/keyring/core.py\", line 68, in init_backend\r\n    load_config()\r\n  File \"/usr/lib/python3.5/site-packages/keyring/core.py\", line 138, in load_config\r\n    return load_keyring(keyring_name)\r\n  File \"/usr/lib/python3.5/site-packages/keyring/core.py\", line 106, in load_keyring\r\n    class_ = _load_keyring_class(keyring_name)\r\n  File \"/usr/lib/python3.5/site-packages/keyring/core.py\", line 98, in _load_keyring_class\r\n    return getattr(module, class_name)\r\nAttributeError: module 'keyring.backends.kwallet' has no attribute 'Keyring'\r\n```\r\nI just tested downgrading to 9.1 and 9.2.1, but neither actually work. Perhaps some of the dependencies have changed? I couldn't see anything obvious. I'm using Arch Linux."},"comment":{"url":"https://api.github.com/repos/jaraco/keyring/issues/comments/230388395","html_url":"https://github.com/jaraco/keyring/issues/235#issuecomment-230388395","issue_url":"https://api.github.com/repos/jaraco/keyring/issues/235","id":230388395,"user":{"login":"protist","id":646668,"avatar_url":"https://avatars.githubusercontent.com/u/646668?v=3","gravatar_id":"","url":"https://api.github.com/users/protist","html_url":"https://github.com/protist","followers_url":"https://api.github.com/users/protist/followers","following_url":"https://api.github.com/users/protist/following{/other_user}","gists_url":"https://api.github.com/users/protist/gists{/gist_id}","starred_url":"https://api.github.com/users/protist/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/protist/subscriptions","organizations_url":"https://api.github.com/users/protist/orgs","repos_url":"https://api.github.com/users/protist/repos","events_url":"https://api.github.com/users/protist/events{/privacy}","received_events_url":"https://api.github.com/users/protist/received_events","type":"User","site_admin":false},"created_at":"2016-07-05T05:06:59Z","updated_at":"2016-07-05T05:06:59Z","body":"@jaraco When I don't change the configuration file, keyring pulls from Gnome Keyring, which gives me raw, unescaped text. Previous versions of keyring did the same thing with kwallet.\r\n\r\nI'm using keyring to pull passwords for programs like mbsync and vdirsyncer, so raw, unescaped passwords is perfect, and consistent with the behaviour with Gnome Keyring."}}
{"actor":{"display_login":"protist"}}