47fac22230
- .claude/CLAUDE.md - .claude/commands/subagentes.md - .claude/rules/INDEX.md - .mcp.json - bash/functions/cybersecurity/analyze_dns.md - bash/functions/cybersecurity/audit_http_headers.md - bash/functions/cybersecurity/audit_ssh_config.md - bash/functions/cybersecurity/check_firewall.md - bash/functions/cybersecurity/detect_suspicious_users.md - bash/functions/cybersecurity/encrypt_file.md - ... Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4.1 KiB
4.1 KiB
name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
| name | kind | lang | domain | version | purity | signature | description | tags | uses_functions | uses_types | returns | returns_optional | error_type | imports | params | output | tested | tests | test_file_path | file_path | ||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| metabase_dashboard_append_row | function | py | infra | 1.0.0 | impure | def metabase_dashboard_append_row(client: MetabaseClient, *, dashboard_id: int, tab_id: int, card_ids: list[int], height: int = 4, donor_card_id: int = 0, grid_width: int = 24) -> dict | Añade N cards como fila horizontal al final de una tab de dashboard. Calcula la primera fila libre con metabase_dashboard_next_row, distribuye las cards con ancho uniforme (grid_width // N), copia parameter_mappings de un dashcard donante si se indica y llama a metabase_update_dashboard_safe. Util para añadir filas de KPIs con los filtros del dashboard ya conectados. |
|
|
false | error_go_core |
|
Dict con el resumen de metabase_update_dashboard_safe: {'added': [negative_ids], 'updated': int, 'removed': int, 'response': dict_respuesta_PUT} | false | python/functions/metabase/metabase_dashboard_append_row.py |
Por que existe
Añadir una fila de KPIs a un dashboard de Metabase que ya tiene 18 filtros
requiere: (1) calcular la fila libre, (2) construir cada dashcard con su
parameter_mappings copiado, y (3) enviar el PUT sin activar los gotchas
conocidos (413, 500 FK). Esta funcion compone las tres operaciones atomicas
del registry en un solo paso.
Ejemplo
from metabase import MetabaseClient, metabase_dashboard_append_row
client = MetabaseClient("https://metabase.example.com", "token...")
# Añadir 4 KPIs al final de la tab 7, copiando filtros de card 42
result = metabase_dashboard_append_row(
client,
dashboard_id=10,
tab_id=7,
card_ids=[101, 102, 103, 104],
height=4,
donor_card_id=42,
)
print(result["added"]) # [-1, -2, -3, -4] IDs temporales asignados
# Añadir 2 cards sin filtros en dashboard sin tabs
result = metabase_dashboard_append_row(
client,
dashboard_id=15,
tab_id=0,
card_ids=[200, 201],
height=6,
)
# Añadir 1 card de ancho completo (24 columnas)
result = metabase_dashboard_append_row(
client,
dashboard_id=10,
tab_id=7,
card_ids=[300],
height=8,
donor_card_id=42,
)
Notas
- Realiza entre 2 y
1 + 2*len(card_ids)requests HTTP: 1 GET paranext_row+ (sidonor_card_id != 0) 1 GET por card para los mappings (que comparten el GET del siguienteupdate_safe) + 1 GET + 1 PUT paraupdate_dashboard_safe. En practicametabase_get_dashboardse llama 2-3 veces segun si hay donor. - Si
grid_width // len(card_ids)produce un cociente con resto, las columnas sobrantes (al lado derecho) quedan vacias en el grid. Para ajuste preciso, construir los dashcards manualmente y usarmetabase_update_dashboard_safedirectamente. donor_card_iddebe ser elcard_idde una card que ya existe en el dashboard (no el ID del dashcard). LanzaValueErrorsi no se encuentra.- Si
tab_id != 0,metabase_update_dashboard_safeconserva las tabs del dashboard (evita 500 FK violation).