)]}'
{"os_testr/tests/test_regex_builder.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e656c2353d796bd7abd22deb1740af75d0538b71","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        self.assertEqual(result, \u0027fake_regex\u0027)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def test_blacklist_regex_with_comments(self):"},{"line_number":38,"context_line":"        blacklist_file \u003d six.StringIO()"},{"line_number":39,"context_line":"        for i in range(4):"},{"line_number":40,"context_line":"            blacklist_file.write(\u0027fake_regex_%s # A Comment\\n\u0027 % i)"},{"line_number":41,"context_line":"        blacklist_file.seek(0)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f287b81_c9c20b86","side":"PARENT","line":38,"range":{"start_line":38,"start_character":8,"end_line":38,"end_character":39},"updated":"2017-08-23 17:07:55.000000000","message":"why did you drop using six here?","commit_id":"cdda299fa95127b4e589a6506ffa3d00e5bb8021"},{"author":{"_account_id":26484,"name":"Divyansh Acharya","email":"divyansh.acharya7@gmail.com","username":"divi7727"},"change_message_id":"eabc48e1a00d3303167e30a785017e64583d1b58","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        self.assertEqual(result, \u0027fake_regex\u0027)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def test_blacklist_regex_with_comments(self):"},{"line_number":38,"context_line":"        blacklist_file \u003d six.StringIO()"},{"line_number":39,"context_line":"        for i in range(4):"},{"line_number":40,"context_line":"            blacklist_file.write(\u0027fake_regex_%s # A Comment\\n\u0027 % i)"},{"line_number":41,"context_line":"        blacklist_file.seek(0)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f287b81_4cbcde04","side":"PARENT","line":38,"range":{"start_line":38,"start_character":8,"end_line":38,"end_character":39},"in_reply_to":"7f287b81_c9c20b86","updated":"2017-08-24 05:35:51.000000000","message":"Because six generates an attribute error when using with StringIO in a with block in py27. It\u0027s a known problem and the Python developers fixed it in Python 3.4+","commit_id":"cdda299fa95127b4e589a6506ffa3d00e5bb8021"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e656c2353d796bd7abd22deb1740af75d0538b71","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        self.assertEqual(result, \u0027fake_regex\u0027)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def test_blacklist_regex_with_comments(self):"},{"line_number":37,"context_line":"        with io.StringIO() as blacklist_file:"},{"line_number":38,"context_line":"            for i in range(4):"},{"line_number":39,"context_line":"                blacklist_file.write(u\u0027fake_regex_%s # A Comment\\n\u0027 % i)"},{"line_number":40,"context_line":"            blacklist_file.seek(0)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f287b81_297e2f6b","line":37,"range":{"start_line":37,"start_character":8,"end_line":37,"end_character":26},"updated":"2017-08-23 17:07:55.000000000","message":"Do we need a context manager with StringIO?","commit_id":"344f8bbe71c99a3c0fccb4870a5a4eefdc51c682"},{"author":{"_account_id":26484,"name":"Divyansh Acharya","email":"divyansh.acharya7@gmail.com","username":"divi7727"},"change_message_id":"eabc48e1a00d3303167e30a785017e64583d1b58","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        self.assertEqual(result, \u0027fake_regex\u0027)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def test_blacklist_regex_with_comments(self):"},{"line_number":37,"context_line":"        with io.StringIO() as blacklist_file:"},{"line_number":38,"context_line":"            for i in range(4):"},{"line_number":39,"context_line":"                blacklist_file.write(u\u0027fake_regex_%s # A Comment\\n\u0027 % i)"},{"line_number":40,"context_line":"            blacklist_file.seek(0)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f287b81_2ca192aa","line":37,"range":{"start_line":37,"start_character":8,"end_line":37,"end_character":26},"in_reply_to":"7f287b81_297e2f6b","updated":"2017-08-24 05:35:51.000000000","message":"six is just an alias for io.StringIO so I don\u0027t think we need a context manager.","commit_id":"344f8bbe71c99a3c0fccb4870a5a4eefdc51c682"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e656c2353d796bd7abd22deb1740af75d0538b71","unresolved":false,"context_lines":[{"line_number":38,"context_line":"            for i in range(4):"},{"line_number":39,"context_line":"                blacklist_file.write(u\u0027fake_regex_%s # A Comment\\n\u0027 % i)"},{"line_number":40,"context_line":"            blacklist_file.seek(0)"},{"line_number":41,"context_line":"            with mock.patch(\u0027six.moves.builtins.open\u0027,"},{"line_number":42,"context_line":"                            return_value\u003dblacklist_file):"},{"line_number":43,"context_line":"                result \u003d os_testr.construct_regex("},{"line_number":44,"context_line":"                    \u0027fake_path\u0027, None, None, False)"},{"line_number":45,"context_line":"            self.assertEqual(result, \"^((?!fake_regex_3|fake_regex_2|\""}],"source_content_type":"text/x-python","patch_set":4,"id":"7f287b81_c9d9eb83","line":42,"range":{"start_line":41,"start_character":12,"end_line":42,"end_character":57},"updated":"2017-08-23 17:07:55.000000000","message":"Why do you mock six if six is not used anymore?","commit_id":"344f8bbe71c99a3c0fccb4870a5a4eefdc51c682"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"eeab3efdfffc70b29670352b6d5dffd64bab38ef","unresolved":false,"context_lines":[{"line_number":38,"context_line":"            for i in range(4):"},{"line_number":39,"context_line":"                blacklist_file.write(u\u0027fake_regex_%s # A Comment\\n\u0027 % i)"},{"line_number":40,"context_line":"            blacklist_file.seek(0)"},{"line_number":41,"context_line":"            with mock.patch(\u0027six.moves.builtins.open\u0027,"},{"line_number":42,"context_line":"                            return_value\u003dblacklist_file):"},{"line_number":43,"context_line":"                result \u003d os_testr.construct_regex("},{"line_number":44,"context_line":"                    \u0027fake_path\u0027, None, None, False)"},{"line_number":45,"context_line":"            self.assertEqual(result, \"^((?!fake_regex_3|fake_regex_2|\""}],"source_content_type":"text/x-python","patch_set":4,"id":"7f287b81_230f4ae2","line":42,"range":{"start_line":41,"start_character":12,"end_line":42,"end_character":57},"in_reply_to":"7f287b81_0ca6d6c2","updated":"2017-08-24 17:12:40.000000000","message":"never mind six is used in the code you\u0027re testing silly me","commit_id":"344f8bbe71c99a3c0fccb4870a5a4eefdc51c682"},{"author":{"_account_id":26484,"name":"Divyansh Acharya","email":"divyansh.acharya7@gmail.com","username":"divi7727"},"change_message_id":"eabc48e1a00d3303167e30a785017e64583d1b58","unresolved":false,"context_lines":[{"line_number":38,"context_line":"            for i in range(4):"},{"line_number":39,"context_line":"                blacklist_file.write(u\u0027fake_regex_%s # A Comment\\n\u0027 % i)"},{"line_number":40,"context_line":"            blacklist_file.seek(0)"},{"line_number":41,"context_line":"            with mock.patch(\u0027six.moves.builtins.open\u0027,"},{"line_number":42,"context_line":"                            return_value\u003dblacklist_file):"},{"line_number":43,"context_line":"                result \u003d os_testr.construct_regex("},{"line_number":44,"context_line":"                    \u0027fake_path\u0027, None, None, False)"},{"line_number":45,"context_line":"            self.assertEqual(result, \"^((?!fake_regex_3|fake_regex_2|\""}],"source_content_type":"text/x-python","patch_set":4,"id":"7f287b81_0ca6d6c2","line":42,"range":{"start_line":41,"start_character":12,"end_line":42,"end_character":57},"in_reply_to":"7f287b81_c9d9eb83","updated":"2017-08-24 05:35:51.000000000","message":"I\u0027ll fix this in the new amend","commit_id":"344f8bbe71c99a3c0fccb4870a5a4eefdc51c682"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e656c2353d796bd7abd22deb1740af75d0538b71","unresolved":false,"context_lines":[{"line_number":46,"context_line":"                                     \"fake_regex_1|fake_regex_0).)*$\")"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def test_whitelist_regex_with_comments(self):"},{"line_number":49,"context_line":"        with io.StringIO() as whitelist_file:"},{"line_number":50,"context_line":"            for i in range(4):"},{"line_number":51,"context_line":"                whitelist_file.write(u\u0027fake_regex_%s # A Comment\\n\u0027 % i)"},{"line_number":52,"context_line":"            whitelist_file.seek(0)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f287b81_69d2f75e","line":49,"range":{"start_line":49,"start_character":8,"end_line":49,"end_character":45},"updated":"2017-08-23 17:07:55.000000000","message":"ditto","commit_id":"344f8bbe71c99a3c0fccb4870a5a4eefdc51c682"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"486ab99d54325a62a4bb8f9d2ec21ccacd7ba7e6","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import io"},{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from os_testr import regex_builder as os_testr"},{"line_number":20,"context_line":"from os_testr.tests import base"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f287b81_08446d1a","line":17,"updated":"2017-08-24 16:43:31.000000000","message":"We need to remove one more line for keeping a single blank line between import blocks.","commit_id":"4073379ba97d84c9c20c7760de47d8e337e94aaf"}]}
