diff options
| author | Jeff Carr <[email protected]> | 2024-01-13 23:27:46 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-01-13 23:27:46 -0600 |
| commit | 15bcdb006e14840bae125a98ff479038e37eb47a (patch) | |
| tree | fcac3702d398169b4549bf2ccfb0f233feaad2fe /main.go | |
| parent | b700881b43b0c64b1d0faf25b0747a5c7294fce3 (diff) | |
code reorg
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 166 |
1 files changed, 14 insertions, 152 deletions
@@ -2,64 +2,24 @@ package main import ( - "io/ioutil" - "strings" + "os/user" "go.wit.com/log" "go.wit.com/gui/gui" "go.wit.com/gui/gadgets" "go.wit.com/gui/gadgets/repostatus" - "go.wit.com/apps/control-panel-dns/smartwindow" ) -var myGui *gui.Node - -var allrepos []*repo - -type repo struct { - path string - lasttagrev string - lasttag string - tags []string - - pLabel *gui.Node // path label - bLabel *gui.Node // branch label - lastLabel *gui.Node // last tagged version label - vLabel *gui.Node // version label - // tagsDrop *gui.Node // list of all tags - dirtyLabel *gui.Node // git state (dirty or not?) - - masterVersion *gui.Node // the master branch version - develVersion *gui.Node // the devel branch version - jcarrVersion *gui.Node // the jcarr branch version - - cButton *gui.Node // commit button - pButton *gui.Node // push button - - status *repostatus.RepoStatus -} - func main() { myGui = gui.New().Default() repoworld() - /* - for i, r := range allrepos { - log.Warn("scannning", i, r.path) - r.scan() - } - */ - gui.Watchdog() } -func (r *repo) getPath() string { - return r.path -} - -func addRepo(grid *gui.Node, path string) { +func addRepo(grid *gui.Node, path string, master string, devel string, user string) { newRepo := new(repo) if repostatus.VerifyLocalGoRepo(path) { @@ -74,43 +34,16 @@ func addRepo(grid *gui.Node, path string) { newRepo.bLabel = grid.NewLabel("") newRepo.lastLabel = grid.NewLabel("") newRepo.vLabel = grid.NewLabel("") - // newRepo.tagsDrop = grid.NewDropdown("tags") newRepo.masterVersion = grid.NewLabel("") newRepo.develVersion = grid.NewLabel("") newRepo.jcarrVersion = grid.NewLabel("") newRepo.dirtyLabel = grid.NewLabel("") - /* - newRepo.cButton = grid.NewButton("status", func () { - log.Println("repo status for", newRepo.path) - newRepo.scan() - if newRepo.status == nil { - newRepo.status = repostatus.New(myGui, newRepo.path) - newRepo.status.Vertical() - newRepo.status.Horizontal() - newRepo.status.Make() - newRepo.status.Draw() - newRepo.status.Draw2() - } - newRepo.status.Toggle() - }) - */ newRepo.pButton = grid.NewButton("rescan", func () { newRepo.newScan() }) - /* - grid.NewButton("SierpiĆski", func () { - if newRepo.status != nil { - log.Warn("status window already exists") - } - newRepo.status = repostatus.New(myGui, newRepo.path) - newRepo.status.Horizontal() - newRepo.status.Make() - newRepo.status.Make2() - }) - */ grid.NewButton("Toggle()", func () { if newRepo.status == nil { log.Warn("status window doesn't exist") @@ -135,6 +68,9 @@ func addRepo(grid *gui.Node, path string) { newRepo.status.Horizontal() newRepo.status.Make() newRepo.status.Make2() + newRepo.status.SetMasterName(master) + newRepo.status.SetDevelName(devel) + newRepo.status.SetUserName(user) newRepo.status.Update() newRepo.newScan() allrepos = append(allrepos, newRepo) @@ -156,96 +92,22 @@ func repoworld() { // grid.NewLabel("tags") grid.NewLabel("master") grid.NewLabel("devel") - grid.NewLabel("jcarr") + grid.NewLabel("user") grid.NewLabel("Status") grid.NewLabel("commit") grid.NewLabel("Toggle()") grid.NewLabel("Draw()") repos := myrepolist() - for _, repo := range repos { - log.Warn("repo =", repo) - addRepo(grid, repo) + for _, line := range repos { + log.Warn("repo =", line) + path, mbranch, dbranch, ubranch := splitLine(line) + if mbranch == "" { mbranch = "master" } + if dbranch == "" { dbranch = "devel" } + usr, _ := user.Current() + if ubranch == "" { ubranch = usr.Username } + addRepo(grid, path, mbranch, dbranch, ubranch) } win.Draw() } - -// This creates a window -func hellosmart() { - win := smartwindow.New() - win.SetParent(myGui) - win.InitWindow() - win.Title("hellosmart test") - win.Vertical() - win.SetDraw(smartDraw) - win.Make() - - win.Box().NewButton("test smartwindow", func () { - log.Println("smart") - }) -} - -func smartDraw(sw *smartwindow.SmartWindow) { - sw.Box().NewButton("hello", func () { - log.Println("smart") - }) -} - -func myrepolist() []string { - content, _ := ioutil.ReadFile("/home/jcarr/.config/myrepolist") - out := string(content) - out = strings.TrimSpace(out) - lines := strings.Split(out, "\n") - return lines -} - -func (r *repo) newScan() bool { - if r.status == nil { - log.Warn("repo.status = nil. not initialized for some reason") - return false - } - // r.scan() - if repostatus.VerifyLocalGoRepo(r.getPath()) { - log.Warn("repo actually exists", r.getPath()) - } else { - log.Warn("repo does not exist", r.getPath()) - return false - } - mn := r.status.GetMasterName() - mv := r.status.GetMasterVersion() - r.masterVersion.Set(mn + " " + mv) - - dn := r.status.GetDevelName() - dv := r.status.GetDevelVersion() - r.develVersion.Set(dn + " " + dv) - - un := r.status.GetUserName() - uv := r.status.GetUserVersion() - r.jcarrVersion.Set(un + " " + uv) - - cbname := r.status.GetCurrentBranchName() - cbversion := r.status.GetCurrentBranchVersion() - ltversion := r.status.GetLastTagVersion() - r.lastLabel.Set(cbname + " " + cbversion) - r.vLabel.Set(cbname + " " + ltversion) - - if r.status.CheckDirty() { - log.Warn("CheckDirty() true") - r.dirtyLabel.Set("dirty") - return false - } - log.Warn("CheckDirty() no") - r.dirtyLabel.Set("not dirty") - - if r.status.CheckBranches() { - log.Warn("Branches are Perfect") - r.dirtyLabel.SetText("PEFECT") - return true - } else { - log.Warn("Branches are not Perfect") - r.dirtyLabel.SetText("merge") - } - - return false -} |
