INNER CODE UNIT · Python
translation_contribs
futo-org/android-keyboard · tools/contributors.py:43
def translation_contribs(repo_dir: Path) -> Dict[str, Set[str]]:
"""
Extract mapping {name -> {languages}} from 'Co-authored-by' lines.
Expected pattern:
Co-authored-by: Alice Example <alice@dom.tld> (lt, ru)
"""
cmd = ["git", "-C", str(repo_dir), "log", "--all", "--grep", "Co-authored-by:"]
log_txt = subprocess.check_output(cmd, text=True, encoding="utf-8", errors="ignore")
pattern = re.compile(
r"Co-authored-by:\s*(?P<name>[^<]+?)\s*<(?P<email>[^>]+)>\s*\((?P<langs>[^)]+)\)",
re.IGNORECASE,
)
contribs: Dict[str, Set[str]] = defaultdict(set)
names = {}
for line in reversed(log_txt.splitlines()):
m = pattern.search(line)
if not m:
continue