update stats every 90 seconds
This commit is contained in:
parent
9db8405954
commit
a5222d3894
89
doGui.go
89
doGui.go
|
@ -6,6 +6,7 @@ package main
|
||||||
// An app to submit patches for the 30 GO GUI repos
|
// An app to submit patches for the 30 GO GUI repos
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"os/user"
|
"os/user"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
@ -21,11 +22,38 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func debug() {
|
func debug() {
|
||||||
// log.Info("cmd line --debugger == true")
|
time.Sleep(5 * time.Second)
|
||||||
for {
|
for {
|
||||||
|
now := time.Now()
|
||||||
|
tmp := fmt.Sprintf("All (%d)", me.forge.Repos.Len())
|
||||||
|
me.repoAllB.SetLabel(tmp)
|
||||||
|
|
||||||
|
findMergeToDevel()
|
||||||
|
tmp = fmt.Sprintf("needs merge to devel (%d)", me.found.Len())
|
||||||
|
me.repoDevelMergeB.SetLabel(tmp)
|
||||||
|
|
||||||
|
me.found = new(gitpb.Repos)
|
||||||
|
all := me.forge.Repos.SortByFullPath()
|
||||||
|
for all.Scan() {
|
||||||
|
repo := all.Next()
|
||||||
|
if me.forge.Config.IsReadOnly(repo.GetGoPath()) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
me.found.AppendByGoPath(repo)
|
||||||
|
|
||||||
|
}
|
||||||
|
tmp = fmt.Sprintf("writable (%d)", me.found.Len())
|
||||||
|
me.repoWritableB.SetLabel(tmp)
|
||||||
|
|
||||||
|
me.found = new(gitpb.Repos)
|
||||||
|
findDirty()
|
||||||
|
tmp = fmt.Sprintf("dirty (%d)", me.found.Len())
|
||||||
|
me.repoDirtyB.SetLabel(tmp)
|
||||||
|
|
||||||
|
log.Printf("finished a forge scan here in (%s)\n", shell.FormatDuration(time.Since(now)))
|
||||||
time.Sleep(90 * time.Second)
|
time.Sleep(90 * time.Second)
|
||||||
log.Info("TODO: add a forge scan here. repo count =", me.forge.Repos.Len())
|
|
||||||
// debugger.DebugWindow()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -182,22 +210,68 @@ func drawWindow(win *gadgets.BasicWindow) {
|
||||||
group2 := vbox.NewGroup("Repos")
|
group2 := vbox.NewGroup("Repos")
|
||||||
grid = group2.RawGrid()
|
grid = group2.RawGrid()
|
||||||
|
|
||||||
grid.NewButton("All", func() {
|
me.repoAllB = grid.NewButton("All", func() {
|
||||||
makeStandardReposWindow(me.forge.Repos)
|
me.found = new(gitpb.Repos)
|
||||||
|
all := me.forge.Repos.SortByFullPath()
|
||||||
|
for all.Scan() {
|
||||||
|
repo := all.Next()
|
||||||
|
me.found.AppendByGoPath(repo)
|
||||||
|
|
||||||
|
}
|
||||||
|
makeStandardReposWindow(me.found)
|
||||||
})
|
})
|
||||||
|
|
||||||
grid.NewButton("dirty", func() {
|
me.repoDirtyB = grid.NewButton("dirty", func() {
|
||||||
me.found = new(gitpb.Repos)
|
me.found = new(gitpb.Repos)
|
||||||
findDirty()
|
findDirty()
|
||||||
makeStandardReposWindow(me.found)
|
makeStandardReposWindow(me.found)
|
||||||
})
|
})
|
||||||
|
|
||||||
grid.NewButton("needs merge to devel", func() {
|
me.repoWritableB = grid.NewButton("writable", func() {
|
||||||
|
me.found = new(gitpb.Repos)
|
||||||
|
all := me.forge.Repos.SortByFullPath()
|
||||||
|
for all.Scan() {
|
||||||
|
repo := all.Next()
|
||||||
|
if me.forge.Config.IsReadOnly(repo.GetGoPath()) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
me.found.AppendByGoPath(repo)
|
||||||
|
|
||||||
|
}
|
||||||
|
makeStandardReposWindow(me.found)
|
||||||
|
})
|
||||||
|
|
||||||
|
me.repoDevelMergeB = grid.NewButton("needs merge to devel", func() {
|
||||||
findMergeToDevel()
|
findMergeToDevel()
|
||||||
makeStandardReposWindow(me.found)
|
makeStandardReposWindow(me.found)
|
||||||
})
|
})
|
||||||
grid.NextRow()
|
grid.NextRow()
|
||||||
|
|
||||||
|
group2 = vbox.NewGroup("Repos with problems")
|
||||||
|
grid = group2.RawGrid()
|
||||||
|
|
||||||
|
grid.NewButton("devel is behind master", func() {
|
||||||
|
log.Info("not done yet")
|
||||||
|
})
|
||||||
|
|
||||||
|
grid.NewButton("user branch is remote", func() {
|
||||||
|
log.Info("not done yet")
|
||||||
|
})
|
||||||
|
|
||||||
|
grid.NewButton("unknown branches", func() {
|
||||||
|
log.Info("not done yet")
|
||||||
|
})
|
||||||
|
grid.NextRow()
|
||||||
|
|
||||||
|
grid.NewButton("remote devel != local devel", func() {
|
||||||
|
log.Info("not done yet")
|
||||||
|
})
|
||||||
|
|
||||||
|
grid.NewButton("remote master != local master", func() {
|
||||||
|
log.Info("not done yet")
|
||||||
|
})
|
||||||
|
|
||||||
group3 := vbox.NewGroup("debugging stuff")
|
group3 := vbox.NewGroup("debugging stuff")
|
||||||
grid = group3.RawGrid()
|
grid = group3.RawGrid()
|
||||||
|
|
||||||
|
@ -295,7 +369,6 @@ func drawWindow(win *gadgets.BasicWindow) {
|
||||||
reposWin.View.ScanRepositoriesOld()
|
reposWin.View.ScanRepositoriesOld()
|
||||||
reposWin.win.Show()
|
reposWin.win.Show()
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func makeStandardReposWindow(pb *gitpb.Repos) {
|
func makeStandardReposWindow(pb *gitpb.Repos) {
|
||||||
|
|
|
@ -70,8 +70,12 @@ type mainType struct {
|
||||||
|
|
||||||
// these hold the branches that the user can switch all
|
// these hold the branches that the user can switch all
|
||||||
// the repositories to them
|
// the repositories to them
|
||||||
newBranch *gui.Node
|
newBranch *gui.Node // deprecate?
|
||||||
setBranchB *gui.Node
|
setBranchB *gui.Node // deprecate?
|
||||||
|
repoAllB *gui.Node // "all" repos button
|
||||||
|
repoDirtyB *gui.Node // "dirty" repos button
|
||||||
|
repoDevelMergeB *gui.Node // "merge to devel" repos button
|
||||||
|
repoWritableB *gui.Node // "what repos are writable" repos button
|
||||||
|
|
||||||
argvCheckoutUser bool // shared between the GUI and the command line tools
|
argvCheckoutUser bool // shared between the GUI and the command line tools
|
||||||
argvCheckoutDevel bool // shared between the GUI and the command line tools
|
argvCheckoutDevel bool // shared between the GUI and the command line tools
|
||||||
|
|
Loading…
Reference in New Issue