codeant-ai-for-open-source[bot] commented on code in PR #41133:
URL: https://github.com/apache/superset/pull/41133#discussion_r3509695291
##########
superset/charts/data/dashboard_filter_context.py:
##########
@@ -199,6 +199,31 @@ def _extract_filter_extra_form_data(
return None, DashboardFilterStatus.NOT_APPLIED
+def _resolve_filter_extra_form_data(
+ filter_config: dict[str, Any],
+ active_data_mask: dict[str, Any] | None,
+) -> tuple[dict[str, Any] | None, DashboardFilterStatus]:
+ """
+ Resolve a filter's extra_form_data and status, preferring an active value
+ from ``active_data_mask`` over the filter's saved default.
+
+ When ``active_data_mask`` provides an entry for this filter, its
+ ``extraFormData`` is authoritative: a non-empty value is APPLIED, while an
+ empty value means the user explicitly cleared the filter (NOT_APPLIED, with
+ no fallback to the saved default). When no active entry exists, fall back
to
+ the saved-default behavior in ``_extract_filter_extra_form_data``.
+
+ Returns (extra_form_data, status).
+ """
+ flt_id = filter_config.get("id", "")
Review Comment:
**Suggestion:** Add an explicit type annotation for this extracted filter
identifier to satisfy the type-hint requirement for relevant local variables.
[custom_rule]
**Severity Level:** Minor ⚠️
<details>
<summary><b>Why it matters? 🤔 </b></summary>
The new helper introduces a local variable whose type is clearly inferable
as a string and could be explicitly annotated under the type-hint rule. This is
a newly added Python variable in modified code without a type hint, so the
suggestion matches the rule.
</details>
[](https://app.codeant.ai/fix-in-ide?tool=cursor&prompt_id=1d1b70b97a1849ac8cf7e7316dce0fec&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset)
[](https://app.codeant.ai/fix-in-ide?tool=vscode-claude&prompt_id=1d1b70b97a1849ac8cf7e7316dce0fec&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset)
*(Use Cmd/Ctrl + Click for best experience)*
<details>
<summary><b>Prompt for AI Agent 🤖 </b></summary>
```mdx
This is a comment left during a code review.
**Path:** superset/charts/data/dashboard_filter_context.py
**Line:** 218:218
**Comment:**
*Custom Rule: Add an explicit type annotation for this extracted filter
identifier to satisfy the type-hint requirement for relevant local variables.
Validate the correctness of the flagged issue. If correct, How can I resolve
this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask
user if the user wants to fix the rest of the comments as well. if said yes,
then fetch all the comments validate the correctness and implement a minimal fix
```
</details>
<a
href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F41133&comment_hash=b5a6e5bfca3e9f4947887bb382ef256efcb8839078a91a83433dc56889bdffdd&reaction=like'>👍</a>
| <a
href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F41133&comment_hash=b5a6e5bfca3e9f4947887bb382ef256efcb8839078a91a83433dc56889bdffdd&reaction=dislike'>👎</a>
##########
superset/dashboards/api.py:
##########
@@ -1375,6 +1385,97 @@ def export_as_example(self, pk: int) -> Response:
response.set_cookie(token, "done", max_age=600)
return response
+ @expose("/<pk>/export_xlsx/", methods=("POST",))
+ @protect()
+ @safe
+ @permission_name("export")
+ @statsd_metrics
+ @event_logger.log_this_with_context(
+ action=lambda self, *args, **kwargs:
f"{self.__class__.__name__}.export_xlsx",
+ log_to_statsd=False,
+ )
+ def export_xlsx(self, pk: int) -> WerkzeugResponse:
Review Comment:
**Suggestion:** Change this new public endpoint to accept a dashboard UUID
instead of integer `pk`, and resolve the dashboard by UUID to align with
UUID-first API key usage. [custom_rule]
**Severity Level:** Minor ⚠️
<details>
<summary><b>Why it matters? 🤔 </b></summary>
This is a newly added public API endpoint that uses an integer `pk` path
parameter and type annotation instead of a UUID-based identifier. The provided
rule explicitly prefers UUID primary keys/identifiers for new public APIs, so
the suggestion identifies a real violation.
</details>
[](https://app.codeant.ai/fix-in-ide?tool=cursor&prompt_id=69de807c2d084912b294cab3f75250c5&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset)
[](https://app.codeant.ai/fix-in-ide?tool=vscode-claude&prompt_id=69de807c2d084912b294cab3f75250c5&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset)
*(Use Cmd/Ctrl + Click for best experience)*
<details>
<summary><b>Prompt for AI Agent 🤖 </b></summary>
```mdx
This is a comment left during a code review.
**Path:** superset/dashboards/api.py
**Line:** 1388:1397
**Comment:**
*Custom Rule: Change this new public endpoint to accept a dashboard
UUID instead of integer `pk`, and resolve the dashboard by UUID to align with
UUID-first API key usage.
Validate the correctness of the flagged issue. If correct, How can I resolve
this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask
user if the user wants to fix the rest of the comments as well. if said yes,
then fetch all the comments validate the correctness and implement a minimal fix
```
</details>
<a
href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F41133&comment_hash=825085cfa490badc8f724304fb665c48a151124e705cc28d7c7a5bce2a16911a&reaction=like'>👍</a>
| <a
href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F41133&comment_hash=825085cfa490badc8f724304fb665c48a151124e705cc28d7c7a5bce2a16911a&reaction=dislike'>👎</a>
##########
superset/charts/data/dashboard_filter_context.py:
##########
@@ -199,6 +199,31 @@ def _extract_filter_extra_form_data(
return None, DashboardFilterStatus.NOT_APPLIED
+def _resolve_filter_extra_form_data(
+ filter_config: dict[str, Any],
+ active_data_mask: dict[str, Any] | None,
+) -> tuple[dict[str, Any] | None, DashboardFilterStatus]:
+ """
+ Resolve a filter's extra_form_data and status, preferring an active value
+ from ``active_data_mask`` over the filter's saved default.
+
+ When ``active_data_mask`` provides an entry for this filter, its
+ ``extraFormData`` is authoritative: a non-empty value is APPLIED, while an
+ empty value means the user explicitly cleared the filter (NOT_APPLIED, with
+ no fallback to the saved default). When no active entry exists, fall back
to
+ the saved-default behavior in ``_extract_filter_extra_form_data``.
+
+ Returns (extra_form_data, status).
+ """
+ flt_id = filter_config.get("id", "")
+ if active_data_mask is not None and flt_id in active_data_mask:
+ active_efd = (active_data_mask[flt_id] or {}).get("extraFormData") or
{}
Review Comment:
**Suggestion:** Add an explicit type annotation for this computed extra form
data mapping so the new local variable is fully type-hinted. [custom_rule]
**Severity Level:** Minor ⚠️
<details>
<summary><b>Why it matters? 🤔 </b></summary>
The added local variable is a new, type-annotatable Python binding whose
value is intended to be a dictionary or empty dict. Since it is introduced
without an explicit annotation in modified code, it fits the stated type-hint
rule.
</details>
[](https://app.codeant.ai/fix-in-ide?tool=cursor&prompt_id=1cb309e32b824463b3f153159eae3265&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset)
[](https://app.codeant.ai/fix-in-ide?tool=vscode-claude&prompt_id=1cb309e32b824463b3f153159eae3265&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset)
*(Use Cmd/Ctrl + Click for best experience)*
<details>
<summary><b>Prompt for AI Agent 🤖 </b></summary>
```mdx
This is a comment left during a code review.
**Path:** superset/charts/data/dashboard_filter_context.py
**Line:** 220:220
**Comment:**
*Custom Rule: Add an explicit type annotation for this computed extra
form data mapping so the new local variable is fully type-hinted.
Validate the correctness of the flagged issue. If correct, How can I resolve
this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask
user if the user wants to fix the rest of the comments as well. if said yes,
then fetch all the comments validate the correctness and implement a minimal fix
```
</details>
<a
href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F41133&comment_hash=dec6cd3c9b5aca44ec99b555d68381c721969898c19e0a311c0db8b900cd8bf0&reaction=like'>👍</a>
| <a
href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F41133&comment_hash=dec6cd3c9b5aca44ec99b555d68381c721969898c19e0a311c0db8b900cd8bf0&reaction=dislike'>👎</a>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]