Black
All checks were successful
CI / test (push) Successful in 4m0s
Lint / test (push) Successful in 30s
Trivy / test (push) Successful in 20s

This commit is contained in:
Miguel Jacq 2025-11-21 12:35:45 +11:00
parent 4fb5be96b1
commit 4f8d916346
Signed by: mig5
GPG key ID: 59B3F0C24135C6A9

View file

@ -62,10 +62,13 @@ class KeyParamFinder(ast.NodeVisitor):
self.current_func_name_stack.append(funcname) self.current_func_name_stack.append(funcname)
self.current_param_positions_stack.append(param_positions) self.current_param_positions_stack.append(param_positions)
self.func_info.setdefault(funcname, { self.func_info.setdefault(
"param_positions": param_positions, funcname,
"key_param_positions": set(), {
}) "param_positions": param_positions,
"key_param_positions": set(),
},
)
# If the function name is reused, last definition wins # If the function name is reused, last definition wins
self.func_info[funcname]["param_positions"] = param_positions self.func_info[funcname]["param_positions"] = param_positions
@ -153,7 +156,9 @@ class UsedKeyCollector(ast.NodeVisitor):
if isinstance(first, ast.Constant) and isinstance(first.value, str): if isinstance(first, ast.Constant) and isinstance(first.value, str):
self.used_keys.add(first.value) self.used_keys.add(first.value)
for kw in node.keywords or []: for kw in node.keywords or []:
if isinstance(kw.value, ast.Constant) and isinstance(kw.value.value, str): if isinstance(kw.value, ast.Constant) and isinstance(
kw.value.value, str
):
self.used_keys.add(kw.value.value) self.used_keys.add(kw.value.value)
# 2) Wrapper calls: functions whose params we know are translation-key params # 2) Wrapper calls: functions whose params we know are translation-key params
@ -170,7 +175,11 @@ class UsedKeyCollector(ast.NodeVisitor):
# positional args # positional args
for idx, arg in enumerate(node.args): for idx, arg in enumerate(node.args):
if idx in key_positions and isinstance(arg, ast.Constant) and isinstance(arg.value, str): if (
idx in key_positions
and isinstance(arg, ast.Constant)
and isinstance(arg.value, str)
):
self.used_keys.add(arg.value) self.used_keys.add(arg.value)
# keyword args # keyword args
@ -238,4 +247,3 @@ def main() -> None:
if __name__ == "__main__": if __name__ == "__main__":
main() main()