From cf9a7bd2908ff2746e88a6fabe4fc01731e725ce Mon Sep 17 00:00:00 2001 From: harold random Date: Tue, 28 Apr 2020 13:27:41 +0800 Subject: [PATCH 1/3] fix loading wrong wheel type extension metadata --- src/azure-cli-core/azure/cli/core/extension/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/azure-cli-core/azure/cli/core/extension/__init__.py b/src/azure-cli-core/azure/cli/core/extension/__init__.py index b286daf2e24..a81d1e79ff7 100644 --- a/src/azure-cli-core/azure/cli/core/extension/__init__.py +++ b/src/azure-cli-core/azure/cli/core/extension/__init__.py @@ -138,7 +138,8 @@ def get_metadata(self): return None metadata = {} ext_dir = self.path or get_extension_path(self.name) - info_dirs = glob(os.path.join(ext_dir, '*.*-info')) + info_dirs = glob(os.path.join(ext_dir, self.name.replace('-', '_') + '*.*-info')) + azext_metadata = WheelExtension.get_azext_metadata(ext_dir) if azext_metadata: metadata.update(azext_metadata) From 9f6c56cc2d1852e612b1a7ef055c337af861b729 Mon Sep 17 00:00:00 2001 From: harold random Date: Tue, 28 Apr 2020 14:15:27 +0800 Subject: [PATCH 2/3] add extension name check --- src/azure-cli-core/azure/cli/core/extension/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/azure-cli-core/azure/cli/core/extension/__init__.py b/src/azure-cli-core/azure/cli/core/extension/__init__.py index a81d1e79ff7..216dabb4807 100644 --- a/src/azure-cli-core/azure/cli/core/extension/__init__.py +++ b/src/azure-cli-core/azure/cli/core/extension/__init__.py @@ -147,7 +147,8 @@ def get_metadata(self): for dist_info_dirname in info_dirs: try: ext_whl_metadata = pkginfo.Wheel(dist_info_dirname) - metadata.update(vars(ext_whl_metadata)) + if self.name == ext_whl_metadata.name: + metadata.update(vars(ext_whl_metadata)) except ValueError: logger.warning('extension % contains invalid metadata for Python Package', self.name) From 5a4473f774f5f3895a103f62b3d0c3603137aa93 Mon Sep 17 00:00:00 2001 From: harold random Date: Tue, 28 Apr 2020 14:22:36 +0800 Subject: [PATCH 3/3] add extension name check for dev type extension --- src/azure-cli-core/azure/cli/core/extension/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/azure-cli-core/azure/cli/core/extension/__init__.py b/src/azure-cli-core/azure/cli/core/extension/__init__.py index 216dabb4807..a402d57369b 100644 --- a/src/azure-cli-core/azure/cli/core/extension/__init__.py +++ b/src/azure-cli-core/azure/cli/core/extension/__init__.py @@ -213,7 +213,8 @@ def get_metadata(self): egg_metadata_path = os.path.join(ext_dir, egg_info_dirname, ) try: ext_whl_metadata = pkginfo.Develop(egg_metadata_path) - metadata.update(vars(ext_whl_metadata)) + if self.name == ext_whl_metadata.name: + metadata.update(vars(ext_whl_metadata)) except ValueError: logger.warning('extension % contains invalid metadata for Python Package', self.name)