)]}'
{"tacker/conductor/conductor_server.py":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"f8e0a3d7a6c3af6bdf41904841f097599218337e","unresolved":false,"context_lines":[{"line_number":270,"context_line":"            except (store_exceptions.GlanceStoreException) as e:"},{"line_number":271,"context_line":"                msg \u003d encodeutils.exception_to_unicode(e)"},{"line_number":272,"context_line":"                raise exceptions.FailedToGetVnfdData(error\u003dmsg)"},{"line_number":273,"context_line":"        return self._read_vnfd_files(csar_path)"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"    def _read_vnfd_files(self, csar_path):"},{"line_number":276,"context_line":"        \"\"\"Creating a dict with file path as key and file data as value."}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_07776c04","line":273,"updated":"2020-03-26 04:04:03.000000000","message":"I think it is better to use `try` clause for considering a failure of reading files.","commit_id":"1341e00966958918df441540b093248575af0d1b"},{"author":{"_account_id":31577,"name":"Ajay Parja","email":"ajay.parja@nttdata.com","username":"ajay-parja"},"change_message_id":"27c5d0967d503ea6d9a49abb50b2b7179a0aad68","unresolved":false,"context_lines":[{"line_number":270,"context_line":"            except (store_exceptions.GlanceStoreException) as e:"},{"line_number":271,"context_line":"                msg \u003d encodeutils.exception_to_unicode(e)"},{"line_number":272,"context_line":"                raise exceptions.FailedToGetVnfdData(error\u003dmsg)"},{"line_number":273,"context_line":"        return self._read_vnfd_files(csar_path)"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"    def _read_vnfd_files(self, csar_path):"},{"line_number":276,"context_line":"        \"\"\"Creating a dict with file path as key and file data as value."}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_bc8c58d7","line":273,"in_reply_to":"df33271e_07776c04","updated":"2020-04-01 16:05:19.000000000","message":"Enclosed the code under try clause in patch : https://review.opendev.org/#/c/706221/6","commit_id":"1341e00966958918df441540b093248575af0d1b"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"7f42c2654817bb9f61dd6ac24c9293959da77823","unresolved":false,"context_lines":[{"line_number":289,"context_line":"        the entry point for parsing the VNFD such as TOSCA-meta is included."},{"line_number":290,"context_line":"        \"\"\""},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"        ext \u003d (\".yaml\", \".yml\", \".meta\")"},{"line_number":293,"context_line":"        file_path_and_data \u003d {}"},{"line_number":294,"context_line":"        for item in os.listdir(csar_path):"},{"line_number":295,"context_line":"            src_path \u003d os.path.join(csar_path, item)"},{"line_number":296,"context_line":"            if os.path.isdir(src_path):"},{"line_number":297,"context_line":"                # Assuming there is no nested structure of directories as per"},{"line_number":298,"context_line":"                # ETSI GS NFV-SOL 004 V2.3.1 (2017-07)."},{"line_number":299,"context_line":"                for file in os.listdir(src_path):"},{"line_number":300,"context_line":"                    if file.endswith(ext):"},{"line_number":301,"context_line":"                        source_file_path \u003d os.path.join(src_path, file)"},{"line_number":302,"context_line":"                        data \u003d yaml.safe_load(io.open(source_file_path))"},{"line_number":303,"context_line":"                        dest_file_path \u003d os.path.join(item, file)"},{"line_number":304,"context_line":"                        file_path_and_data[dest_file_path] \u003d yaml.dump(data)"},{"line_number":305,"context_line":"            elif src_path.endswith(ext):"},{"line_number":306,"context_line":"                file_data \u003d yaml.safe_load(io.open(src_path))"},{"line_number":307,"context_line":"                file_path_and_data[item] \u003d yaml.dump(file_data)"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        return file_path_and_data"},{"line_number":310,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_cc800a4a","line":307,"range":{"start_line":292,"start_character":8,"end_line":307,"end_character":63},"updated":"2020-04-07 15:04:04.000000000","message":"I think we should include only VNFD yaml files, not all yaml files included in a VNF Package. To do that, we have to read the entry point file (top level VNFD) and load other VNFD files from \"import\" section in it.","commit_id":"3e9176026bfb0a2520ef02435f932694c5021e82"},{"author":{"_account_id":29236,"name":"Shubham Potale","email":"Shubham.Potale@nttdata.com","username":"shubham.potale"},"change_message_id":"19af04425ccfd71e77fca7c610fe7b2ed03d05dd","unresolved":false,"context_lines":[{"line_number":289,"context_line":"        the entry point for parsing the VNFD such as TOSCA-meta is included."},{"line_number":290,"context_line":"        \"\"\""},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"        ext \u003d (\".yaml\", \".yml\", \".meta\")"},{"line_number":293,"context_line":"        file_path_and_data \u003d {}"},{"line_number":294,"context_line":"        for item in os.listdir(csar_path):"},{"line_number":295,"context_line":"            src_path \u003d os.path.join(csar_path, item)"},{"line_number":296,"context_line":"            if os.path.isdir(src_path):"},{"line_number":297,"context_line":"                # Assuming there is no nested structure of directories as per"},{"line_number":298,"context_line":"                # ETSI GS NFV-SOL 004 V2.3.1 (2017-07)."},{"line_number":299,"context_line":"                for file in os.listdir(src_path):"},{"line_number":300,"context_line":"                    if file.endswith(ext):"},{"line_number":301,"context_line":"                        source_file_path \u003d os.path.join(src_path, file)"},{"line_number":302,"context_line":"                        data \u003d yaml.safe_load(io.open(source_file_path))"},{"line_number":303,"context_line":"                        dest_file_path \u003d os.path.join(item, file)"},{"line_number":304,"context_line":"                        file_path_and_data[dest_file_path] \u003d yaml.dump(data)"},{"line_number":305,"context_line":"            elif src_path.endswith(ext):"},{"line_number":306,"context_line":"                file_data \u003d yaml.safe_load(io.open(src_path))"},{"line_number":307,"context_line":"                file_path_and_data[item] \u003d yaml.dump(file_data)"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        return file_path_and_data"},{"line_number":310,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3f4c43b2_f0b40838","line":307,"range":{"start_line":292,"start_character":8,"end_line":307,"end_character":63},"in_reply_to":"df33271e_cc800a4a","updated":"2020-04-12 11:10:31.000000000","message":"Done","commit_id":"3e9176026bfb0a2520ef02435f932694c5021e82"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"1468b829c02dd8ba1148674a2ddb64dcd08f7ab0","unresolved":false,"context_lines":[{"line_number":307,"context_line":"                        dir_of_parent_definition_file)"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        file_path_and_data \u003d {}"},{"line_number":310,"context_line":"        for item in os.listdir(csar_path):"},{"line_number":311,"context_line":"            src_path \u003d os.path.join(csar_path, item)"},{"line_number":312,"context_line":"            if src_path.endswith((\".yaml\", \".yml\")):"},{"line_number":313,"context_line":"                # This is a CSAR without a TOSCA-Metadata directory and"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f4c43b2_80f0afcb","line":310,"range":{"start_line":310,"start_character":7,"end_line":310,"end_character":42},"updated":"2020-04-14 13:55:44.000000000","message":"you can do it more simply:\n\n  if \u0027TOSCA-Metadata\u0027 in os.listdir(csar_path) and os.path.isdir(os.path.join(csar_path, \u0027TOSCA-Metadata\u0027):\n      # This is a CSAR containing a TOSCA-Metadata directory\n  else\n      # This is a CSAR without a TOSCA-Metadata directory","commit_id":"6254c7fcdb22989ad5d6cb046907c272d0b70244"},{"author":{"_account_id":29236,"name":"Shubham Potale","email":"Shubham.Potale@nttdata.com","username":"shubham.potale"},"change_message_id":"13e17533a09118a209914d61484c8b6078174c9d","unresolved":false,"context_lines":[{"line_number":307,"context_line":"                        dir_of_parent_definition_file)"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        file_path_and_data \u003d {}"},{"line_number":310,"context_line":"        for item in os.listdir(csar_path):"},{"line_number":311,"context_line":"            src_path \u003d os.path.join(csar_path, item)"},{"line_number":312,"context_line":"            if src_path.endswith((\".yaml\", \".yml\")):"},{"line_number":313,"context_line":"                # This is a CSAR without a TOSCA-Metadata directory and"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f4c43b2_48dd1e41","line":310,"range":{"start_line":310,"start_character":7,"end_line":310,"end_character":42},"in_reply_to":"3f4c43b2_80f0afcb","updated":"2020-04-15 09:13:10.000000000","message":"Done","commit_id":"6254c7fcdb22989ad5d6cb046907c272d0b70244"}],"tacker/tests/functional/vnfpkgm/test_vnf_package.py":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"f8e0a3d7a6c3af6bdf41904841f097599218337e","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        body \u003d jsonutils.dumps({\"userDefinedData\": {\"foo\": \"bar\"}})"},{"line_number":183,"context_line":"        vnf_package \u003d self._create_vnf_package(body)"},{"line_number":184,"context_line":"        file_name \u003d \"sample_vnf_package_csar.zip\" \\"},{"line_number":185,"context_line":"            if not file_name else file_name"},{"line_number":186,"context_line":"        file_path \u003d self._get_csar_file_path(file_name)"},{"line_number":187,"context_line":"        with open(file_path, \u0027rb\u0027) as file_object:"},{"line_number":188,"context_line":"            resp, resp_body \u003d self.http_client.do_request("}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_27f39075","line":185,"updated":"2020-03-26 04:04:03.000000000","message":"- It\u0027s better to use `if file_name is None` as expected.\n- I think it\u0027s no need to add `else file_name` because it must be a given value or None.","commit_id":"1341e00966958918df441540b093248575af0d1b"},{"author":{"_account_id":31577,"name":"Ajay Parja","email":"ajay.parja@nttdata.com","username":"ajay-parja"},"change_message_id":"27c5d0967d503ea6d9a49abb50b2b7179a0aad68","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        body \u003d jsonutils.dumps({\"userDefinedData\": {\"foo\": \"bar\"}})"},{"line_number":183,"context_line":"        vnf_package \u003d self._create_vnf_package(body)"},{"line_number":184,"context_line":"        file_name \u003d \"sample_vnf_package_csar.zip\" \\"},{"line_number":185,"context_line":"            if not file_name else file_name"},{"line_number":186,"context_line":"        file_path \u003d self._get_csar_file_path(file_name)"},{"line_number":187,"context_line":"        with open(file_path, \u0027rb\u0027) as file_object:"},{"line_number":188,"context_line":"            resp, resp_body \u003d self.http_client.do_request("}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_3c6fa8fc","line":185,"in_reply_to":"df33271e_27f39075","updated":"2020-04-01 16:05:19.000000000","message":"Updated the code as per suggestion in patch : https://review.opendev.org/#/c/706221/6","commit_id":"1341e00966958918df441540b093248575af0d1b"}]}
