)]}'
{"freezer_api/db/sqlalchemy/api.py":[{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"d68918f0956e9440f3db4118ed271507655f6b52","unresolved":false,"context_lines":[{"line_number":107,"context_line":"                project_id\u003dNone):"},{"line_number":108,"context_line":"    \"\"\"Query helper that accounts for context\u0027s `read_deleted` field."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    :param context:     NovaContext of the query."},{"line_number":111,"context_line":"    :param model:       Model to query. Must be a subclass of ModelBase."},{"line_number":112,"context_line":"    :param args:        Arguments to query. If None - model is used."},{"line_number":113,"context_line":"    :param read_deleted: If not None, overrides context\u0027s read_deleted field."}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_165eaa78","line":110,"range":{"start_line":110,"start_character":11,"end_line":110,"end_character":18},"updated":"2018-10-24 07:06:40.000000000","message":"where is this param?","commit_id":"4005012f96385239e2452ad680b8130d92343dcc"},{"author":{"_account_id":21387,"name":"gecong","email":"ge.cong@zte.com.cn","username":"gecong"},"change_message_id":"0d0de8531822cc21b562176b97bbbc1276722f7d","unresolved":false,"context_lines":[{"line_number":107,"context_line":"                project_id\u003dNone):"},{"line_number":108,"context_line":"    \"\"\"Query helper that accounts for context\u0027s `read_deleted` field."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    :param context:     NovaContext of the query."},{"line_number":111,"context_line":"    :param model:       Model to query. Must be a subclass of ModelBase."},{"line_number":112,"context_line":"    :param args:        Arguments to query. If None - model is used."},{"line_number":113,"context_line":"    :param read_deleted: If not None, overrides context\u0027s read_deleted field."}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_399cf9bd","line":110,"range":{"start_line":110,"start_character":11,"end_line":110,"end_character":18},"in_reply_to":"3f79a3b5_165eaa78","updated":"2018-10-24 07:30:04.000000000","message":"Done","commit_id":"4005012f96385239e2452ad680b8130d92343dcc"},{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"d68918f0956e9440f3db4118ed271507655f6b52","unresolved":false,"context_lines":[{"line_number":115,"context_line":"                        deleted values; \u0027only\u0027, which only returns deleted"},{"line_number":116,"context_line":"                        values; and \u0027yes\u0027, which does not filter deleted"},{"line_number":117,"context_line":"                        values."},{"line_number":118,"context_line":"    :param project_only: If set and context is user-type, then restrict"},{"line_number":119,"context_line":"                        query to match the context\u0027s project_id. If set to"},{"line_number":120,"context_line":"                        \u0027allow_none\u0027, restriction includes project_id \u003d None."},{"line_number":121,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_3663a643","line":118,"range":{"start_line":118,"start_character":11,"end_line":118,"end_character":23},"updated":"2018-10-24 07:06:40.000000000","message":"ditto","commit_id":"4005012f96385239e2452ad680b8130d92343dcc"},{"author":{"_account_id":21387,"name":"gecong","email":"ge.cong@zte.com.cn","username":"gecong"},"change_message_id":"0d0de8531822cc21b562176b97bbbc1276722f7d","unresolved":false,"context_lines":[{"line_number":115,"context_line":"                        deleted values; \u0027only\u0027, which only returns deleted"},{"line_number":116,"context_line":"                        values; and \u0027yes\u0027, which does not filter deleted"},{"line_number":117,"context_line":"                        values."},{"line_number":118,"context_line":"    :param project_only: If set and context is user-type, then restrict"},{"line_number":119,"context_line":"                        query to match the context\u0027s project_id. If set to"},{"line_number":120,"context_line":"                        \u0027allow_none\u0027, restriction includes project_id \u003d None."},{"line_number":121,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_99aaedd0","line":118,"range":{"start_line":118,"start_character":11,"end_line":118,"end_character":23},"in_reply_to":"3f79a3b5_3663a643","updated":"2018-10-24 07:30:04.000000000","message":"thanks","commit_id":"4005012f96385239e2452ad680b8130d92343dcc"},{"author":{"_account_id":21069,"name":"Carl caihui","email":"caihui_nj@163.com","username":"caihui"},"change_message_id":"f6497299b169df905f98a9ce5bab4d9dc0a9bb63","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        clientmap[u\u0027user_id\u0027] \u003d client.user_id"},{"line_number":156,"context_line":"        clientmap[u\u0027client\u0027] \u003d {u\u0027uuid\u0027: client.uuid,"},{"line_number":157,"context_line":"                                u\u0027hostname\u0027: client.hostname,"},{"line_number":158,"context_line":"                                u\u0027client_id\u0027: client.config_id,"},{"line_number":159,"context_line":"                                u\u0027description\u0027: client.description}"},{"line_number":160,"context_line":"        clients.append(clientmap)"},{"line_number":161,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_b9aa4917","line":158,"range":{"start_line":158,"start_character":53,"end_line":158,"end_character":62},"updated":"2018-10-24 08:04:04.000000000","message":"why use \"config_id\"  as \"client_id\"","commit_id":"aefc7b78bc81e9e6e2d0114b4c31d2898be8fcba"},{"author":{"_account_id":21387,"name":"gecong","email":"ge.cong@zte.com.cn","username":"gecong"},"change_message_id":"524a5a32774526a4dd2fb579e3cbc6d0a46cb1fb","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        clientmap[u\u0027user_id\u0027] \u003d client.user_id"},{"line_number":156,"context_line":"        clientmap[u\u0027client\u0027] \u003d {u\u0027uuid\u0027: client.uuid,"},{"line_number":157,"context_line":"                                u\u0027hostname\u0027: client.hostname,"},{"line_number":158,"context_line":"                                u\u0027client_id\u0027: client.config_id,"},{"line_number":159,"context_line":"                                u\u0027description\u0027: client.description}"},{"line_number":160,"context_line":"        clients.append(clientmap)"},{"line_number":161,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_7cd9ffee","line":158,"range":{"start_line":158,"start_character":53,"end_line":158,"end_character":62},"in_reply_to":"3f79a3b5_b9aa4917","updated":"2018-10-24 08:40:57.000000000","message":"ok, config_id is changed in another patch, thanks","commit_id":"aefc7b78bc81e9e6e2d0114b4c31d2898be8fcba"},{"author":{"_account_id":21069,"name":"Carl caihui","email":"caihui_nj@163.com","username":"caihui"},"change_message_id":"f6497299b169df905f98a9ce5bab4d9dc0a9bb63","unresolved":false,"context_lines":[{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    client \u003d models.Client()"},{"line_number":180,"context_line":"    values[\u0027project_id\u0027] \u003d project_id"},{"line_number":181,"context_line":"    values[\u0027config_id\u0027] \u003d client_id"},{"line_number":182,"context_line":"    values[\u0027id\u0027] \u003d client_json.get(\u0027uuid\u0027, None)"},{"line_number":183,"context_line":"    values[\u0027user_id\u0027] \u003d user_id"},{"line_number":184,"context_line":"    values[\u0027hostname\u0027] \u003d client_json.get(\u0027hostname\u0027, None)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_d99625ef","line":181,"range":{"start_line":181,"start_character":12,"end_line":181,"end_character":21},"updated":"2018-10-24 08:04:04.000000000","message":"why use config_id ?","commit_id":"aefc7b78bc81e9e6e2d0114b4c31d2898be8fcba"},{"author":{"_account_id":21387,"name":"gecong","email":"ge.cong@zte.com.cn","username":"gecong"},"change_message_id":"524a5a32774526a4dd2fb579e3cbc6d0a46cb1fb","unresolved":false,"context_lines":[{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    client \u003d models.Client()"},{"line_number":180,"context_line":"    values[\u0027project_id\u0027] \u003d project_id"},{"line_number":181,"context_line":"    values[\u0027config_id\u0027] \u003d client_id"},{"line_number":182,"context_line":"    values[\u0027id\u0027] \u003d client_json.get(\u0027uuid\u0027, None)"},{"line_number":183,"context_line":"    values[\u0027user_id\u0027] \u003d user_id"},{"line_number":184,"context_line":"    values[\u0027hostname\u0027] \u003d client_json.get(\u0027hostname\u0027, None)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_3cf1476b","line":181,"range":{"start_line":181,"start_character":12,"end_line":181,"end_character":21},"in_reply_to":"3f79a3b5_d99625ef","updated":"2018-10-24 08:40:57.000000000","message":"ditto","commit_id":"aefc7b78bc81e9e6e2d0114b4c31d2898be8fcba"},{"author":{"_account_id":21069,"name":"Carl caihui","email":"caihui_nj@163.com","username":"caihui"},"change_message_id":"f6497299b169df905f98a9ce5bab4d9dc0a9bb63","unresolved":false,"context_lines":[{"line_number":193,"context_line":"        except Exception as e:"},{"line_number":194,"context_line":"            session.close()"},{"line_number":195,"context_line":"            raise freezer_api_exc.StorageEngineError("},{"line_number":196,"context_line":"                message\u003d\u0027mysql operation failed {0}\u0027.format(e))"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    LOG.info(\u0027Client registered, client_id: {0}\u0027.format(client_id))"},{"line_number":199,"context_line":"    session.close()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_391b9980","line":196,"range":{"start_line":196,"start_character":25,"end_line":196,"end_character":30},"updated":"2018-10-24 08:04:04.000000000","message":"Mysql","commit_id":"aefc7b78bc81e9e6e2d0114b4c31d2898be8fcba"},{"author":{"_account_id":21069,"name":"Carl caihui","email":"caihui_nj@163.com","username":"caihui"},"change_message_id":"4c45e9444beca0ff4c74e9cf55d18a77052fcd2b","unresolved":false,"context_lines":[{"line_number":193,"context_line":"        except Exception as e:"},{"line_number":194,"context_line":"            session.close()"},{"line_number":195,"context_line":"            raise freezer_api_exc.StorageEngineError("},{"line_number":196,"context_line":"                message\u003d\u0027mysql operation failed {0}\u0027.format(e))"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    LOG.info(\u0027Client registered, client_id: {0}\u0027.format(client_id))"},{"line_number":199,"context_line":"    session.close()"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_3f005900","line":196,"range":{"start_line":196,"start_character":25,"end_line":196,"end_character":30},"updated":"2018-10-24 08:48:02.000000000","message":"Mysql","commit_id":"53a4e28cb8c2a55e32ed76f786f6601db589965f"},{"author":{"_account_id":21069,"name":"Carl caihui","email":"caihui_nj@163.com","username":"caihui"},"change_message_id":"4c45e9444beca0ff4c74e9cf55d18a77052fcd2b","unresolved":false,"context_lines":[{"line_number":211,"context_line":"        except Exception as e:"},{"line_number":212,"context_line":"            session.close()"},{"line_number":213,"context_line":"            raise freezer_api_exc.StorageEngineError("},{"line_number":214,"context_line":"                message\u003d\u0027mysql operation failed {0}\u0027.format(e))"},{"line_number":215,"context_line":"        LOG.info(\u0027Client delete, client_id: {0} deleted\u0027."},{"line_number":216,"context_line":"                 format(client_id))"},{"line_number":217,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_bf0b0920","line":214,"range":{"start_line":214,"start_character":25,"end_line":214,"end_character":30},"updated":"2018-10-24 08:48:02.000000000","message":"Mysql","commit_id":"53a4e28cb8c2a55e32ed76f786f6601db589965f"},{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"e542aaa4ba625312aa370e4297e9a34c676414b1","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from freezer_api.common import elasticv2_utils as utils"},{"line_number":25,"context_line":"from freezer_api.common import exceptions as freezer_api_exc"},{"line_number":26,"context_line":"from freezer_api.common._i18n import _"},{"line_number":27,"context_line":"CONF \u003d cfg.CONF"},{"line_number":28,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_62586688","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":38},"updated":"2018-10-25 00:12:22.000000000","message":"Move this one up because \"imports not in alphabetical order\"","commit_id":"26d2b4c9cbec4f70f61185cb960ec8a66d8e35c3"},{"author":{"_account_id":22484,"name":"gengchc2","email":"geng.changcai2@zte.com.cn","username":"gengchc2"},"change_message_id":"96ad2b944cedcb44a9f3b16ffe11c17ce314f8ac","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from freezer_api.common import elasticv2_utils as utils"},{"line_number":25,"context_line":"from freezer_api.common import exceptions as freezer_api_exc"},{"line_number":26,"context_line":"from freezer_api.common._i18n import _"},{"line_number":27,"context_line":"CONF \u003d cfg.CONF"},{"line_number":28,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_3d75af86","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":38},"in_reply_to":"3f79a3b5_62586688","updated":"2018-10-25 01:06:16.000000000","message":"done","commit_id":"26d2b4c9cbec4f70f61185cb960ec8a66d8e35c3"},{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"e542aaa4ba625312aa370e4297e9a34c676414b1","unresolved":false,"context_lines":[{"line_number":106,"context_line":"                read_deleted\u003d\u0027no\u0027,"},{"line_number":107,"context_line":"                project_id\u003dNone):"},{"line_number":108,"context_line":"    \"\"\"Query helper that accounts for context\u0027s `read_deleted` field."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    :param model:       Model to query. Must be a subclass of ModelBase."},{"line_number":111,"context_line":"    :param args:        Arguments to query. If None - model is used."},{"line_number":112,"context_line":"    :param read_deleted: If not None, overrides context\u0027s read_deleted field."}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_42052a67","line":109,"updated":"2018-10-25 00:12:22.000000000","message":"Add session param explanation here.","commit_id":"26d2b4c9cbec4f70f61185cb960ec8a66d8e35c3"},{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"e542aaa4ba625312aa370e4297e9a34c676414b1","unresolved":false,"context_lines":[{"line_number":114,"context_line":"                        deleted values; \u0027only\u0027, which only returns deleted"},{"line_number":115,"context_line":"                        values; and \u0027yes\u0027, which does not filter deleted"},{"line_number":116,"context_line":"                        values."},{"line_number":117,"context_line":"    \"\"\""},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    query_kwargs \u003d {}"},{"line_number":120,"context_line":"    if \u0027no\u0027 \u003d\u003d read_deleted:"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_0223b207","line":117,"range":{"start_line":117,"start_character":0,"end_line":117,"end_character":7},"updated":"2018-10-25 00:12:22.000000000","message":"Add project_id explanation here.","commit_id":"26d2b4c9cbec4f70f61185cb960ec8a66d8e35c3"}]}
