From 54cd91d576c56aa63451ce32ba42db6ea630c11c Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 7 Jun 2026 23:28:38 +0000 Subject: [PATCH] Tidy a few non-idiomatic patterns - jsonshape.mapping_list: replace accumulate-loop with a comprehension using a walrus to bind the validated mapping. - init/scaffold: build the .env line list in one literal with `*`-unpacking instead of `lines += [...]`. - code_gen/snippets._has: drop the redundant `bool()` inside `any()`. - llm.usage_of: return `usage.model_dump()` directly instead of via an intermediate annotated local. No behavior change; full check.sh gate passes (100% patch coverage). --- aai_cli/code_gen/snippets.py | 2 +- aai_cli/init/scaffold.py | 6 ++++-- aai_cli/jsonshape.py | 7 +------ aai_cli/llm.py | 3 +-- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/aai_cli/code_gen/snippets.py b/aai_cli/code_gen/snippets.py index 2913d6e4..a8d7501a 100644 --- a/aai_cli/code_gen/snippets.py +++ b/aai_cli/code_gen/snippets.py @@ -7,7 +7,7 @@ def _has(*keys: str) -> Callable[[dict[str, object]], bool]: - return lambda merged: any(bool(merged.get(k)) for k in keys) + return lambda merged: any(merged.get(k) for k in keys) _SNIPPETS: list[_Entry] = [ diff --git a/aai_cli/init/scaffold.py b/aai_cli/init/scaffold.py index 813c8259..0abe070b 100644 --- a/aai_cli/init/scaffold.py +++ b/aai_cli/init/scaffold.py @@ -84,8 +84,10 @@ def scaffold( root = _template_root(template) target.mkdir(parents=True, exist_ok=True) _copy_tree(root, target) - lines = [f"ASSEMBLYAI_API_KEY={api_key or PLACEHOLDER_KEY}"] - lines += [f"{k}={v}" for k, v in (env_vars or {}).items()] + lines = [ + f"ASSEMBLYAI_API_KEY={api_key or PLACEHOLDER_KEY}", + *(f"{k}={v}" for k, v in (env_vars or {}).items()), + ] env_path = target / ".env" # The .env holds the real API key, so create it readable/writable by the owner # only (0600) instead of the umask default (commonly 0644) — otherwise the key diff --git a/aai_cli/jsonshape.py b/aai_cli/jsonshape.py index 017cb55f..cbd03eb5 100644 --- a/aai_cli/jsonshape.py +++ b/aai_cli/jsonshape.py @@ -37,12 +37,7 @@ def as_object_list(value: object) -> list[dict[str, object]] | None: def mapping_list(value: object) -> list[dict[str, object]]: - valid: list[dict[str, object]] = [] - for item in object_list(value): - mapped = as_mapping(item) - if mapped is not None: - valid.append(mapped) - return valid + return [mapped for item in object_list(value) if (mapped := as_mapping(item)) is not None] def as_int(value: object, default: int = 0) -> int: diff --git a/aai_cli/llm.py b/aai_cli/llm.py index 5ba3cede..34781a65 100644 --- a/aai_cli/llm.py +++ b/aai_cli/llm.py @@ -115,8 +115,7 @@ def usage_of(response: ChatCompletion) -> dict[str, Any] | None: usage = response.usage if usage is None: return None - dumped: dict[str, Any] = usage.model_dump() - return dumped + return usage.model_dump() def transform_transcript(