Key written to incorrect section in ini file

Aperta
#11 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

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

Direzione di ricerca

Riproduci il comportamento con i comandi della shell Erlang mostrati nell’issue e ispeziona il percorso del codice utilizzato da econfig:set_value/4 durante la scrittura di test.ini. Traccia il modo in cui viene selezionata la sezione di destinazione durante la persistenza. Il lavoro è completato quando key6 viene scritto sotto [section1] invece che sotto [section 2], mantenendo intatti la formattazione e i commenti esistenti.

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

Descrizione

Trying out the example and watching the actual INI file get written to file, doesn't result in the expected output. The new key value written below ends up in the subsequent section rather than section1.

Eshell V8.0  (abort with ^G)
1> application:ensure_all_started(econfig).
{ok,[econfig]}
2> econfig:register_config(test, ["test.ini"], [autoreload]).
ok
3> econfig:subscribe(test).
ok
4> econfig:get_value(test, "section1").
[{"key 3","value 3"},
 {"key1","value1"},
 {"key2","value 2"},
 {"key4","value 4"},
 {"key5","value5"}]
5> econfig:get_value(test, "section 2").
[{"key10","value10"},
 {"key7","value7"},
 {"key8","value8"},
 {"key9","value 9"}]
6> econfig:set_value(test, "section1","key6", "value6").
ok
7> econfig:get_value(test, "section1").
[{"key 3","value 3"},
 {"key1","value1"},
 {"key2","value 2"},
 {"key4","value 4"},
 {"key5","value5"},
 {"key6","value6"}]
8> econfig:get_value(test, "section 2").
[{"key10","value10"},
 {"key7","value7"},
 {"key8","value8"},
 {"key9","value 9"}]
9>

resulted in the following:

[section1]
key1 = value1
key2 = value 2
key 3 = value 3
key4 = value 4; this is a comment
key5 = value5    ; this is a comment

[section 2]
key7    =    value7
key8    =    value8
key9        =       value 9    ; another comment here
key10   =    value10        ; yet another comment
key6 = value6
Lingua principale
Erlang
Stelle
79
Fork
11
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

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.

Altre issue di benoitc/econfig

Tutte le issue di benoitc/econfig

Issue simili

Altre issue su Backend & API Design

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.