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 2025/03/21 14:04:19 UTC
(tooling-trusted-release) branch main updated: Add separate submatches for archive and metadata extensions
This is an automated email from the ASF dual-hosted git repository.
sbp pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tooling-trusted-release.git
The following commit(s) were added to refs/heads/main by this push:
new f855f29 Add separate submatches for archive and metadata extensions
f855f29 is described below
commit f855f29d3445e95dc5423e24d84fd48811d4db07
Author: Sean B. Palmer <se...@miscoranda.com>
AuthorDate: Fri Mar 21 16:04:09 2025 +0200
Add separate submatches for archive and metadata extensions
---
atr/analysis.py | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/atr/analysis.py b/atr/analysis.py
index 97ae070..082585e 100755
--- a/atr/analysis.py
+++ b/atr/analysis.py
@@ -226,14 +226,12 @@ def extension_pattern() -> str:
# https://learn.microsoft.com/en-us/visualstudio/extensibility/anatomy-of-a-vsix-package?view=vs-2022
# What's the status of "pom"?
# We've included "sh", so perhaps we should include "patch"
+ archive_pattern = r"(?P<archive>" + "|".join(["[.]" + re.escape(a) for a in ARCHIVE_SUFFIXES]) + r")"
+ metadata_pattern = r"(?P<metadata>" + "|".join(["[.]" + re.escape(m) for m in METADATA_SUFFIXES]) + r")"
+ archiveonly_pattern = r"(?P<archiveonly>" + "|".join(["[.]" + re.escape(a) for a in ARCHIVE_SUFFIXES]) + r")"
- patterns = []
- for archive in ARCHIVE_SUFFIXES:
- for metadatum in METADATA_SUFFIXES:
- patterns.append(f"[.]{archive}[.]{metadatum}")
- # This must come after the metadata patterns
- patterns.append(f"[.]{archive}")
- return "(" + "|".join(patterns) + ")$"
+ pattern = rf"((?:{archive_pattern}{metadata_pattern})|{archiveonly_pattern})$"
+ return pattern
def filename_parse(filename: str, elements: dict[str, str | None]) -> tuple[str, dict[str, list[str]]]:
@@ -250,7 +248,10 @@ def filename_parse(filename: str, elements: dict[str, str | None]) -> tuple[str,
def sub(pattern: str, name: str, replacement: str, filename: str) -> str:
matches = re.findall(pattern, filename)
- substitutions[name] = matches
+ if matches:
+ substitutions[name] = matches if isinstance(matches[0], str) else [m[0] for m in matches]
+ else:
+ substitutions[name] = []
return re.sub(pattern, replacement, filename)
filename = sub(r"apache(?=[_.-])", "core", "α", filename)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tooling.apache.org
For additional commands, e-mail: commits-help@tooling.apache.org