|  | 
| 9 | 9 | # https://github.com/Azure/azure-cli/blob/release/doc/extensions/versioning_guidelines.md | 
| 10 | 10 | 
 | 
| 11 | 11 | from packaging.version import parse | 
|  | 12 | +from knack.util import CLIError | 
| 12 | 13 | from azure_cli_diff_tool.utils import DiffLevel | 
| 13 | 14 | from azdev.operations.constant import (PREVIEW_INIT_SUFFIX, VERSION_MAJOR_TAG, VERSION_MINOR_TAG, | 
| 14 | 15 |                                        VERSION_PATCH_TAG, VERSION_STABLE_TAG, VERSION_PREVIEW_TAG, VERSION_PRE_TAG, | 
| @@ -70,6 +71,8 @@ def __init__(self, module_name, current_version, is_preview, is_experimental, | 
| 70 | 71 |         self.init_version_pre_tag() | 
| 71 | 72 |         self.next_version = ModuleVersion(self.version) | 
| 72 | 73 |         self.last_stable_major = float('inf') | 
|  | 74 | +        self.pkg_name = self.module_name | 
|  | 75 | +        self.parse_pkg_name() | 
| 73 | 76 |         self.parse_last_stable_major() | 
| 74 | 77 | 
 | 
| 75 | 78 |     def norm_versions(self): | 
| @@ -179,15 +182,22 @@ def find_max_version(version_datas): | 
| 179 | 182 |                 has_stable = True | 
| 180 | 183 |         return has_stable, max_stable_major | 
| 181 | 184 | 
 | 
|  | 185 | +    def parse_pkg_name(self): | 
|  | 186 | +        from azdev.operations.extensions import show_extension | 
|  | 187 | +        try: | 
|  | 188 | +            self.pkg_name = show_extension(self.module_name)["pkg_name"] | 
|  | 189 | +        except CLIError: | 
|  | 190 | +            pass | 
|  | 191 | + | 
| 182 | 192 |     def parse_last_stable_major(self): | 
| 183 | 193 |         import requests | 
| 184 | 194 |         try: | 
| 185 | 195 |             response = requests.get(CLI_EXTENSION_INDEX_URL) | 
| 186 | 196 |             extension_data = response.json() | 
| 187 |  | -            if self.module_name not in extension_data["extensions"]: | 
|  | 197 | +            if self.pkg_name not in extension_data["extensions"]: | 
| 188 | 198 |                 return | 
| 189 | 199 |             has_stable, max_stable_major = self.find_max_version( | 
| 190 |  | -                extension_data["extensions"][self.module_name]) | 
|  | 200 | +                extension_data["extensions"][self.pkg_name]) | 
| 191 | 201 |             if has_stable: | 
| 192 | 202 |                 self.last_stable_major = max_stable_major | 
| 193 | 203 |             else: | 
|  | 
0 commit comments