From fcb552fa691f407b9f1e6b1cfd61c40a23cc78a3 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Thu, 25 Apr 2019 09:21:09 -0700 Subject: [PATCH] read the distribution info from a config file Signed-off-by: Jeff Carr --- pinebook-imager/config.go | 14 ++++++++++++-- pinebook-imager/config.yml | 16 +++++++++++----- pinebook-imager/main.go | 21 ++++++++------------- 3 files changed, 31 insertions(+), 20 deletions(-) diff --git a/pinebook-imager/config.go b/pinebook-imager/config.go index d409ccf..1dfeb2c 100644 --- a/pinebook-imager/config.go +++ b/pinebook-imager/config.go @@ -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) + } +*/ + } diff --git a/pinebook-imager/config.yml b/pinebook-imager/config.yml index 92e63d6..d1b24a8 100644 --- a/pinebook-imager/config.yml +++ b/pinebook-imager/config.yml @@ -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 diff --git a/pinebook-imager/main.go b/pinebook-imager/main.go index d0e823c..83c07ed 100644 --- a/pinebook-imager/main.go +++ b/pinebook-imager/main.go @@ -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() }