You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tooling.apache.org by sb...@apache.org on 2026/03/11 16:57:33 UTC
(tooling-trusted-releases) 06/06: Make the revision number optional in the form to add ignores
This is an automated email from the ASF dual-hosted git repository.
sbp pushed a commit to branch sbp
in repository https://gitbox.apache.org/repos/asf/tooling-trusted-releases.git
commit 8d01b2751009df98b9559f744b1862a0181c4f02
Author: Sean B. Palmer <se...@miscoranda.com>
AuthorDate: Wed Mar 11 16:56:45 2026 +0000
Make the revision number optional in the form to add ignores
---
atr/models/safe.py | 16 +++++++++++++++-
atr/shared/ignores.py | 2 +-
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/atr/models/safe.py b/atr/models/safe.py
index 9ec73067..c71daf27 100644
--- a/atr/models/safe.py
+++ b/atr/models/safe.py
@@ -19,7 +19,9 @@ from __future__ import annotations
import string
import unicodedata
-from typing import Any, Final
+from typing import Annotated, Any, Final
+
+import pydantic
_ALPHANUM: Final = frozenset(string.ascii_letters + string.digits + "-")
_NUMERIC: Final = frozenset(string.digits)
@@ -121,6 +123,18 @@ class VersionName(Alphanumeric):
raise ValueError("A version should end with an alphanumeric character")
+def _empty_to_none(v: object) -> object:
+ if isinstance(v, str) and (not v):
+ return None
+ return v
+
+
+type OptionalRevisionNumber = Annotated[
+ RevisionNumber | None,
+ pydantic.BeforeValidator(_empty_to_none),
+]
+
+
def _assert_standard_safe_syntax(value: str) -> None:
if unicodedata.normalize("NFC", value) != value:
raise ValueError("Value must be NFC-normalized")
diff --git a/atr/shared/ignores.py b/atr/shared/ignores.py
index 56cb0b84..947c86eb 100644
--- a/atr/shared/ignores.py
+++ b/atr/shared/ignores.py
@@ -44,7 +44,7 @@ class IgnoreStatus(enum.Enum):
class AddIgnoreForm(form.Form):
variant: ADD = form.value(ADD)
release_glob: str = form.label("Release pattern", default="")
- revision_number: safe.RevisionNumber = form.label("Revision number (literal)", default="")
+ revision_number: safe.OptionalRevisionNumber = form.label("Revision number (literal)", default="")
checker_glob: str = form.label("Checker pattern", default="")
primary_rel_path_glob: str = form.label("Primary rel path pattern", default="")
member_rel_path_glob: str = form.label("Member rel path pattern", default="")
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tooling.apache.org
For additional commands, e-mail: commits-help@tooling.apache.org