linode / linode/linode-cli

[Bug]: error messages and warnings should consistently go to stderr

Abierto
#643 1 comentario 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

bug
Lenguaje dominante
Python
Estrellas
442
Forks
159
Merge medio
7 d 21 h
PR fusionados (30 d)
8

Descripción

### CLI Version

linode-cli v5.51.0 Built from spec version 4.176.0

### Command

linode-cli linodes create [...args...] --json | jq -r .[].id

### Output

parse error: Invalid numeric literal at line 1, column 6

### Expected Behavior

12345678

### Actual Behavior

The problem occurs because `linode-cli` prints warnings and error messages to stdout. In this case, the (successful) command prints
```
Using default values: {'authorized_users': ['jschauma']}; use the --no-defaults flag to disable defaults
```
to stdout before printing the json output. This then leads to tools not being able to consume the output as expected.

The correct behavior here is to send all error messages and warnings to stderr, like a good little Unix tool.

### Steps to Reproduce

linode-cli linodes create [...args that produce a warning...] --json | jq -r .[].id

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con la ruta de comandos de `linode-cli linodes create ... --json` y reproduce la canalización hasta `jq -r .[].id`. Rastrea dónde se emite la advertencia mostrada sobre los valores predeterminados y verifica que el JSON generado correctamente permanezca en stdout, mientras que las advertencias y los errores vayan a stderr. Se considera terminado cuando la canalización produce `12345678` sin que la advertencia contamine su entrada.

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

Evaluación

Stack tecnológico
python
Área
cli
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.