)]}'
{"novaclient/shell.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"a9cae1e55fd463923e380d510cfe69c5c17e28ef","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            block \u003d keyring.get_password(\u0027novaclient_auth\u0027, self._make_key())"},{"line_number":152,"context_line":"            if block:"},{"line_number":153,"context_line":"                _token, management_url, _tenant_id \u003d block.split(\u0027|\u0027, 2)"},{"line_number":154,"context_line":"        except _IOError:"},{"line_number":155,"context_line":"            pass"},{"line_number":156,"context_line":"        except ValueError:"},{"line_number":157,"context_line":"            pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FAOw%3D","line":154,"updated":"2013-02-11 21:54:52.000000000","message":"You could also merge this with the except for ValueError:\n\n    except (_IOError, ValueError):\n        pass","commit_id":"edc9289504624cbe1c5756e86c4ecbf00e352ea3"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"8260b0c148ef6be54bb000a34929eed0ab8e7312","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            block \u003d keyring.get_password(\u0027novaclient_auth\u0027, self._make_key())"},{"line_number":152,"context_line":"            if block:"},{"line_number":153,"context_line":"                _token, management_url, _tenant_id \u003d block.split(\u0027|\u0027, 2)"},{"line_number":154,"context_line":"        except _IOError:"},{"line_number":155,"context_line":"            pass"},{"line_number":156,"context_line":"        except ValueError:"},{"line_number":157,"context_line":"            pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2B64o%3D","line":154,"in_reply_to":"AAAAM3%2F%2FAOw%3D","updated":"2013-02-14 14:27:37.000000000","message":"Done","commit_id":"edc9289504624cbe1c5756e86c4ecbf00e352ea3"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"35443c4c2313069749e4680ccee247904436a220","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    try:"},{"line_number":37,"context_line":"        if isinstance(keyring.get_keyring(), keyring.backend.GnomeKeyring):"},{"line_number":38,"context_line":"            _IOError \u003d gnomekeyring.IOError"},{"line_number":39,"context_line":"    except ImportError:"},{"line_number":40,"context_line":"        _IOError \u003d IOError"},{"line_number":41,"context_line":"except ImportError:"},{"line_number":42,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2B6qw%3D","line":39,"updated":"2013-02-14 15:55:50.000000000","message":"Does accessing keyring.backend.GnomeKeyring if it\u0027s not present raise an ImportError or an AttributeError?","commit_id":"76632f051a30231c8e60f87d536d162449c9fbae"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"6dd4ab21d388f5d877cf963b43a82bebd6f1440f","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    try:"},{"line_number":37,"context_line":"        if isinstance(keyring.get_keyring(), keyring.backend.GnomeKeyring):"},{"line_number":38,"context_line":"            _IOError \u003d gnomekeyring.IOError"},{"line_number":39,"context_line":"    except ImportError:"},{"line_number":40,"context_line":"        _IOError \u003d IOError"},{"line_number":41,"context_line":"except ImportError:"},{"line_number":42,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2B6iM%3D","line":39,"in_reply_to":"AAAAM3%2F%2B6qw%3D","updated":"2013-02-14 16:49:57.000000000","message":"thanks, i\u0027ll just switch the code to catch all errors","commit_id":"76632f051a30231c8e60f87d536d162449c9fbae"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"02054d528f09a08e29a865197ac6e200aa53fe25","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    try:"},{"line_number":37,"context_line":"        if isinstance(keyring.get_keyring(), keyring.backend.GnomeKeyring):"},{"line_number":38,"context_line":"            _IOError \u003d gnomekeyring.IOError"},{"line_number":39,"context_line":"    except:"},{"line_number":40,"context_line":"        _IOError \u003d IOError"},{"line_number":41,"context_line":"except ImportError:"},{"line_number":42,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAM3%2F%2B6gw%3D","line":39,"updated":"2013-02-14 16:56:04.000000000","message":"I believe we want, at a minimum, \"except Exception:\" here.","commit_id":"599f6326d6832db5bf602f708d2065b25b0608b3"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"aca71b7a748b65dee45241cb4ab9eac7513dbdc0","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    try:"},{"line_number":37,"context_line":"        if isinstance(keyring.get_keyring(), keyring.backend.GnomeKeyring):"},{"line_number":38,"context_line":"            _IOError \u003d gnomekeyring.IOError"},{"line_number":39,"context_line":"    except:"},{"line_number":40,"context_line":"        _IOError \u003d IOError"},{"line_number":41,"context_line":"except ImportError:"},{"line_number":42,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAM3%2F%2B6f0%3D","line":39,"in_reply_to":"AAAAM3%2F%2B6gw%3D","updated":"2013-02-14 16:59:02.000000000","message":"Happy to make the change :)","commit_id":"599f6326d6832db5bf602f708d2065b25b0608b3"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"5c55ba1c5eff9a6b3b748a7230e802824d32822d","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    HAS_KEYRING \u003d True"},{"line_number":36,"context_line":"    try:"},{"line_number":37,"context_line":"        if isinstance(keyring.get_keyring(), keyring.backend.GnomeKeyring):"},{"line_number":38,"context_line":"            _IOError \u003d gnomekeyring.IOError"},{"line_number":39,"context_line":"    except Exception:"},{"line_number":40,"context_line":"        _IOError \u003d IOError"},{"line_number":41,"context_line":"except ImportError:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2B5sg%3D","line":38,"updated":"2013-02-15 00:49:46.000000000","message":"Is this missing an else clause?","commit_id":"d1d4f33aca4f9753dd31972ea53ddc831b52fbfc"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"0fc2a9df851ea7313eef4e08f448ed4a3fd714b6","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    HAS_KEYRING \u003d True"},{"line_number":36,"context_line":"    try:"},{"line_number":37,"context_line":"        if isinstance(keyring.get_keyring(), keyring.backend.GnomeKeyring):"},{"line_number":38,"context_line":"            _IOError \u003d gnomekeyring.IOError"},{"line_number":39,"context_line":"    except Exception:"},{"line_number":40,"context_line":"        _IOError \u003d IOError"},{"line_number":41,"context_line":"except ImportError:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2B5rk%3D","line":38,"in_reply_to":"AAAAM3%2F%2B5sA%3D","updated":"2013-02-15 01:15:59.000000000","message":"Done","commit_id":"d1d4f33aca4f9753dd31972ea53ddc831b52fbfc"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"c7e92823ff1dfb8283b1a2b947ccb31d206f97e5","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    HAS_KEYRING \u003d True"},{"line_number":36,"context_line":"    try:"},{"line_number":37,"context_line":"        if isinstance(keyring.get_keyring(), keyring.backend.GnomeKeyring):"},{"line_number":38,"context_line":"            _IOError \u003d gnomekeyring.IOError"},{"line_number":39,"context_line":"    except Exception:"},{"line_number":40,"context_line":"        _IOError \u003d IOError"},{"line_number":41,"context_line":"except ImportError:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2B5sA%3D","line":38,"in_reply_to":"AAAAM3%2F%2B5sg%3D","updated":"2013-02-15 01:03:44.000000000","message":"Actually, I think you\u0027re right; if GnomeKeyring is available, but is not being used by keyring, then _IOError will end up unset…","commit_id":"d1d4f33aca4f9753dd31972ea53ddc831b52fbfc"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"0fc2a9df851ea7313eef4e08f448ed4a3fd714b6","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    HAS_KEYRING \u003d True"},{"line_number":36,"context_line":"    try:"},{"line_number":37,"context_line":"        if isinstance(keyring.get_keyring(), keyring.backend.GnomeKeyring):"},{"line_number":38,"context_line":"            _IOError \u003d gnomekeyring.IOError"},{"line_number":39,"context_line":"    except Exception:"},{"line_number":40,"context_line":"        _IOError \u003d IOError"},{"line_number":41,"context_line":"except ImportError:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2B5rg%3D","line":38,"in_reply_to":"AAAAM3%2F%2B5sg%3D","updated":"2013-02-15 01:15:59.000000000","message":"y. thanks!!!","commit_id":"d1d4f33aca4f9753dd31972ea53ddc831b52fbfc"}]}
