mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 10:59:59 +00:00
Resolve every 3+-file same-prefix group flagged by the new prefix lint
by moving the files into a subfolder named after the shared prefix and
dropping the prefix from the file names, updating all references:
- utils/env/handlers/infinito_*.py -> infinito/ (dir/, package_cache/
nested a second level); registry imports and the four handler-dir
globs switched to iter_project_files
- utils/install/lint/ansible_*.py -> ansible/ (aliased imports)
- roles/sys-svc-compose/files/swarm_*.{py,sh} -> files/swarm/
- web-app-erpnext/web-app-zammad files/scripts/apply_*.{py,rb} -> apply/
- web-app-odoo files/sql/{select,update}-* and sql/oidc/{grant,insert,
select,update}-* -> matching subfolders
- web-app-keycloak tasks/update/05_ldap*.yml -> 05_ldap/ (internal
includes made role_path-absolute)
- plugins/filter/get_*.py -> plugins/filter/get/ (filter names are the
filters() dict keys, so Jinja usage is unaffected; ansible discovers
the one-level-deep subdir)
Ansible lookup dirs, addon dirs and .github/workflows keep their flat
layout (the filename is the public id / GitHub only discovers flat).
Unit tests mirror the new source layout.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
21 lines
553 B
Python
21 lines
553 B
Python
"""Install ansible-lint via pip."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import os
|
|
|
|
from utils.install.pip import install_pip_pkg
|
|
from utils.install.primitives import log, which
|
|
|
|
|
|
def ensure() -> None:
|
|
if which("ansible-lint"):
|
|
return
|
|
log("Missing command 'ansible-lint'. Installing via pip.")
|
|
spec = os.environ.get("ANSIBLE_LINT_PIP_SPEC", "ansible-lint")
|
|
install_pip_pkg(spec)
|
|
if not which("ansible-lint"):
|
|
raise RuntimeError(
|
|
"Command 'ansible-lint' is still unavailable after installation."
|
|
)
|