)]}'
{"hacking/core.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"3c612ee93248bec57e27efbe12fbcdc6d917a717","unresolved":false,"context_lines":[{"line_number":831,"context_line":"    H903: if x \u003d\u003d True:"},{"line_number":832,"context_line":"    H903: if (x !\u003d False and y !\u003d True):"},{"line_number":833,"context_line":"    \"\"\""},{"line_number":834,"context_line":"    if logical_line.startswith(\u0027if \u0027):"},{"line_number":835,"context_line":"        match \u003d (re.search(r\"(\u003d\u003d|!\u003d)\\s(True|False|None)\", logical_line) or"},{"line_number":836,"context_line":"                 re.search(r\"(True|False|None)\\s(\u003d\u003d|!\u003d)\", logical_line))"},{"line_number":837,"context_line":"        if match:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2FDK4%3D","line":834,"updated":"2013-09-12 22:15:29.000000000","message":"These comparisons can happen on any line. \u0027if\u0027 is not necessary. I don\u0027t think we should limit the check to lines beginning with \u0027if\u0027 as it may cause confusion when other comparisons pass this check.","commit_id":"2733607b377a6226bcd056689e4d768f2ca33347"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"7696d3b90c51182d797ac9055575635cbe475628","unresolved":false,"context_lines":[{"line_number":831,"context_line":"    H903: if x \u003d\u003d True:"},{"line_number":832,"context_line":"    H903: if (x !\u003d False and y !\u003d True):"},{"line_number":833,"context_line":"    \"\"\""},{"line_number":834,"context_line":"    if logical_line.startswith(\u0027if \u0027):"},{"line_number":835,"context_line":"        match \u003d (re.search(r\"(\u003d\u003d|!\u003d)\\s(True|False|None)\", logical_line) or"},{"line_number":836,"context_line":"                 re.search(r\"(True|False|None)\\s(\u003d\u003d|!\u003d)\", logical_line))"},{"line_number":837,"context_line":"        if match:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2FC00%3D","line":834,"in_reply_to":"AAAASn%2F%2FDK4%3D","updated":"2013-09-13 00:34:21.000000000","message":"Clark, I could do\n\n if (\u0027filter(\u0027 not in logical_line or \n     \u0027.c.\u0027 not in logical_line or\n     \u0027where(\u0027 not in logical_line)):\n\nBut this won\u0027t still cover all the cases where 903 is false positive in sqlalchemy queries. Since if statements are where this case is violated most frequently, how about not having best be the enemy of good?","commit_id":"2733607b377a6226bcd056689e4d768f2ca33347"}]}
