)]}'
{"karbor/services/protection/provider.py":[{"author":{"_account_id":19853,"name":"Nguyen Hung Phuong","email":"phuongnh@vn.fujitsu.com","username":"phuongnh"},"change_message_id":"bdc31cf5e9a4765dad5babb0207a3f25635f3cdb","unresolved":false,"context_lines":[{"line_number":213,"context_line":"            if filters:"},{"line_number":214,"context_line":"                for key, value in filters.items():"},{"line_number":215,"context_line":"                    if provider_dict.has_key(key) and \\"},{"line_number":216,"context_line":"                        value !\u003d provider_dict[key]:"},{"line_number":217,"context_line":"                        break"},{"line_number":218,"context_line":"                else:"},{"line_number":219,"context_line":"                    valid_providers.append(provider_dict)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f96bb07_7450535f","line":216,"updated":"2018-01-24 08:13:18.000000000","message":"please add 4 more white spaces","commit_id":"4dd941fcb36a74a9cef04083975fac2f6828560f"},{"author":{"_account_id":23950,"name":"Eric Xie","email":"eric_xiett@163.com","username":"ericxie"},"change_message_id":"74956f23e9490869484479d6e6665b9d1ede327c","unresolved":false,"context_lines":[{"line_number":213,"context_line":"            if filters:"},{"line_number":214,"context_line":"                for key, value in filters.items():"},{"line_number":215,"context_line":"                    if provider_dict.has_key(key) and \\"},{"line_number":216,"context_line":"                        value !\u003d provider_dict[key]:"},{"line_number":217,"context_line":"                        break"},{"line_number":218,"context_line":"                else:"},{"line_number":219,"context_line":"                    valid_providers.append(provider_dict)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_2bdad7e8","line":216,"in_reply_to":"7f96bb07_7450535f","updated":"2018-01-25 01:48:41.000000000","message":"Done","commit_id":"4dd941fcb36a74a9cef04083975fac2f6828560f"},{"author":{"_account_id":14203,"name":"yangzhenyu","email":"cdyangzhenyu@gmail.com","username":"yangzhenyu"},"change_message_id":"401aa8cae978250e9a3ea8f66f05137427ebfdad","unresolved":false,"context_lines":[{"line_number":213,"context_line":"            )"},{"line_number":214,"context_line":"            if filters:"},{"line_number":215,"context_line":"                for key, value in filters.items():"},{"line_number":216,"context_line":"                    if key in filters.keys() and \\"},{"line_number":217,"context_line":"                            value !\u003d provider_dict[key]:"},{"line_number":218,"context_line":"                        break"},{"line_number":219,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f93b717_2e4ae526","line":216,"range":{"start_line":216,"start_character":19,"end_line":216,"end_character":44},"updated":"2018-01-25 02:11:21.000000000","message":"The \u0027key\u0027 is obtained from \u0027filters\u0027. Why do we need to judge again if it is in \u0027keys\u0027? The \u0027filters\u0027 is not a dict?","commit_id":"c173529b2c1eec34c3dc03b9c0c1d219b5797630"},{"author":{"_account_id":23950,"name":"Eric Xie","email":"eric_xiett@163.com","username":"ericxie"},"change_message_id":"a49ec0192f838c31d7ae6afcfd8a6b38c0b1fa77","unresolved":false,"context_lines":[{"line_number":213,"context_line":"            )"},{"line_number":214,"context_line":"            if filters:"},{"line_number":215,"context_line":"                for key, value in filters.items():"},{"line_number":216,"context_line":"                    if key in filters.keys() and \\"},{"line_number":217,"context_line":"                            value !\u003d provider_dict[key]:"},{"line_number":218,"context_line":"                        break"},{"line_number":219,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f93b717_8e9d395b","line":216,"range":{"start_line":216,"start_character":19,"end_line":216,"end_character":44},"in_reply_to":"5f93b717_2e4ae526","updated":"2018-01-25 02:14:56.000000000","message":"Fix it.","commit_id":"c173529b2c1eec34c3dc03b9c0c1d219b5797630"},{"author":{"_account_id":21224,"name":"jiaopengju","email":"jiaopengju_yewu@cmss.chinamobile.com","username":"jiaopengju"},"change_message_id":"ff10cb03ba5f38e9772f7e12e487473d33ec7c55","unresolved":false,"context_lines":[{"line_number":211,"context_line":"                description\u003dprovider.description,"},{"line_number":212,"context_line":"                extended_info_schema\u003dprovider.extended_info_schema"},{"line_number":213,"context_line":"            )"},{"line_number":214,"context_line":"            if filters:"},{"line_number":215,"context_line":"                for key, value in filters.items():"},{"line_number":216,"context_line":"                    if key in provider_dict.keys() and \\"},{"line_number":217,"context_line":"                            value !\u003d provider_dict[key]:"},{"line_number":218,"context_line":"                        break"},{"line_number":219,"context_line":"                else:"},{"line_number":220,"context_line":"                    valid_providers.append(provider_dict)"},{"line_number":221,"context_line":"            else:"},{"line_number":222,"context_line":"                valid_providers.append(provider_dict)"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"            if limit is not None and len(valid_providers) \u003d\u003d limit:"},{"line_number":225,"context_line":"                return valid_providers"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_aecfac7d","line":222,"range":{"start_line":214,"start_character":12,"end_line":222,"end_character":53},"updated":"2018-01-26 06:41:01.000000000","message":"how about using:\nfilters \u003d filters if filters else {}\nfor key, value in filters.items():\n                    if key in provider_dict.keys() and (\n                            value !\u003d provider_dict[key]):\n                        break\n                else:\n                    valid_providers.append(provider_dict)","commit_id":"5efbdb18f9b6a4bc358abcf35650f357ccb83340"},{"author":{"_account_id":23950,"name":"Eric Xie","email":"eric_xiett@163.com","username":"ericxie"},"change_message_id":"c7a92a9b0bb01cfdacb7029e0e63fe28a8e8a5cd","unresolved":false,"context_lines":[{"line_number":211,"context_line":"                description\u003dprovider.description,"},{"line_number":212,"context_line":"                extended_info_schema\u003dprovider.extended_info_schema"},{"line_number":213,"context_line":"            )"},{"line_number":214,"context_line":"            if filters:"},{"line_number":215,"context_line":"                for key, value in filters.items():"},{"line_number":216,"context_line":"                    if key in provider_dict.keys() and \\"},{"line_number":217,"context_line":"                            value !\u003d provider_dict[key]:"},{"line_number":218,"context_line":"                        break"},{"line_number":219,"context_line":"                else:"},{"line_number":220,"context_line":"                    valid_providers.append(provider_dict)"},{"line_number":221,"context_line":"            else:"},{"line_number":222,"context_line":"                valid_providers.append(provider_dict)"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"            if limit is not None and len(valid_providers) \u003d\u003d limit:"},{"line_number":225,"context_line":"                return valid_providers"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_add6a9f0","line":222,"range":{"start_line":214,"start_character":12,"end_line":222,"end_character":53},"in_reply_to":"5f93b717_aecfac7d","updated":"2018-01-29 00:13:11.000000000","message":"Done","commit_id":"5efbdb18f9b6a4bc358abcf35650f357ccb83340"},{"author":{"_account_id":21224,"name":"jiaopengju","email":"jiaopengju_yewu@cmss.chinamobile.com","username":"jiaopengju"},"change_message_id":"5cc45333204c629ab3a1a609db29f98bda3f3906","unresolved":false,"context_lines":[{"line_number":211,"context_line":"                description\u003dprovider.description,"},{"line_number":212,"context_line":"                extended_info_schema\u003dprovider.extended_info_schema"},{"line_number":213,"context_line":"            )"},{"line_number":214,"context_line":"            filters \u003d filters if filters else {}"},{"line_number":215,"context_line":"            for key, value in filters.items():"},{"line_number":216,"context_line":"                if key in provider_dict.keys() and \\"},{"line_number":217,"context_line":"                        value !\u003d provider_dict[key]:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f93b717_f3cb346f","line":214,"range":{"start_line":214,"start_character":12,"end_line":214,"end_character":48},"updated":"2018-01-29 02:53:23.000000000","message":"move this out of the `for ... in ...` block.","commit_id":"3122bf2c16dce5e4ee5bb398cafcae85facc0158"},{"author":{"_account_id":21224,"name":"jiaopengju","email":"jiaopengju_yewu@cmss.chinamobile.com","username":"jiaopengju"},"change_message_id":"2c8a7cf159dbefb14d7e85911d7150669d04c57c","unresolved":false,"context_lines":[{"line_number":211,"context_line":"                description\u003dprovider.description,"},{"line_number":212,"context_line":"                extended_info_schema\u003dprovider.extended_info_schema"},{"line_number":213,"context_line":"            )"},{"line_number":214,"context_line":"            filters \u003d filters if filters else {}"},{"line_number":215,"context_line":"            for key, value in filters.items():"},{"line_number":216,"context_line":"                if key in provider_dict.keys() and \\"},{"line_number":217,"context_line":"                        value !\u003d provider_dict[key]:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f93b717_62818b8f","line":214,"range":{"start_line":214,"start_character":12,"end_line":214,"end_character":48},"in_reply_to":"5f93b717_eec10782","updated":"2018-01-29 06:00:14.000000000","message":"I mean move line 214 to line 206.  if filters is None, it will be assigned to \u0027{}\u0027","commit_id":"3122bf2c16dce5e4ee5bb398cafcae85facc0158"},{"author":{"_account_id":23950,"name":"Eric Xie","email":"eric_xiett@163.com","username":"ericxie"},"change_message_id":"b4535e13ef0fd89e9b1dce3f44431057ef73b8a0","unresolved":false,"context_lines":[{"line_number":211,"context_line":"                description\u003dprovider.description,"},{"line_number":212,"context_line":"                extended_info_schema\u003dprovider.extended_info_schema"},{"line_number":213,"context_line":"            )"},{"line_number":214,"context_line":"            filters \u003d filters if filters else {}"},{"line_number":215,"context_line":"            for key, value in filters.items():"},{"line_number":216,"context_line":"                if key in provider_dict.keys() and \\"},{"line_number":217,"context_line":"                        value !\u003d provider_dict[key]:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f93b717_eec10782","line":214,"range":{"start_line":214,"start_character":12,"end_line":214,"end_character":48},"in_reply_to":"5f93b717_f3cb346f","updated":"2018-01-29 03:50:53.000000000","message":"Hi pengju, it should not be moved out cause of \u0027AttributeError\u0027when filters is None.","commit_id":"3122bf2c16dce5e4ee5bb398cafcae85facc0158"}]}
