)]}'
{"glance/common/cfg.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"06024781937d82bf09991024d8593ba0efb4303e","unresolved":false,"context_lines":[{"line_number":1016,"context_line":""},{"line_number":1017,"context_line":"        :raises: ConfigFilesNotFoundError, ConfigFileParseError"},{"line_number":1018,"context_line":"        \"\"\""},{"line_number":1019,"context_line":"        self._cparser \u003d ConfigParser.SafeConfigParser(allow_no_value\u003dTrue)"},{"line_number":1020,"context_line":""},{"line_number":1021,"context_line":"        try:"},{"line_number":1022,"context_line":"            read_ok \u003d self._cparser.read(config_files)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F%2BT4%3D","line":1019,"updated":"2011-12-08 18:17:00.000000000","message":"In Python 2.6, SafeConfigParser does not take an allow_no_value keyword argument.","commit_id":"7e03a7e806ca19b7abb32acbd844fa9dfe81ea31"}],"glance/tests/unit/test_cfg.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"06024781937d82bf09991024d8593ba0efb4303e","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    def test_help(self):"},{"line_number":133,"context_line":"        self.stubs.Set(sys, \u0027stdout\u0027, StringIO.StringIO())"},{"line_number":134,"context_line":"        self.assertRaisesRegexp(SystemExit, \u00270\u0027, self.conf, [\u0027--help\u0027])"},{"line_number":135,"context_line":"        self.assertIn(\u0027FOO BAR\u0027, sys.stdout.getvalue())"},{"line_number":136,"context_line":"        self.assertIn(\u0027--version\u0027, sys.stdout.getvalue())"},{"line_number":137,"context_line":"        self.assertIn(\u0027--help\u0027, sys.stdout.getvalue())"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F%2BU8%3D","line":134,"updated":"2011-12-08 18:17:00.000000000","message":"assertRaisesRegexp() does not exist in Python 2.6","commit_id":"7e03a7e806ca19b7abb32acbd844fa9dfe81ea31"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"06024781937d82bf09991024d8593ba0efb4303e","unresolved":false,"context_lines":[{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def test_version(self):"},{"line_number":141,"context_line":"        self.stubs.Set(sys, \u0027stdout\u0027, StringIO.StringIO())"},{"line_number":142,"context_line":"        self.assertRaisesRegexp(SystemExit, \u00270\u0027, self.conf, [\u0027--version\u0027])"},{"line_number":143,"context_line":"        self.assertIn(\u00271.0\u0027, sys.stdout.getvalue())"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    def test_config_file(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F%2BU4%3D","line":142,"updated":"2011-12-08 18:17:00.000000000","message":"Ibid.","commit_id":"7e03a7e806ca19b7abb32acbd844fa9dfe81ea31"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"06024781937d82bf09991024d8593ba0efb4303e","unresolved":false,"context_lines":[{"line_number":594,"context_line":"    def test_unknown_attr(self):"},{"line_number":595,"context_line":"        self.conf([])"},{"line_number":596,"context_line":"        self.assertFalse(hasattr(self.conf, \u0027foo\u0027))"},{"line_number":597,"context_line":"        self.assertRaisesRegexp(NoSuchOptError, \u0027foo\u0027,"},{"line_number":598,"context_line":"                                getattr, self.conf, \u0027foo\u0027)"},{"line_number":599,"context_line":""},{"line_number":600,"context_line":"    def test_unknown_group_attr(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F%2BU0%3D","line":597,"updated":"2011-12-08 18:17:00.000000000","message":"Ibid.","commit_id":"7e03a7e806ca19b7abb32acbd844fa9dfe81ea31"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"06024781937d82bf09991024d8593ba0efb4303e","unresolved":false,"context_lines":[{"line_number":604,"context_line":""},{"line_number":605,"context_line":"        self.assertTrue(hasattr(self.conf, \u0027blaa\u0027))"},{"line_number":606,"context_line":"        self.assertFalse(hasattr(self.conf.blaa, \u0027foo\u0027))"},{"line_number":607,"context_line":"        self.assertRaisesRegexp(NoSuchOptError, \u0027blaa.*foo\u0027,"},{"line_number":608,"context_line":"                                getattr, self.conf.blaa, \u0027foo\u0027)"},{"line_number":609,"context_line":""},{"line_number":610,"context_line":"    def test_ok_duplicate(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F%2BUw%3D","line":607,"updated":"2011-12-08 18:17:00.000000000","message":"Ibid.","commit_id":"7e03a7e806ca19b7abb32acbd844fa9dfe81ea31"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"06024781937d82bf09991024d8593ba0efb4303e","unresolved":false,"context_lines":[{"line_number":619,"context_line":""},{"line_number":620,"context_line":"    def test_error_duplicate(self):"},{"line_number":621,"context_line":"        self.conf.register_cli_opt(StrOpt(\u0027foo\u0027))"},{"line_number":622,"context_line":"        self.assertRaisesRegexp(DuplicateOptError, \u0027foo\u0027,"},{"line_number":623,"context_line":"                                self.conf.register_cli_opt,"},{"line_number":624,"context_line":"                                StrOpt(\u0027foo\u0027))"},{"line_number":625,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F%2BUs%3D","line":622,"updated":"2011-12-08 18:17:00.000000000","message":"Ibid.","commit_id":"7e03a7e806ca19b7abb32acbd844fa9dfe81ea31"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"06024781937d82bf09991024d8593ba0efb4303e","unresolved":false,"context_lines":[{"line_number":625,"context_line":""},{"line_number":626,"context_line":"    def test_error_duplicate_with_different_dest(self):"},{"line_number":627,"context_line":"        self.conf.register_cli_opt(StrOpt(\u0027foo\u0027, dest\u003d\u0027f\u0027))"},{"line_number":628,"context_line":"        self.assertRaisesRegexp(DuplicateOptError, \u0027foo\u0027,"},{"line_number":629,"context_line":"                                self.conf.register_cli_opt,"},{"line_number":630,"context_line":"                                StrOpt(\u0027foo\u0027))"},{"line_number":631,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F%2BUo%3D","line":628,"updated":"2011-12-08 18:17:00.000000000","message":"Ibid.","commit_id":"7e03a7e806ca19b7abb32acbd844fa9dfe81ea31"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"06024781937d82bf09991024d8593ba0efb4303e","unresolved":false,"context_lines":[{"line_number":636,"context_line":"                          StrOpt(\u0027bar\u0027, short\u003d\u0027f\u0027))"},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"    def test_no_such_group(self):"},{"line_number":639,"context_line":"        self.assertRaisesRegexp(NoSuchGroupError, \u0027blaa\u0027,"},{"line_number":640,"context_line":"                                self.conf.register_cli_opt,"},{"line_number":641,"context_line":"                                StrOpt(\u0027foo\u0027), group\u003d\u0027blaa\u0027)"},{"line_number":642,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F%2BUk%3D","line":639,"updated":"2011-12-08 18:17:00.000000000","message":"Ibid.","commit_id":"7e03a7e806ca19b7abb32acbd844fa9dfe81ea31"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"06024781937d82bf09991024d8593ba0efb4303e","unresolved":false,"context_lines":[{"line_number":649,"context_line":"    def test_bad_cli_arg(self):"},{"line_number":650,"context_line":"        self.stubs.Set(sys, \u0027stderr\u0027, StringIO.StringIO())"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"        self.assertRaisesRegexp(SystemExit, \u00272\u0027, self.conf, [\u0027--foo\u0027])"},{"line_number":653,"context_line":""},{"line_number":654,"context_line":"        self.assertIn(\u0027error\u0027, sys.stderr.getvalue())"},{"line_number":655,"context_line":"        self.assertIn(\u0027--foo\u0027, sys.stderr.getvalue())"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F%2BUg%3D","line":652,"updated":"2011-12-08 18:17:00.000000000","message":"Ibid.","commit_id":"7e03a7e806ca19b7abb32acbd844fa9dfe81ea31"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"06024781937d82bf09991024d8593ba0efb4303e","unresolved":false,"context_lines":[{"line_number":659,"context_line":""},{"line_number":660,"context_line":"        self.stubs.Set(sys, \u0027stderr\u0027, StringIO.StringIO())"},{"line_number":661,"context_line":""},{"line_number":662,"context_line":"        self.assertRaisesRegexp(SystemExit, \u00272\u0027, self.conf, [\u0027--foo\u0027, \u0027bar\u0027])"},{"line_number":663,"context_line":""},{"line_number":664,"context_line":"        self.assertIn(\u0027foo\u0027, sys.stderr.getvalue())"},{"line_number":665,"context_line":"        self.assertIn(\u0027bar\u0027, sys.stderr.getvalue())"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F%2BUc%3D","line":662,"updated":"2011-12-08 18:17:00.000000000","message":"Ibid.","commit_id":"7e03a7e806ca19b7abb32acbd844fa9dfe81ea31"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"06024781937d82bf09991024d8593ba0efb4303e","unresolved":false,"context_lines":[{"line_number":675,"context_line":"        os.remove(paths[0])"},{"line_number":676,"context_line":"        self.tempfiles.remove(paths[0])"},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"        self.assertRaisesRegexp(ConfigFilesNotFoundError, paths[0],"},{"line_number":679,"context_line":"                                self.conf, [\u0027--config-file\u0027, paths[0]])"},{"line_number":680,"context_line":""},{"line_number":681,"context_line":"    def test_conf_file_not_found(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F%2BUY%3D","line":678,"updated":"2011-12-08 18:17:00.000000000","message":"Ibid.","commit_id":"7e03a7e806ca19b7abb32acbd844fa9dfe81ea31"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"06024781937d82bf09991024d8593ba0efb4303e","unresolved":false,"context_lines":[{"line_number":681,"context_line":"    def test_conf_file_not_found(self):"},{"line_number":682,"context_line":"        paths \u003d self.create_tempfiles([(\u0027test.conf\u0027, \u0027foo\u0027)])"},{"line_number":683,"context_line":""},{"line_number":684,"context_line":"        self.assertRaisesRegexp(ConfigFileParseError, paths[0],"},{"line_number":685,"context_line":"                                self.conf, [\u0027--config-file\u0027, paths[0]])"},{"line_number":686,"context_line":""},{"line_number":687,"context_line":"    def _do_test_conf_file_bad_value(self, opt_class):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F%2BUU%3D","line":684,"updated":"2011-12-08 18:17:00.000000000","message":"Ibid.","commit_id":"7e03a7e806ca19b7abb32acbd844fa9dfe81ea31"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"06024781937d82bf09991024d8593ba0efb4303e","unresolved":false,"context_lines":[{"line_number":708,"context_line":""},{"line_number":709,"context_line":"    def test_set_default_unknown_attr(self):"},{"line_number":710,"context_line":"        self.conf([])"},{"line_number":711,"context_line":"        self.assertRaisesRegexp(NoSuchOptError, \u0027foo\u0027,"},{"line_number":712,"context_line":"                                self.conf.set_default, \u0027foo\u0027, \u0027bar\u0027)"},{"line_number":713,"context_line":""},{"line_number":714,"context_line":"    def test_set_default_unknown_group(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F%2BUQ%3D","line":711,"updated":"2011-12-08 18:17:00.000000000","message":"Ibid.","commit_id":"7e03a7e806ca19b7abb32acbd844fa9dfe81ea31"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"06024781937d82bf09991024d8593ba0efb4303e","unresolved":false,"context_lines":[{"line_number":713,"context_line":""},{"line_number":714,"context_line":"    def test_set_default_unknown_group(self):"},{"line_number":715,"context_line":"        self.conf([])"},{"line_number":716,"context_line":"        self.assertRaisesRegexp(NoSuchGroupError, \u0027blaa\u0027,"},{"line_number":717,"context_line":"                                self.conf.set_default,"},{"line_number":718,"context_line":"                                \u0027foo\u0027, \u0027bar\u0027, group\u003d\u0027blaa\u0027)"},{"line_number":719,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F%2BUM%3D","line":716,"updated":"2011-12-08 18:17:00.000000000","message":"Ibid.","commit_id":"7e03a7e806ca19b7abb32acbd844fa9dfe81ea31"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"06024781937d82bf09991024d8593ba0efb4303e","unresolved":false,"context_lines":[{"line_number":719,"context_line":""},{"line_number":720,"context_line":"    def test_set_override_unknown_attr(self):"},{"line_number":721,"context_line":"        self.conf([])"},{"line_number":722,"context_line":"        self.assertRaisesRegexp(NoSuchOptError, \u0027foo\u0027,"},{"line_number":723,"context_line":"                                self.conf.set_override, \u0027foo\u0027, \u0027bar\u0027)"},{"line_number":724,"context_line":""},{"line_number":725,"context_line":"    def test_set_override_unknown_group(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F%2BUI%3D","line":722,"updated":"2011-12-08 18:17:00.000000000","message":"Ibid.","commit_id":"7e03a7e806ca19b7abb32acbd844fa9dfe81ea31"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"06024781937d82bf09991024d8593ba0efb4303e","unresolved":false,"context_lines":[{"line_number":724,"context_line":""},{"line_number":725,"context_line":"    def test_set_override_unknown_group(self):"},{"line_number":726,"context_line":"        self.conf([])"},{"line_number":727,"context_line":"        self.assertRaisesRegexp(NoSuchGroupError, \u0027blaa\u0027,"},{"line_number":728,"context_line":"                                self.conf.set_override,"},{"line_number":729,"context_line":"                                \u0027foo\u0027, \u0027bar\u0027, group\u003d\u0027blaa\u0027)"},{"line_number":730,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F%2BUE%3D","line":727,"updated":"2011-12-08 18:17:00.000000000","message":"Ibid.","commit_id":"7e03a7e806ca19b7abb32acbd844fa9dfe81ea31"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"06024781937d82bf09991024d8593ba0efb4303e","unresolved":false,"context_lines":[{"line_number":781,"context_line":"    def test_logging_opts(self):"},{"line_number":782,"context_line":"        self.conf([])"},{"line_number":783,"context_line":""},{"line_number":784,"context_line":"        self.assertIsNone(self.conf.log_config)"},{"line_number":785,"context_line":"        self.assertIsNone(self.conf.log_file)"},{"line_number":786,"context_line":"        self.assertIsNone(self.conf.log_dir)"},{"line_number":787,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F%2BUA%3D","line":784,"updated":"2011-12-08 18:17:00.000000000","message":"assertIsNone() does not exist in Python 2.6","commit_id":"7e03a7e806ca19b7abb32acbd844fa9dfe81ea31"}]}
