)]}'
{"neutronclient/osc/v2/sfc/sfc_port_chain.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d20211f2b95b0543e8c27137c2722fa2691c8c46","unresolved":false,"context_lines":[{"line_number":338,"context_line":"    return attrs"},{"line_number":339,"context_line":""},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"def _get_attrs(attrs, parsed_args):"},{"line_number":342,"context_line":"    if (\u0027chain_parameters\u0027 in parsed_args and"},{"line_number":343,"context_line":"            parsed_args.chain_parameters is not None):"},{"line_number":344,"context_line":"        chain_params \u003d {}"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_7337f94e","line":341,"updated":"2017-10-16 17:38:35.000000000","message":"same comments as  for sfc_port_pair.py.","commit_id":"e1b5f40b5f4ed7385907179f3a78a7d87512eb36"},{"author":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"change_message_id":"0e54d7934a12a44432bb95989301b81e3b5361eb","unresolved":false,"context_lines":[{"line_number":338,"context_line":"    return attrs"},{"line_number":339,"context_line":""},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"def _get_attrs(attrs, parsed_args):"},{"line_number":342,"context_line":"    if (\u0027chain_parameters\u0027 in parsed_args and"},{"line_number":343,"context_line":"            parsed_args.chain_parameters is not None):"},{"line_number":344,"context_line":"        chain_params \u003d {}"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_30ff2168","line":341,"in_reply_to":"5f4e5783_7337f94e","updated":"2017-10-17 12:01:15.000000000","message":"Done","commit_id":"e1b5f40b5f4ed7385907179f3a78a7d87512eb36"}],"neutronclient/osc/v2/sfc/sfc_port_pair.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d20211f2b95b0543e8c27137c2722fa2691c8c46","unresolved":false,"context_lines":[{"line_number":206,"context_line":"    if parsed_args.egress is not None:"},{"line_number":207,"context_line":"        attrs[\u0027egress\u0027] \u003d _get_id(client_manager.neutronclient,"},{"line_number":208,"context_line":"                                  parsed_args.egress, \u0027port\u0027)"},{"line_number":209,"context_line":"    if (\u0027service_function_parameters\u0027 in parsed_args and"},{"line_number":210,"context_line":"            parsed_args.service_function_parameters is not None):"},{"line_number":211,"context_line":"        attrs[\u0027service_function_parameters\u0027] \u003d _get_service_function_params("},{"line_number":212,"context_line":"            parsed_args.service_function_parameters)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_73a7f90c","line":209,"range":{"start_line":209,"start_character":8,"end_line":209,"end_character":52},"updated":"2017-10-16 17:38:35.000000000","message":"Is there a case where parsed_args.service_function_parameters is not defined? If not, I think parsed_args.service_function_parameters is not None is enough.","commit_id":"e1b5f40b5f4ed7385907179f3a78a7d87512eb36"},{"author":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"change_message_id":"0e54d7934a12a44432bb95989301b81e3b5361eb","unresolved":false,"context_lines":[{"line_number":206,"context_line":"    if parsed_args.egress is not None:"},{"line_number":207,"context_line":"        attrs[\u0027egress\u0027] \u003d _get_id(client_manager.neutronclient,"},{"line_number":208,"context_line":"                                  parsed_args.egress, \u0027port\u0027)"},{"line_number":209,"context_line":"    if (\u0027service_function_parameters\u0027 in parsed_args and"},{"line_number":210,"context_line":"            parsed_args.service_function_parameters is not None):"},{"line_number":211,"context_line":"        attrs[\u0027service_function_parameters\u0027] \u003d _get_service_function_params("},{"line_number":212,"context_line":"            parsed_args.service_function_parameters)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_90a5b549","line":209,"range":{"start_line":209,"start_character":8,"end_line":209,"end_character":52},"in_reply_to":"5f4e5783_73a7f90c","updated":"2017-10-17 12:01:15.000000000","message":"After checking it is always there, fixing to check on None value","commit_id":"e1b5f40b5f4ed7385907179f3a78a7d87512eb36"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d20211f2b95b0543e8c27137c2722fa2691c8c46","unresolved":false,"context_lines":[{"line_number":215,"context_line":"def _get_service_function_params(sf_params):"},{"line_number":216,"context_line":"    attrs \u003d {}"},{"line_number":217,"context_line":"    for sf_param in sf_params:"},{"line_number":218,"context_line":"        if sf_param.get(\"correlation\"):"},{"line_number":219,"context_line":"            if sf_param[\u0027correlation\u0027] \u003d\u003d \u0027None\u0027:"},{"line_number":220,"context_line":"                attrs[\u0027correlation\u0027] \u003d None"},{"line_number":221,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_13f1e595","line":218,"range":{"start_line":218,"start_character":11,"end_line":218,"end_character":38},"updated":"2017-10-16 17:38:35.000000000","message":"We usually use:\n\n if \u0027correlation\u0027 in sf_param:","commit_id":"e1b5f40b5f4ed7385907179f3a78a7d87512eb36"},{"author":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"change_message_id":"0e54d7934a12a44432bb95989301b81e3b5361eb","unresolved":false,"context_lines":[{"line_number":215,"context_line":"def _get_service_function_params(sf_params):"},{"line_number":216,"context_line":"    attrs \u003d {}"},{"line_number":217,"context_line":"    for sf_param in sf_params:"},{"line_number":218,"context_line":"        if sf_param.get(\"correlation\"):"},{"line_number":219,"context_line":"            if sf_param[\u0027correlation\u0027] \u003d\u003d \u0027None\u0027:"},{"line_number":220,"context_line":"                attrs[\u0027correlation\u0027] \u003d None"},{"line_number":221,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_b0f2f198","line":218,"range":{"start_line":218,"start_character":11,"end_line":218,"end_character":38},"in_reply_to":"5f4e5783_13f1e595","updated":"2017-10-17 12:01:15.000000000","message":"Done","commit_id":"e1b5f40b5f4ed7385907179f3a78a7d87512eb36"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d20211f2b95b0543e8c27137c2722fa2691c8c46","unresolved":false,"context_lines":[{"line_number":220,"context_line":"                attrs[\u0027correlation\u0027] \u003d None"},{"line_number":221,"context_line":"            else:"},{"line_number":222,"context_line":"                attrs[\u0027correlation\u0027] \u003d sf_param[\u0027correlation\u0027]"},{"line_number":223,"context_line":"        if sf_param.get(\"weight\"):"},{"line_number":224,"context_line":"            attrs[\u0027weight\u0027] \u003d sf_param[\u0027weight\u0027]"},{"line_number":225,"context_line":"    return attrs"},{"line_number":226,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_f3ed29b7","line":223,"range":{"start_line":223,"start_character":8,"end_line":223,"end_character":34},"updated":"2017-10-16 17:38:35.000000000","message":"ditto","commit_id":"e1b5f40b5f4ed7385907179f3a78a7d87512eb36"},{"author":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"change_message_id":"0e54d7934a12a44432bb95989301b81e3b5361eb","unresolved":false,"context_lines":[{"line_number":220,"context_line":"                attrs[\u0027correlation\u0027] \u003d None"},{"line_number":221,"context_line":"            else:"},{"line_number":222,"context_line":"                attrs[\u0027correlation\u0027] \u003d sf_param[\u0027correlation\u0027]"},{"line_number":223,"context_line":"        if sf_param.get(\"weight\"):"},{"line_number":224,"context_line":"            attrs[\u0027weight\u0027] \u003d sf_param[\u0027weight\u0027]"},{"line_number":225,"context_line":"    return attrs"},{"line_number":226,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_90edb5b8","line":223,"range":{"start_line":223,"start_character":8,"end_line":223,"end_character":34},"in_reply_to":"5f4e5783_f3ed29b7","updated":"2017-10-17 12:01:15.000000000","message":"Done","commit_id":"e1b5f40b5f4ed7385907179f3a78a7d87512eb36"}],"neutronclient/osc/v2/sfc/sfc_port_pair_group.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d20211f2b95b0543e8c27137c2722fa2691c8c46","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                   \u0027This option can be repeated.\u0027))"},{"line_number":63,"context_line":"        parser.add_argument("},{"line_number":64,"context_line":"            \u0027--port-pair-group-parameters\u0027,"},{"line_number":65,"context_line":"            metavar\u003d\u0027lb_fields\u003d\u003clb_fields\u003e\u0027,"},{"line_number":66,"context_line":"            action\u003dparseractions.KeyValueAction,"},{"line_number":67,"context_line":"            help\u003d_(\u0027Dictionary of port pair group parameters. \u0027"},{"line_number":68,"context_line":"                   \u0027Currently only one parameter lb_fields is supported. \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_b37fb1de","line":65,"updated":"2017-10-16 17:38:35.000000000","message":"The reason the original code used a hyphen is because a hyphen is the OSC convention. I would suggest to set lb_fields based on lb-fields value in take_action() rather than changing the user visible field name.","commit_id":"e1b5f40b5f4ed7385907179f3a78a7d87512eb36"},{"author":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"change_message_id":"0e54d7934a12a44432bb95989301b81e3b5361eb","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                   \u0027This option can be repeated.\u0027))"},{"line_number":63,"context_line":"        parser.add_argument("},{"line_number":64,"context_line":"            \u0027--port-pair-group-parameters\u0027,"},{"line_number":65,"context_line":"            metavar\u003d\u0027lb_fields\u003d\u003clb_fields\u003e\u0027,"},{"line_number":66,"context_line":"            action\u003dparseractions.KeyValueAction,"},{"line_number":67,"context_line":"            help\u003d_(\u0027Dictionary of port pair group parameters. \u0027"},{"line_number":68,"context_line":"                   \u0027Currently only one parameter lb_fields is supported. \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_70091994","line":65,"in_reply_to":"5f4e5783_b37fb1de","updated":"2017-10-17 12:01:15.000000000","message":"Ack, I will do that","commit_id":"e1b5f40b5f4ed7385907179f3a78a7d87512eb36"}],"neutronclient/tests/unit/osc/v2/sfc/test_port_chain.py":[{"author":{"_account_id":14744,"name":"Vikash Kumar","email":"vikash.kumar@oneconvergence.com","username":"vks"},"change_message_id":"2109d7dd8a5e6cf4f0628a59e1d2696376c39eaa","unresolved":false,"context_lines":[{"line_number":101,"context_line":"            (\u0027name\u0027, self._port_chain[\u0027name\u0027]),"},{"line_number":102,"context_line":"            (\u0027description\u0027, self._port_chain[\u0027description\u0027]),"},{"line_number":103,"context_line":"            (\u0027flow_classifiers\u0027, [self._port_chain[\u0027flow_classifiers\u0027]]),"},{"line_number":104,"context_line":"            (\u0027chain_parameters\u0027, [cp])"},{"line_number":105,"context_line":"        ]"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        parsed_args \u003d self.check_parser(self.cmd, arglist, verifylist)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f4b6375_40a7aba8","line":104,"updated":"2017-10-24 08:48:06.000000000","message":"why this as list ?","commit_id":"6feb30daadb95a85a38194b21e70a00b7d2e5ff3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"5e6805793360088c21fd386354ccb72ccd31ab2a","unresolved":false,"context_lines":[{"line_number":101,"context_line":"            (\u0027name\u0027, self._port_chain[\u0027name\u0027]),"},{"line_number":102,"context_line":"            (\u0027description\u0027, self._port_chain[\u0027description\u0027]),"},{"line_number":103,"context_line":"            (\u0027flow_classifiers\u0027, [self._port_chain[\u0027flow_classifiers\u0027]]),"},{"line_number":104,"context_line":"            (\u0027chain_parameters\u0027, [cp])"},{"line_number":105,"context_line":"        ]"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        parsed_args \u003d self.check_parser(self.cmd, arglist, verifylist)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f485f77_9ba3ed9e","line":104,"in_reply_to":"3f4b6375_40a7aba8","updated":"2017-11-15 05:03:59.000000000","message":"This comes from the behavior of osc_lib MultiKeyValueAction, so this needs to be a list.\n\nhttp://paste.openstack.org/show/626317/","commit_id":"6feb30daadb95a85a38194b21e70a00b7d2e5ff3"}]}
