From f3a5cd0db1575da22f4bc1d73f4acf53b7138462 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Mon, 8 Jan 2024 22:33:29 -0600 Subject: go.wit.com/log change Signed-off-by: Jeff Carr --- Makefile | 10 +++++++++ args.go | 4 ++-- go.mod | 4 ++-- go.sum | 8 +++---- main.go | 78 ---------------------------------------------------------------- new.go | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 96 insertions(+), 86 deletions(-) delete mode 100644 main.go create mode 100644 new.go diff --git a/Makefile b/Makefile index 01cb279..f7a3b33 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,15 @@ # git remote add github git@github.com:wit-go/digitalocean.git +all: + @echo + @echo a work in progress digital ocean control panel + @echo + +redomod: + rm -f go.* + go mod init + go mod tidy + github: git push origin master git push origin devel diff --git a/args.go b/args.go index 7a9afd8..986210d 100644 --- a/args.go +++ b/args.go @@ -3,8 +3,8 @@ package digitalocean // initializes logging and command line options import ( - arg "github.com/alexflint/go-arg" - log "go.wit.com/log" + "go.wit.com/arg" + "go.wit.com/log" ) var INFO log.LogFlag diff --git a/go.mod b/go.mod index 445fc28..2c2b5cb 100644 --- a/go.mod +++ b/go.mod @@ -6,8 +6,8 @@ require ( github.com/alexflint/go-arg v1.4.3 github.com/digitalocean/godo v1.107.0 go.wit.com/gui/gadgets v0.1.3 - go.wit.com/gui/gui v0.10.1 - go.wit.com/log v0.3.1 + go.wit.com/gui/gui v0.10.3 + go.wit.com/log v0.4.2 golang.org/x/oauth2 v0.15.0 ) diff --git a/go.sum b/go.sum index c1e9a3e..ec96e67 100644 --- a/go.sum +++ b/go.sum @@ -32,12 +32,12 @@ github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcU github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= go.wit.com/gui/gadgets v0.1.3 h1:jX3oyYAg51kjGulGZv8wBAk/GkJAKdQfjxp3CoxM0sg= go.wit.com/gui/gadgets v0.1.3/go.mod h1:n/cYfNxPYSG2QXo2Y73tqULw2+N4C2ubx+t2+O2HDQg= -go.wit.com/gui/gui v0.10.1 h1:sbOxEv378sAeF765vxgFsYLbakZk3gTM5pFMsgqayy0= -go.wit.com/gui/gui v0.10.1/go.mod h1:xT5B88UTZORtfJ11CJB/vRb7Mj0rk4PLB/HpVNkF0Yo= +go.wit.com/gui/gui v0.10.3 h1:plWd7trEZ0QuR0D1zGK01RXJAmoLoVK2KqLJY0pZGRc= +go.wit.com/gui/gui v0.10.3/go.mod h1:xT5B88UTZORtfJ11CJB/vRb7Mj0rk4PLB/HpVNkF0Yo= go.wit.com/gui/toolkits v0.4.1 h1:Kw9gTAajHwQShuK8MOj8UizGPeY5hOtDfvAxYpDXjUw= go.wit.com/gui/toolkits v0.4.1/go.mod h1:f2QuC3z15/JxNnwujyFkgvkYjBS1fy0ni+QQ9idZnWQ= -go.wit.com/log v0.3.1 h1:UXtgJ4dwyWL0Yv4mw6gQnlmrIQU/zz6nClCB7NGKBQs= -go.wit.com/log v0.3.1/go.mod h1:GmsggfsKrqdZdAj26fEOlcTz6qEIazbV33uyuuktvB8= +go.wit.com/log v0.4.2 h1:oYCOD7qCY0A+LsrQXPv5ETtVyD8AhIHgvNBMdly9hy0= +go.wit.com/log v0.4.2/go.mod h1:EZLvivLZpMoXl5AUBArH0zsIgr+c+WyNXm14BCF+sdw= go.wit.com/spew v0.0.0-20240101141411-c7b8e91573c9 h1:UEX2EzLQPzLTfy/kUFQD7OXtvKn8wk/+jpDOkbl4ff4= go.wit.com/spew v0.0.0-20240101141411-c7b8e91573c9/go.mod h1:qBpgJXThMMT15vym7/E4Ur9y8oOo2nP7t2RP52QHUNw= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= diff --git a/main.go b/main.go deleted file mode 100644 index 2b62d12..0000000 --- a/main.go +++ /dev/null @@ -1,78 +0,0 @@ -package digitalocean - -import ( - "os" - "go.wit.com/log" - "go.wit.com/gui/gui" -) - -var myDo *DigitalOcean - -// This is initializes the main DO object -// You can only have one of these -func New(p *gui.Node) *DigitalOcean { - if myDo != nil {return myDo} - myDo = new(DigitalOcean) - myDo.ready = false - myDo.parent = p - - myDo.dropMap = make(map[int]*Droplet) - - // Your personal API token from DigitalOcean. - myDo.token = os.Getenv("DIGITALOCEAN_TOKEN") - - myDo.window = p.NewWindow("DigitalOcean Control Panel") - - // make a group label and a grid - myDo.group = myDo.window.NewGroup("droplets:").Pad() - myDo.grid = myDo.group.NewGrid("grid", 2, 1).Pad() - - myDo.ready = true - myDo.Hide() - return myDo -} - -// Returns true if the status is valid -func (d *DigitalOcean) Ready() bool { - if d == nil {return false} - return d.ready -} - -func (d *DigitalOcean) Show() { - if ! d.Ready() {return} - log.Info("digitalocean.Show() window") - if d.hidden { - d.window.Show() - } - d.hidden = false -} - -func (d *DigitalOcean) Hide() { - if ! d.Ready() {return} - log.Info("digitalocean.Hide() window") - if ! d.hidden { - d.window.Hide() - } - d.hidden = true -} - -func (d *DigitalOcean) Update() bool { - if ! d.Ready() {return false} - d.ListSSHKeyID() - if d.ListDroplets() { - for _, droplet := range d.dpolled { - // check if the droplet ID already exists - if (d.dropMap[droplet.ID] == nil) { - d.dropMap[droplet.ID] = d.NewDroplet(&droplet) - } else { - log.Log(POLL, "droplet.Update()", droplet.ID, droplet.Name, "already exists") - d.dropMap[droplet.ID].Update(&droplet) - continue - } - } - } else { - log.Error(d.err, "Error listing droplets") - return false - } - return true -} diff --git a/new.go b/new.go new file mode 100644 index 0000000..2b62d12 --- /dev/null +++ b/new.go @@ -0,0 +1,78 @@ +package digitalocean + +import ( + "os" + "go.wit.com/log" + "go.wit.com/gui/gui" +) + +var myDo *DigitalOcean + +// This is initializes the main DO object +// You can only have one of these +func New(p *gui.Node) *DigitalOcean { + if myDo != nil {return myDo} + myDo = new(DigitalOcean) + myDo.ready = false + myDo.parent = p + + myDo.dropMap = make(map[int]*Droplet) + + // Your personal API token from DigitalOcean. + myDo.token = os.Getenv("DIGITALOCEAN_TOKEN") + + myDo.window = p.NewWindow("DigitalOcean Control Panel") + + // make a group label and a grid + myDo.group = myDo.window.NewGroup("droplets:").Pad() + myDo.grid = myDo.group.NewGrid("grid", 2, 1).Pad() + + myDo.ready = true + myDo.Hide() + return myDo +} + +// Returns true if the status is valid +func (d *DigitalOcean) Ready() bool { + if d == nil {return false} + return d.ready +} + +func (d *DigitalOcean) Show() { + if ! d.Ready() {return} + log.Info("digitalocean.Show() window") + if d.hidden { + d.window.Show() + } + d.hidden = false +} + +func (d *DigitalOcean) Hide() { + if ! d.Ready() {return} + log.Info("digitalocean.Hide() window") + if ! d.hidden { + d.window.Hide() + } + d.hidden = true +} + +func (d *DigitalOcean) Update() bool { + if ! d.Ready() {return false} + d.ListSSHKeyID() + if d.ListDroplets() { + for _, droplet := range d.dpolled { + // check if the droplet ID already exists + if (d.dropMap[droplet.ID] == nil) { + d.dropMap[droplet.ID] = d.NewDroplet(&droplet) + } else { + log.Log(POLL, "droplet.Update()", droplet.ID, droplet.Name, "already exists") + d.dropMap[droplet.ID].Update(&droplet) + continue + } + } + } else { + log.Error(d.err, "Error listing droplets") + return false + } + return true +} -- cgit v1.2.3