linode / linode/linode-cli

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

Aperta
#643 1 commento 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

bug
Lingua principale
Python
Stelle
442
Fork
159
Merge medio
7g 21h
PR unite (30g)
8

Descrizione

### 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

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dal percorso del comando `linode-cli linodes create ... --json` e riproduci la pipeline fino a `jq -r .[].id`. Traccia dove viene emesso l’avviso mostrato sui valori predefiniti e verifica che il JSON generato correttamente rimanga su stdout, mentre avvisi ed errori vadano su stderr. Il lavoro è completato quando la pipeline produce `12345678` senza che l’avviso ne contamini l'input.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
cli
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.