dbcli / dbcli/litecli

Add --json output flag for batch query results

Abierto Apto para principiantes
#263 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
3.3k
Forks
95
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

### Problem

`litecli` already supports `--csv` and `--table` for batch output (used with `-e` and stdin queries), but it has no equivalent `--json` flag. The underlying `cli_helpers` library already ships a `json_output_adapter.py`, so the formatter is available — only the CLI flag is missing.

### Solution

Add a `--json` flag parallel to the existing `--csv` and `-t`/`--table` options on the root `cli` command. In the `-e` and stdin branches of `litecli/main.py`, set `litecli.formatter.format_name = "json"` next to the existing `format_name = "csv"` / `"tsv"` assignments. The change should be ~5 lines.

A `table_format = "json"` entry could also be accepted in `~/.config/litecli/config`, mirroring the existing `table_format = "csv"` knob.

### Use case

Scripting and CI pipelines:

litecli mydb.sqlite -e "select id, name from users" --json | jq '.[] | select(.name | startswith("a"))'

…instead of having to pipe `--csv` through `jq -r '@csv'` round-tripping.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Start in litecli/main.py and inspect the root cli options plus the existing --csv and --table handling in the -e and stdin branches. Confirm how litecli.formatter.format_name is assigned, then verify that --json appears in help and produces JSON for both batch entry points using the example query; the optional config entry should mirror the existing table_format setting.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python, sqlite
Área
cli
Tipo de issue
Nueva funcionalidad
Dificultad
2/5
Tiempo estimado
1-3 horas
Estado de actividad
Tranquilo
Claridad
Bien especificado
Aptitud para principiantes
84/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.