read the distribution info from a config file

Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
Jeff Carr 2019-04-25 09:21:09 -07:00
parent 832d50207f
commit fcb552fa69
3 changed files with 31 additions and 20 deletions

View File

@ -16,6 +16,7 @@ import "flag"
import "fmt"
import "github.com/gookit/config"
import "github.com/gookit/config/yaml"
import "github.com/davecgh/go-spew/spew"
var customUsage = func() {
fmt.Fprintf(flag.CommandLine.Output(), "Usage of %s:\n", os.Args[0])
@ -81,8 +82,17 @@ func parseConfig() {
config.AddDriver(yaml.Driver)
config.LoadFiles("config.yml")
for _, addr := range config.Strings("arr1") {
log.Println("addr =", addr)
map1 := config.StringMap("dists")
spew.Dump(map1)
for name, vars := range config.StringMap("dists") {
log.Println("name =", name)
log.Println("vars =", vars)
}
/*
for _, addr := range config.Strings("dists") {
log.Println("addr =", addr)
}
*/
}

View File

@ -14,8 +14,14 @@ arr1:
- docker0
dists:
- Debian x32
- Armbian
- Manjaro
- Android
- bob
Debian x32:
size: 12378
url: http://mirrors.wit.com/wit/pinebook/debian.img.gz
Armbian:
size: 12378
Manjaro:
size: 12378
Android:
size: 12378
bob:
size: 12378

View File

@ -113,9 +113,10 @@ func makeBurnSDcardPage() *ui.Box {
vbox := addGroupBox(hbox, "Select Distribution")
cbox := ui.NewCombobox()
for _, addr := range config.Strings("dists") {
log.Println("addr =", addr)
cbox.Append(addr)
for name, vars := range config.StringMap("dists") {
log.Println("name =", name)
log.Println("vars =", vars)
cbox.Append(name)
}
cbox.OnSelected(selectDrive)
vbox.Append(cbox, false)
@ -129,7 +130,7 @@ func makeBurnSDcardPage() *ui.Box {
return hbox
}
func makeHardwarePage() *ui.Box {
func getHardwareBox() *ui.Box {
hbox := ui.NewVerticalBox()
hbox.SetPadded(true)
@ -158,16 +159,10 @@ func setupUI() {
mainwin.SetMargined(true)
tab.Append("Burn eMMC", makeBurnSDcardPage())
tab.SetMargined(0, true)
tab.SetMargined(0, true) // 0 here means tab 0
/*
tab2 := ui.NewTab()
mainwin.SetChild(tab2)
mainwin.SetMargined(true)
tab2.Append("Hardware", makeHardwarePage())
tab2.SetMargined(1, true)
*/
tab.Append("Hardware", getHardwareBox())
tab.SetMargined(1, true) // 1 here means tab 1
mainwin.Show()
}