)]}'
{"ceilometer/hacking/checks.py":[{"author":{"_account_id":7729,"name":"Ilya Tyaptin","email":"ityaptin@mirantis.com","username":"ityaptin"},"change_message_id":"49228c282478752e79fc9e69eb77d5db33013eb9","unresolved":false,"context_lines":[{"line_number":27,"context_line":"\"\"\""},{"line_number":28,"context_line":"import re"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"asse_trueinst_re \u003d re.compile("},{"line_number":31,"context_line":"    r\"(.)*assertTrue\\(isinstance\\((\\w|\\.|\\\u0027|\\\"|\\[|\\])+, \""},{"line_number":32,"context_line":"    r\"(\\w|\\.|\\\u0027|\\\"|\\[|\\])+\\)\\)\")"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9aed3d3a_237ba929","line":30,"updated":"2016-02-29 18:04:09.000000000","message":"I understand that it\u0027s a hacking, but I think `assert_true_isinstance` looks clearer.\nIf I think wrong feel free to ignore it.","commit_id":"d4d5271b7bbd4849c25085611528c50dec6a0bdc"},{"author":{"_account_id":18549,"name":"Kairo Araujo","email":"kairo@kairo.eti.br","username":"kairo"},"change_message_id":"1cc0052e11cacad0df8333dcd2123071502bdc48","unresolved":false,"context_lines":[{"line_number":27,"context_line":"\"\"\""},{"line_number":28,"context_line":"import re"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"asse_trueinst_re \u003d re.compile("},{"line_number":31,"context_line":"    r\"(.)*assertTrue\\(isinstance\\((\\w|\\.|\\\u0027|\\\"|\\[|\\])+, \""},{"line_number":32,"context_line":"    r\"(\\w|\\.|\\\u0027|\\\"|\\[|\\])+\\)\\)\")"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9aed3d3a_672f6a3f","line":30,"in_reply_to":"9aed3d3a_237ba929","updated":"2016-03-01 00:09:27.000000000","message":"Done","commit_id":"d4d5271b7bbd4849c25085611528c50dec6a0bdc"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"85740f3e8c2ba5fc2656413ccf029ceceb91db9b","unresolved":false,"context_lines":[{"line_number":57,"context_line":"                 \u0027Replace it using subprocess module. \u0027)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"def assert_true_instance(logical_line):"},{"line_number":61,"context_line":"    \"\"\"Check for assertTrue(isinstance(a, b)) sentences"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    C303"}],"source_content_type":"text/x-python","patch_set":2,"id":"7af24918_0d5696cd","line":60,"range":{"start_line":60,"start_character":16,"end_line":60,"end_character":24},"updated":"2016-03-03 13:09:16.000000000","message":"it would be more habitual to see assert_true_isinstance instead of assert_true_instance, but not blocking of course.","commit_id":"44b0963a3342792515c2f63737a831ce03aa83fa"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"f51872f9d23c07f6128885f863bd0b41f16f6d8d","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    C303"},{"line_number":64,"context_line":"    \"\"\""},{"line_number":65,"context_line":"    if assert_true_isinstance_re.match(logical_line):"},{"line_number":66,"context_line":"        yield (0, \"C303 assertTrue(isinstance(a, b)) sentences not allowed\")"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"def factory(register):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_48dd2cdf","line":66,"updated":"2016-03-03 13:32:17.000000000","message":"better to tell user what exactly to use also","commit_id":"d810d05ab3544ac6ef3bd5cef8561a7f99634209"},{"author":{"_account_id":18549,"name":"Kairo Araujo","email":"kairo@kairo.eti.br","username":"kairo"},"change_message_id":"a0a26410d4a708620e831fd9fefc1b451d329fd1","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    C303"},{"line_number":64,"context_line":"    \"\"\""},{"line_number":65,"context_line":"    if assert_true_isinstance_re.match(logical_line):"},{"line_number":66,"context_line":"        yield (0, \"C303 assertTrue(isinstance(a, b)) sentences not allowed\")"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"def factory(register):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_d64fdd8f","line":66,"in_reply_to":"7af24918_48dd2cdf","updated":"2016-03-04 13:00:04.000000000","message":"Done","commit_id":"d810d05ab3544ac6ef3bd5cef8561a7f99634209"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"0924caf07f0685549b831383b4684acdd07ed97b","unresolved":false,"context_lines":[{"line_number":27,"context_line":"\"\"\""},{"line_number":28,"context_line":"import re"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"assert_true_isinstance_re \u003d re.compile("},{"line_number":31,"context_line":"    r\"(.)*assertTrue\\(isinstance\\((\\w|\\.|\\\u0027|\\\"|\\[|\\])+, \""},{"line_number":32,"context_line":"    r\"(\\w|\\.|\\\u0027|\\\"|\\[|\\])+\\)\\)\")"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5aef4532_bfd76a22","line":30,"updated":"2016-03-07 11:08:03.000000000","message":"\u003e\u003e\u003e assert_true_isinstance_re \u003d re.compile(\n...     r\"(.)*assertTrue\\(isinstance\\((\\w|\\.|\\\u0027|\\\"|\\[|\\])+, \"\n...     r\"(\\w|\\.|\\\u0027|\\\"|\\[|\\])+\\)\\)\")\n\u003e\u003e\u003e bool(assert_true_isinstance_re.match(\"assertTrue(isinstance\"))\nFalse\n\u003e\u003e\u003e correct \u003d re.compile(r\".*assert(True|False)\\(isinstance\")\n\u003e\u003e\u003e bool(correct.match(\"assertTrue(isinstance\"))\nTrue\n\u003e\u003e\u003e bool(correct.match(\"assertFalse(isinstance\"))\nTrue\n\n\nplease add unit test code","commit_id":"3c965ecf7038adcbd42cebf678d7dc24d74afba7"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"8cb32ee0fe1472a63eabf6391ed11a61c49e044c","unresolved":false,"context_lines":[{"line_number":27,"context_line":"\"\"\""},{"line_number":28,"context_line":"import re"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"assert_true_isinstance_re \u003d re.compile("},{"line_number":31,"context_line":"    r\"(.)*assertTrue\\(isinstance\\((\\w|\\.|\\\u0027|\\\"|\\[|\\])+, \""},{"line_number":32,"context_line":"    r\"(\\w|\\.|\\\u0027|\\\"|\\[|\\])+\\)\\)\")"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5aef4532_1ed4641e","line":30,"in_reply_to":"5aef4532_bfd76a22","updated":"2016-03-08 10:30:40.000000000","message":"shame, I realize my former quick pyshell test is too short to get the right result.\n\nbut I still think you should add some unit test code","commit_id":"3c965ecf7038adcbd42cebf678d7dc24d74afba7"}]}
