From 11b794635f27908eb6ae801838c23ba08294c9a0 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Mon, 8 Aug 2022 14:39:42 -0700 Subject: [PATCH 1/3] Troubleshoot issue --- .../python-packages/api-stub-generator/apistub/_diagnostic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/python-packages/api-stub-generator/apistub/_diagnostic.py b/packages/python-packages/api-stub-generator/apistub/_diagnostic.py index be323786b1e..1405ed26fb9 100644 --- a/packages/python-packages/api-stub-generator/apistub/_diagnostic.py +++ b/packages/python-packages/api-stub-generator/apistub/_diagnostic.py @@ -23,7 +23,7 @@ class Diagnostic: def __init__(self, *, obj: "PylintError", target_id: str): self.diagnostic_id = "AZ_PY_{}".format(Diagnostic.id_counter) Diagnostic.id_counter += 1 - self.text = f"{obj.message} [{obj.symbol}]" + self.text = f"({self.diagnostic_id}) {obj.message} [{obj.symbol}]" self.help_link_uri = obj.help_link self.target_id = target_id self.level = obj.level From 54a21317a9baa2491a45111c5bc287942f0d132f Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Wed, 10 Aug 2022 13:23:39 -0700 Subject: [PATCH 2/3] Bump pylint-guidelines-checker version. --- packages/python-packages/api-stub-generator/apiview_reqs.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/python-packages/api-stub-generator/apiview_reqs.txt b/packages/python-packages/api-stub-generator/apiview_reqs.txt index 07c576bdd08..45ad91cf237 100644 --- a/packages/python-packages/api-stub-generator/apiview_reqs.txt +++ b/packages/python-packages/api-stub-generator/apiview_reqs.txt @@ -1,2 +1,2 @@ ./ -pylint-guidelines-checker==0.0.5 \ No newline at end of file +pylint-guidelines-checker==0.0.7 \ No newline at end of file From dc59f5627433aa83c128e4b80776e1c18978c2d0 Mon Sep 17 00:00:00 2001 From: Travis Prescott Date: Wed, 10 Aug 2022 16:26:37 -0700 Subject: [PATCH 3/3] Fixes #3712. --- packages/python-packages/api-stub-generator/CHANGELOG.md | 1 + .../api-stub-generator/apistub/_diagnostic.py | 5 +++-- .../api-stub-generator/apistub/nodes/_function_node.py | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/python-packages/api-stub-generator/CHANGELOG.md b/packages/python-packages/api-stub-generator/CHANGELOG.md index bb1d79ab845..b369407f1d0 100644 --- a/packages/python-packages/api-stub-generator/CHANGELOG.md +++ b/packages/python-packages/api-stub-generator/CHANGELOG.md @@ -2,6 +2,7 @@ ## Version 0.3.4 (Unreleased) Fixed issue so that APIView is still generated even if pylint parsing fails. +Fixed issue where diagnostics could be duplicated on functions with the same name. ## Version 0.3.3 (2022-08-03) Fixed issue in module order to get consistent order diff --git a/packages/python-packages/api-stub-generator/apistub/_diagnostic.py b/packages/python-packages/api-stub-generator/apistub/_diagnostic.py index 1405ed26fb9..36917f9886f 100644 --- a/packages/python-packages/api-stub-generator/apistub/_diagnostic.py +++ b/packages/python-packages/api-stub-generator/apistub/_diagnostic.py @@ -21,9 +21,10 @@ class Diagnostic: id_counter = 1 def __init__(self, *, obj: "PylintError", target_id: str): - self.diagnostic_id = "AZ_PY_{}".format(Diagnostic.id_counter) + diagnostic_number = Diagnostic.id_counter + self.diagnostic_id = f"AZ_PY_{diagnostic_number}" Diagnostic.id_counter += 1 - self.text = f"({self.diagnostic_id}) {obj.message} [{obj.symbol}]" + self.text = f"{obj.message} [{obj.symbol}]" self.help_link_uri = obj.help_link self.target_id = target_id self.level = obj.level diff --git a/packages/python-packages/api-stub-generator/apistub/nodes/_function_node.py b/packages/python-packages/api-stub-generator/apistub/nodes/_function_node.py index 04dcf01ca3f..028b994faf5 100644 --- a/packages/python-packages/api-stub-generator/apistub/nodes/_function_node.py +++ b/packages/python-packages/api-stub-generator/apistub/nodes/_function_node.py @@ -65,7 +65,7 @@ def _regenerate_function_id(self): Regenerate the namespace_id for functions to account for overloads, which have the same name. """ - lines = [f"{self.name}("] + lines = [f"{self.full_name}("] for arg in self.args.values(): lines.append(f"{arg.argname}:{arg.argtype},") for arg in self.kwargs.values():