)]}'
{"tacker/common/utils.py":[{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"4b23779fc49b37a77d87be2230efe1ea2b687cc9","unresolved":true,"context_lines":[{"line_number":389,"context_line":"        new_dict \u003d {}"},{"line_number":390,"context_line":"        for key, property_value in request_data.items():"},{"line_number":391,"context_line":"            property_value \u003d convert_snakecase_to_camelcase(property_value)"},{"line_number":392,"context_line":"            camelcase \u003d key if key.startswith(\u0027_\u0027) else convert(key)"},{"line_number":393,"context_line":"            new_dict[camelcase] \u003d property_value"},{"line_number":394,"context_line":"        return new_dict"},{"line_number":395,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"47f2b52d_983d1536","line":392,"range":{"start_line":392,"start_character":12,"end_line":392,"end_character":68},"updated":"2021-02-26 08:17:08.000000000","message":"I thought users of this util function might expect \u0027_test_links\u0027 to be converted to \u0027_testLinks\u0027, what do you think?\nIf you think so, please fix it.\nIf you don\u0027t think so, at least I think you need to add to the comment of this function that the key that starts with\u0027_\u0027 is not converted.","commit_id":"f1180b85243e3f389070311c9fd64ef2a52ea306"},{"author":{"_account_id":32736,"name":"Wataru Juso","email":"w-juso@nec.com","username":"w-juso"},"change_message_id":"e9b50a90c57f85245d2af1e64854238e00b6e79f","unresolved":true,"context_lines":[{"line_number":389,"context_line":"        new_dict \u003d {}"},{"line_number":390,"context_line":"        for key, property_value in request_data.items():"},{"line_number":391,"context_line":"            property_value \u003d convert_snakecase_to_camelcase(property_value)"},{"line_number":392,"context_line":"            camelcase \u003d key if key.startswith(\u0027_\u0027) else convert(key)"},{"line_number":393,"context_line":"            new_dict[camelcase] \u003d property_value"},{"line_number":394,"context_line":"        return new_dict"},{"line_number":395,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"518e09d1_918ec9b6","line":392,"range":{"start_line":392,"start_character":12,"end_line":392,"end_character":68},"in_reply_to":"47f2b52d_983d1536","updated":"2021-02-26 12:08:52.000000000","message":"At least in the ETSI SOL 003 documentation, there were no attributes starting with an underscore.\n*the exception is _links.\nAlso, snake case connects words with underscores, so I think that words starting with underscores are not snake case.\n\nFor these reasons, we will add \"the key that starts with\u0027_\u0027 is not converted.\" to the comment of the function","commit_id":"f1180b85243e3f389070311c9fd64ef2a52ea306"},{"author":{"_account_id":31072,"name":"Hiroo Kitamura","email":"hiroo.kitamura@ntt-at.co.jp","username":"Hiroo.Kitamura"},"change_message_id":"bc1afc58f223654a40ceaa487ea6cc19ed1e0246","unresolved":false,"context_lines":[{"line_number":389,"context_line":"        new_dict \u003d {}"},{"line_number":390,"context_line":"        for key, property_value in request_data.items():"},{"line_number":391,"context_line":"            property_value \u003d convert_snakecase_to_camelcase(property_value)"},{"line_number":392,"context_line":"            camelcase \u003d key if key.startswith(\u0027_\u0027) else convert(key)"},{"line_number":393,"context_line":"            new_dict[camelcase] \u003d property_value"},{"line_number":394,"context_line":"        return new_dict"},{"line_number":395,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3593e3dc_b299aab2","line":392,"range":{"start_line":392,"start_character":12,"end_line":392,"end_character":68},"in_reply_to":"518e09d1_918ec9b6","updated":"2021-03-03 02:35:20.000000000","message":"Thank you for adding to the comment.\nI\u0027ve confirmed.","commit_id":"f1180b85243e3f389070311c9fd64ef2a52ea306"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"7bee1f28e0d6167dce02a19fa6c749e278193896","unresolved":true,"context_lines":[{"line_number":378,"context_line":"    This method takes care only keys in a `dict` or `dicts in a list`."},{"line_number":379,"context_line":"    For simple list with string items, the elements which are actual values"},{"line_number":380,"context_line":"    are ignored during conversion."},{"line_number":381,"context_line":"    Also, for the initial of key is an underscore, it is not be converted."},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"    :param request_data: dict with keys or list with items, in snake_case."},{"line_number":384,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"39124b79_02ff810c","line":381,"updated":"2021-03-03 02:41:34.000000000","message":"I understand what do you mean from discussion with Kitamura san, but this comment does not explain it correctly. You mean it ignore to convert if key is starts with \u0027_\u0027, or the first char of the key is \u0027_\u0027, right? \"it is not be converted\" is not correct in grammar at least.\n\nAnyway, why don\u0027t you add some examples for better understanding because the behavior of this function has become just a bit complex now?","commit_id":"3f8ed2ff36a57569ac5a9a57ad7ad3aa36f622ed"},{"author":{"_account_id":32736,"name":"Wataru Juso","email":"w-juso@nec.com","username":"w-juso"},"change_message_id":"fd28cd45a08d62afcc62fd7ab125afe7d63f815a","unresolved":true,"context_lines":[{"line_number":378,"context_line":"    This method takes care only keys in a `dict` or `dicts in a list`."},{"line_number":379,"context_line":"    For simple list with string items, the elements which are actual values"},{"line_number":380,"context_line":"    are ignored during conversion."},{"line_number":381,"context_line":"    Also, for the initial of key is an underscore, it is not be converted."},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"    :param request_data: dict with keys or list with items, in snake_case."},{"line_number":384,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"fae27631_6f74322d","line":381,"in_reply_to":"39124b79_02ff810c","updated":"2021-03-16 00:23:13.000000000","message":"Thank you for your comment.\n\nI have revised the description.\nAlso, I added the examples in a way that the sphinx build will work.\nBut, this description has two styles that sphinx has.\nIf there is a better way, please let me know.","commit_id":"3f8ed2ff36a57569ac5a9a57ad7ad3aa36f622ed"}],"tacker/conductor/conductor_server.py":[{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"e004e2aa4ab42470d7e1071220f7f40b45332c00","unresolved":true,"context_lines":[{"line_number":1459,"context_line":"                \"Failed to send notification {}. Details: {}\".format("},{"line_number":1460,"context_line":"                    vnf_lcm_op_occs_id, str(ex)))"},{"line_number":1461,"context_line":""},{"line_number":1462,"context_line":"    def send_notification(self, context, notification):"},{"line_number":1463,"context_line":"        try:"},{"line_number":1464,"context_line":"            LOG.debug(\"send_notification start notification[%s]\""},{"line_number":1465,"context_line":"                      % notification)"}],"source_content_type":"text/x-python","patch_set":3,"id":"f6fa5441_eec2c4d2","line":1462,"updated":"2021-02-16 02:36:49.000000000","message":"notification \u003d utils.convert_snakecase_to_camelcase(notification)","commit_id":"23a569d5effa8dceed5133a02642b9c90768f97a"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"e004e2aa4ab42470d7e1071220f7f40b45332c00","unresolved":true,"context_lines":[{"line_number":1485,"context_line":""},{"line_number":1486,"context_line":"            notification[\u0027id\u0027] \u003d uuidutils.generate_uuid()"},{"line_number":1487,"context_line":""},{"line_number":1488,"context_line":"            if \u0027affectedVnfcs\u0027 in notification:"},{"line_number":1489,"context_line":"                notification[\u0027affectedVnfcs\u0027] \u003d ("},{"line_number":1490,"context_line":"                    utils.convert_snakecase_to_camelcase("},{"line_number":1491,"context_line":"                        notification[\u0027affectedVnfcs\u0027]))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a043408_c8b49135","line":1488,"updated":"2021-02-16 02:36:49.000000000","message":"why don\u0027t you do with one line ? (see L.1462 comment)","commit_id":"23a569d5effa8dceed5133a02642b9c90768f97a"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"1c3e57b6545c836b4a89d31a23b8b2ed3d78c905","unresolved":true,"context_lines":[{"line_number":1485,"context_line":""},{"line_number":1486,"context_line":"            notification[\u0027id\u0027] \u003d uuidutils.generate_uuid()"},{"line_number":1487,"context_line":""},{"line_number":1488,"context_line":"            if \u0027affectedVnfcs\u0027 in notification:"},{"line_number":1489,"context_line":"                notification[\u0027affectedVnfcs\u0027] \u003d ("},{"line_number":1490,"context_line":"                    utils.convert_snakecase_to_camelcase("},{"line_number":1491,"context_line":"                        notification[\u0027affectedVnfcs\u0027]))"}],"source_content_type":"text/x-python","patch_set":3,"id":"6972165b_2454c91e","line":1488,"in_reply_to":"142e5aca_1c159ba8","updated":"2021-02-16 03:31:42.000000000","message":"I understand. \nBut I think convert_snakecase_to_camelcase is wrong and it is better to fix convert_snakecase_to_camelcase.","commit_id":"23a569d5effa8dceed5133a02642b9c90768f97a"},{"author":{"_account_id":32736,"name":"Wataru Juso","email":"w-juso@nec.com","username":"w-juso"},"change_message_id":"47de3a182cb1d39bce34f5ece38f92a43e5b1f9c","unresolved":true,"context_lines":[{"line_number":1485,"context_line":""},{"line_number":1486,"context_line":"            notification[\u0027id\u0027] \u003d uuidutils.generate_uuid()"},{"line_number":1487,"context_line":""},{"line_number":1488,"context_line":"            if \u0027affectedVnfcs\u0027 in notification:"},{"line_number":1489,"context_line":"                notification[\u0027affectedVnfcs\u0027] \u003d ("},{"line_number":1490,"context_line":"                    utils.convert_snakecase_to_camelcase("},{"line_number":1491,"context_line":"                        notification[\u0027affectedVnfcs\u0027]))"}],"source_content_type":"text/x-python","patch_set":3,"id":"142e5aca_1c159ba8","line":1488,"in_reply_to":"5a043408_c8b49135","updated":"2021-02-16 02:56:37.000000000","message":"The notification received by this function contains \"_links\" information.\nIf run it with one line as your proposal, \"_links\" will be converted to \"Links\".\nThis conversion is incorrect, I have made the following corrections.","commit_id":"23a569d5effa8dceed5133a02642b9c90768f97a"},{"author":{"_account_id":32736,"name":"Wataru Juso","email":"w-juso@nec.com","username":"w-juso"},"change_message_id":"2e9f9681f48da79c6245198177ef27119c1112c7","unresolved":true,"context_lines":[{"line_number":1485,"context_line":""},{"line_number":1486,"context_line":"            notification[\u0027id\u0027] \u003d uuidutils.generate_uuid()"},{"line_number":1487,"context_line":""},{"line_number":1488,"context_line":"            if \u0027affectedVnfcs\u0027 in notification:"},{"line_number":1489,"context_line":"                notification[\u0027affectedVnfcs\u0027] \u003d ("},{"line_number":1490,"context_line":"                    utils.convert_snakecase_to_camelcase("},{"line_number":1491,"context_line":"                        notification[\u0027affectedVnfcs\u0027]))"}],"source_content_type":"text/x-python","patch_set":3,"id":"82b629d5_29c02d9f","line":1488,"in_reply_to":"6972165b_2454c91e","updated":"2021-02-17 11:21:27.000000000","message":"As you suggested, I will fix common/utils because I think it is wrong that it is converted with underscores+word.\n\nThen, I\u0027ll fix it to a one-line fix in send_notificaiton.\nThe fix will be done at the beginning of the send_notification.","commit_id":"23a569d5effa8dceed5133a02642b9c90768f97a"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"d2983b7b25996a5118d9d0ccd117e8595d9da09c","unresolved":true,"context_lines":[{"line_number":1485,"context_line":""},{"line_number":1486,"context_line":"            notification[\u0027id\u0027] \u003d uuidutils.generate_uuid()"},{"line_number":1487,"context_line":""},{"line_number":1488,"context_line":"            if \u0027affectedVnfcs\u0027 in notification:"},{"line_number":1489,"context_line":"                notification[\u0027affectedVnfcs\u0027] \u003d ("},{"line_number":1490,"context_line":"                    utils.convert_snakecase_to_camelcase("},{"line_number":1491,"context_line":"                        notification[\u0027affectedVnfcs\u0027]))"}],"source_content_type":"text/x-python","patch_set":3,"id":"540bc789_989905d8","line":1488,"in_reply_to":"6972165b_2454c91e","updated":"2021-03-02 22:02:56.000000000","message":"For example;\n--- a/tacker/common/utils.py\n+++ b/tacker/common/utils.py\n@@ -382,6 +382,8 @@ def convert_snakecase_to_camelcase(request_data):\n     :param request_data: dict with keys or list with items, in snake_case.\n     \"\"\"\n     def convert(name):\n+        if name.startswith(\u0027_\u0027):\n+            return \u0027_\u0027 + convert(name[1:])\n         return re.sub(\u0027_([a-z])\u0027,\n                       lambda match: match.group(1).upper(), name)","commit_id":"23a569d5effa8dceed5133a02642b9c90768f97a"}],"tacker/tests/unit/common/test_utils.py":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"7bee1f28e0d6167dce02a19fa6c749e278193896","unresolved":true,"context_lines":[{"line_number":91,"context_line":"        expected_val \u003d [\"snake_case_value1\", \"snake_case_value2\"]"},{"line_number":92,"context_line":"        self.assertEqual(expected_val, actual_val)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def test_convert_snakecase_to_camelcase_dict_at_initial_under_score(self):"},{"line_number":95,"context_line":"        \"\"\"Check no convert if the initial word starts with \u0027_\u0027."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        Dict keys with underscore(_) at the initial word should be not"}],"source_content_type":"text/x-python","patch_set":5,"id":"e40ff811_8ba40478","line":94,"updated":"2021-03-03 02:41:34.000000000","message":"Why don\u0027t you test it as a part of test_convert_snakecase_to_camelcase_dict() above?\n\nIf you think it should be separated, I don\u0027t understand the purpose of the test from the name. It expect to ignore if the first char  of the key is underscore, but it does not appear in the name.","commit_id":"3f8ed2ff36a57569ac5a9a57ad7ad3aa36f622ed"},{"author":{"_account_id":32736,"name":"Wataru Juso","email":"w-juso@nec.com","username":"w-juso"},"change_message_id":"fd28cd45a08d62afcc62fd7ab125afe7d63f815a","unresolved":true,"context_lines":[{"line_number":91,"context_line":"        expected_val \u003d [\"snake_case_value1\", \"snake_case_value2\"]"},{"line_number":92,"context_line":"        self.assertEqual(expected_val, actual_val)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def test_convert_snakecase_to_camelcase_dict_at_initial_under_score(self):"},{"line_number":95,"context_line":"        \"\"\"Check no convert if the initial word starts with \u0027_\u0027."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        Dict keys with underscore(_) at the initial word should be not"}],"source_content_type":"text/x-python","patch_set":5,"id":"c9dc8260_bb20b17d","line":94,"in_reply_to":"e40ff811_8ba40478","updated":"2021-03-16 00:23:13.000000000","message":"Included test contents in test_convert_snakecase_to_camelcase_dict().","commit_id":"3f8ed2ff36a57569ac5a9a57ad7ad3aa36f622ed"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"7bee1f28e0d6167dce02a19fa6c749e278193896","unresolved":true,"context_lines":[{"line_number":98,"context_line":"        converted to camelcase."},{"line_number":99,"context_line":"        \"\"\""},{"line_number":100,"context_line":"        actual_val \u003d utils.convert_snakecase_to_camelcase("},{"line_number":101,"context_line":"            {\"_snake_case_key\": \"snake_case_value\"})"},{"line_number":102,"context_line":"        expected_val \u003d {\"_snake_case_key\": \"snake_case_value\"}"},{"line_number":103,"context_line":"        self.assertEqual(expected_val, actual_val)"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"94a702dc_6ce6e574","line":101,"range":{"start_line":101,"start_character":14,"end_line":101,"end_character":29},"updated":"2021-03-03 02:41:34.000000000","message":"It\u0027s not good naming because you don\u0027t consider the word starts with \u0027_\u0027 as snake case but the name says it\u0027s snake case.","commit_id":"3f8ed2ff36a57569ac5a9a57ad7ad3aa36f622ed"},{"author":{"_account_id":32736,"name":"Wataru Juso","email":"w-juso@nec.com","username":"w-juso"},"change_message_id":"fd28cd45a08d62afcc62fd7ab125afe7d63f815a","unresolved":true,"context_lines":[{"line_number":98,"context_line":"        converted to camelcase."},{"line_number":99,"context_line":"        \"\"\""},{"line_number":100,"context_line":"        actual_val \u003d utils.convert_snakecase_to_camelcase("},{"line_number":101,"context_line":"            {\"_snake_case_key\": \"snake_case_value\"})"},{"line_number":102,"context_line":"        expected_val \u003d {\"_snake_case_key\": \"snake_case_value\"}"},{"line_number":103,"context_line":"        self.assertEqual(expected_val, actual_val)"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"72020b79_04867ca0","line":101,"range":{"start_line":101,"start_character":14,"end_line":101,"end_character":29},"in_reply_to":"94a702dc_6ce6e574","updated":"2021-03-16 00:23:13.000000000","message":"In order to include the test contents in test_convert_snakecase_to_camelcase_dict(), the Key/Value characters have been corrected.","commit_id":"3f8ed2ff36a57569ac5a9a57ad7ad3aa36f622ed"}]}
