)]}'
{"pbr/testr_command.py":[{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"b3a8e4550a8da647525d696719368cf0ed2b4e6a","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            parser \u003d configparser.RawConfigParser()"},{"line_number":136,"context_line":"            parser.read(\".coveragerc\")"},{"line_number":137,"context_line":"            if (parser.has_section(\"run\")"},{"line_number":138,"context_line":"                    and parser.has_option(\"run\", \"source\")):"},{"line_number":139,"context_line":"                coverage_source \u003d \"\""},{"line_number":140,"context_line":"        options \u003d \"%s--parallel-mode\" % coverage_source"},{"line_number":141,"context_line":"        os.environ[\u0027PYTHON\u0027] \u003d (\"coverage run %s\" % options)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa53dc9_40640c21","line":138,"updated":"2015-04-07 19:00:09.000000000","message":"Looks like the extra check for has_section() is redundant here since has_option() will safely return False when given an invalid section name anyway.","commit_id":"37e2d50a0acd618232af34556bd38b0ff1a30a87"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"86b476cd80a2f4a568c250bc55c85a640ffb753f","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        if self.coverage_package_name:"},{"line_number":133,"context_line":"            coverage_source \u003d \"--source %s \" % self.coverage_package_name"},{"line_number":134,"context_line":"        elif os.path.exists(\".coveragerc\"):"},{"line_number":135,"context_line":"            parser \u003d configparser.RawConfigParser()"},{"line_number":136,"context_line":"            parser.read(\".coveragerc\")"},{"line_number":137,"context_line":"            if parser.has_option(\"run\", \"source\"):"},{"line_number":138,"context_line":"                coverage_source \u003d \"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3ab451fb_3674e8fb","line":135,"updated":"2015-04-16 23:32:55.000000000","message":"Ugh no please use SafeConfigParser :)","commit_id":"f80e1dcb4db69d2016526543922d396896c1e61c"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"43dafc01b030dbb5ba34d8cc328612580ebfcf94","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        if self.coverage_package_name:"},{"line_number":133,"context_line":"            coverage_source \u003d \"--source %s \" % self.coverage_package_name"},{"line_number":134,"context_line":"        elif os.path.exists(\".coveragerc\"):"},{"line_number":135,"context_line":"            parser \u003d configparser.RawConfigParser()"},{"line_number":136,"context_line":"            parser.read(\".coveragerc\")"},{"line_number":137,"context_line":"            if parser.has_option(\"run\", \"source\"):"},{"line_number":138,"context_line":"                coverage_source \u003d \"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"bab921fb_663bb4d2","line":135,"in_reply_to":"3ab451fb_3674e8fb","updated":"2015-04-23 16:23:14.000000000","message":"I\u0027ll submit a separate change replacing other uses in PBR with SafeConfigParser() as well and rebase this on it. I agree completely, but originally stuck with RawConfigParser() here for consistency with its use in pbr.util.cfg_to_args().","commit_id":"f80e1dcb4db69d2016526543922d396896c1e61c"}]}
