)]}'
{"oslo_config/cfg.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"d0c3d993d8bc5a4b5ac0cc35a44458e5c749cef7","unresolved":false,"context_lines":[{"line_number":465,"context_line":"        return \u0027Failed to parse %s: %s\u0027 % (self.config_file, self.msg)"},{"line_number":466,"context_line":""},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"class ConfigFileValueError(Error, AttributeError):"},{"line_number":469,"context_line":"    \"\"\"Raised if a config file value does not match its opt type.\"\"\""},{"line_number":470,"context_line":"    pass"},{"line_number":471,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_75241b0c","line":468,"updated":"2015-09-23 21:56:17.000000000","message":"I find it weird to have a ValueError being of type AttributeError. What about using ValueError as parent?","commit_id":"e9e85f989a7006db4bdf35e64fdaef03baa40ca1"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"ec8e78d5ed2c1a7a2f0221e25a87f3182014829f","unresolved":false,"context_lines":[{"line_number":465,"context_line":"        return \u0027Failed to parse %s: %s\u0027 % (self.config_file, self.msg)"},{"line_number":466,"context_line":""},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"class ConfigFileValueError(Error, AttributeError):"},{"line_number":469,"context_line":"    \"\"\"Raised if a config file value does not match its opt type.\"\"\""},{"line_number":470,"context_line":"    pass"},{"line_number":471,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_f66a72b4","line":468,"in_reply_to":"ba15a1d1_75241b0c","updated":"2015-09-23 22:37:46.000000000","message":"jd__, if i used ValueError as parent, then i end up with these failures, so i assumed that we had a contract about what error gets thrown.\n\nhttp://paste.openstack.org/show/473813/","commit_id":"e9e85f989a7006db4bdf35e64fdaef03baa40ca1"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"8b15ec684a311df190c9bd1c23e1469f9938f5f0","unresolved":false,"context_lines":[{"line_number":465,"context_line":"        return \u0027Failed to parse %s: %s\u0027 % (self.config_file, self.msg)"},{"line_number":466,"context_line":""},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"class ConfigFileValueError(Error, AttributeError):"},{"line_number":469,"context_line":"    \"\"\"Raised if a config file value does not match its opt type.\"\"\""},{"line_number":470,"context_line":"    pass"},{"line_number":471,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_cc955632","line":468,"in_reply_to":"ba15a1d1_f66a72b4","updated":"2015-09-24 07:56:40.000000000","message":"Good point. I don\u0027t think this contract stands, I think it\u0027s just a unit test checking that \"it fails\".\n\nAlso I don\u0027t think anyone is using that \"contract\" anyway, so I would not mind fixing it. WDYT?","commit_id":"e9e85f989a7006db4bdf35e64fdaef03baa40ca1"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"ccf5ef831ba934f3ce0d13fdfb218e1bb1ca9ad3","unresolved":false,"context_lines":[{"line_number":465,"context_line":"        return \u0027Failed to parse %s: %s\u0027 % (self.config_file, self.msg)"},{"line_number":466,"context_line":""},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"class ConfigFileValueError(ValueError):"},{"line_number":469,"context_line":"    \"\"\"Raised if a config file value does not match its opt type.\"\"\""},{"line_number":470,"context_line":"    pass"},{"line_number":471,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_5a948a89","line":468,"updated":"2015-09-24 13:13:05.000000000","message":"I think we should keep Error also in case some program wants to catch all exception raised by this lib.","commit_id":"7b7b40c3129838ac6a25c7bc186d86072eb3bcc6"}],"oslo_config/tests/test_cfg.py":[{"author":{"_account_id":9459,"name":".Haifeng Yan","email":"yanheven@qq.com","username":"yan"},"change_message_id":"dbae3b21d4725a775d82fd4a6c7bcb15d5304a77","unresolved":false,"context_lines":[{"line_number":842,"context_line":"        self.assertTrue(hasattr(self.conf, \u0027foo\u0027))"},{"line_number":843,"context_line":"        self.assertEqual(self.conf.foo, \u0027bar\u0027)"},{"line_number":844,"context_line":""},{"line_number":845,"context_line":"    def test_conf_file_str_value_with_bad_choice_value(self):"},{"line_number":846,"context_line":"        self.conf.register_opt(cfg.StrOpt(\u0027foo\u0027, choices\u003d[\u0027bar\u0027, \u0027baz\u0027]))"},{"line_number":847,"context_line":""},{"line_number":848,"context_line":"        paths \u003d self.create_tempfiles([(\u0027test\u0027, \u0027[DEFAULT]\\n\u0027\u0027foo \u003d boo\\n\u0027)])"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a1a9d01_c7062a20","line":845,"updated":"2015-09-25 09:18:52.000000000","message":"it seems this test duplicated with \"test_conf_file_bad_choice_value\" in class \"ChoicesTestCase\"","commit_id":"180d59ad6849dff080e1953ebd85e99df2f77158"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"d92574a2454bd96b6e02047e9724dbc7cc14a499","unresolved":false,"context_lines":[{"line_number":1228,"context_line":"        self.conf([\u0027--config-file\u0027, paths[0]])"},{"line_number":1229,"context_line":""},{"line_number":1230,"context_line":"        self.assertRaises(cfg.ConfigFileValueError, self.conf._get, \u0027foo\u0027)"},{"line_number":1231,"context_line":"        self.assertRaises(ValueError, getattr, self.conf, \u0027foo\u0027)"},{"line_number":1232,"context_line":""},{"line_number":1233,"context_line":"    def test_conf_file_dict_value_duplicate_key(self):"},{"line_number":1234,"context_line":"        self.conf.register_opt(cfg.DictOpt(\u0027foo\u0027))"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_128ffe2a","line":1231,"updated":"2015-09-29 15:25:10.000000000","message":"Looks like this change is affecting other behavior, too.","commit_id":"934ae9b34f7ab4bba5b1a4573a714d803a4c1707"}]}
