)]}'
{"tacker/mistral/mistral_client.py":[{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"573c655cc9b8d82a06e3e1e00888e60489fdf4db","unresolved":false,"context_lines":[{"line_number":20,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class MistralClient(object):"},{"line_number":24,"context_line":"    \"\"\"Mistral Client class for Mistral operations\"\"\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_96eb5411","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":19},"updated":"2017-07-19 20:01:27.000000000","message":"if every method in a class is a classmethod, why can\u0027t we make it functions or make them instance methods.\nCan you explain why we need classmethod here?","commit_id":"9744d655488fe90ff8e1b3e042d48adc70e1d738"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"58038c606a153c203f90496f6eda363ab4231765","unresolved":false,"context_lines":[{"line_number":20,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class MistralClient(object):"},{"line_number":24,"context_line":"    \"\"\"Mistral Client class for Mistral operations\"\"\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_671d9a72","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":19},"in_reply_to":"1f1a1f67_96eb5411","updated":"2017-07-20 07:28:06.000000000","message":"+1\nwe can instantiate this class with auth_dict, save the client, then we can call it\u0027s method without get_client every time.","commit_id":"9744d655488fe90ff8e1b3e042d48adc70e1d738"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"b607e884325d5f5325930ed3126582a11178593c","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            raise exceptions.NoTasksException(resource\u003dresource, action\u003daction)"},{"line_number":40,"context_line":"        definition_yaml \u003d yaml.safe_dump(wg.definition,"},{"line_number":41,"context_line":"                                         default_flow_style\u003dFalse)"},{"line_number":42,"context_line":"        LOG.debug(\u0027vim monitor workflow: %s\u0027, definition_yaml)"},{"line_number":43,"context_line":"        workflow \u003d mistral_client.workflows.create(definition_yaml)"},{"line_number":44,"context_line":"        return {\u0027id\u0027: workflow[0].id, \u0027input\u0027: wg.get_input_dict()}"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_93e05328","line":42,"range":{"start_line":42,"start_character":19,"end_line":42,"end_character":43},"updated":"2017-07-18 01:53:28.000000000","message":"This debug print should be generic, not only vim monitor.","commit_id":"9744d655488fe90ff8e1b3e042d48adc70e1d738"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"b607e884325d5f5325930ed3126582a11178593c","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            wf_params\u003d{})"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    @classmethod"},{"line_number":54,"context_line":"    def delete_executions(cls, mistral_client, vim_id):"},{"line_number":55,"context_line":"        executions \u003d mistral_client.executions.list("},{"line_number":56,"context_line":"            workflow_name\u003d\u0027vim_id_\u0027 + vim_id)"},{"line_number":57,"context_line":"        for execution in executions:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_936733b8","line":54,"range":{"start_line":54,"start_character":47,"end_line":54,"end_character":53},"updated":"2017-07-18 01:53:28.000000000","message":"I think, it\u0027s better to rename this param to workflow_name, that make this interface generic. we can extend with prefix vim_id_ in the caller.","commit_id":"9744d655488fe90ff8e1b3e042d48adc70e1d738"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"573c655cc9b8d82a06e3e1e00888e60489fdf4db","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            wf_params\u003d{})"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    @classmethod"},{"line_number":54,"context_line":"    def delete_executions(cls, mistral_client, vim_id):"},{"line_number":55,"context_line":"        executions \u003d mistral_client.executions.list("},{"line_number":56,"context_line":"            workflow_name\u003d\u0027vim_id_\u0027 + vim_id)"},{"line_number":57,"context_line":"        for execution in executions:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_1b8bedc2","line":54,"range":{"start_line":54,"start_character":47,"end_line":54,"end_character":53},"in_reply_to":"1f1a1f67_936733b8","updated":"2017-07-19 20:01:27.000000000","message":"+1","commit_id":"9744d655488fe90ff8e1b3e042d48adc70e1d738"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"b607e884325d5f5325930ed3126582a11178593c","unresolved":false,"context_lines":[{"line_number":58,"context_line":"            mistral_client.executions.delete(execution.id)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    @classmethod"},{"line_number":61,"context_line":"    def delete_workflow(cls, mistral_client, vim_id):"},{"line_number":62,"context_line":"        return mistral_client.workflows.delete(\u0027vim_id_\u0027 + vim_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_b3ffcfa9","line":61,"range":{"start_line":61,"start_character":45,"end_line":61,"end_character":51},"updated":"2017-07-18 01:53:28.000000000","message":"ditto","commit_id":"9744d655488fe90ff8e1b3e042d48adc70e1d738"}],"tacker/nfvo/workflows/vim_monitor/vim_monitor_utils.py":[{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"b607e884325d5f5325930ed3126582a11178593c","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"def delete_vim_monitor(context, auth_dict, vim_obj):"},{"line_number":57,"context_line":"    mc \u003d get_mistral_client(auth_dict)"},{"line_number":58,"context_line":"    mistral_client.MistralClient.delete_executions(mc, vim_obj[\u0027id\u0027])"},{"line_number":59,"context_line":"    mistral_client.MistralClient.delete_workflow(mc, vim_obj[\u0027id\u0027])"},{"line_number":60,"context_line":"    kill_action(context, vim_obj)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_93bf33a9","line":58,"range":{"start_line":58,"start_character":55,"end_line":58,"end_character":68},"updated":"2017-07-18 01:53:28.000000000","message":"we can add a common function to generate workflow_name, used in monitor_vim, delete_vim_monitor,","commit_id":"9744d655488fe90ff8e1b3e042d48adc70e1d738"}]}
