summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--globalBuildOptions.go2
-rw-r--r--listWindow.go71
-rw-r--r--repolist.go29
3 files changed, 73 insertions, 29 deletions
diff --git a/globalBuildOptions.go b/globalBuildOptions.go
index 0641d08..4abdd07 100644
--- a/globalBuildOptions.go
+++ b/globalBuildOptions.go
@@ -116,7 +116,7 @@ func globalBuildOptions(box *gui.Node) {
newBranch.AddText("devel")
newBranch.AddText(usr.Username)
newBranch.SetText(usr.Username)
- newBranch.Custom = func () {
+ newBranch.Custom = func() {
setBranchB.SetLabel("set current branches to " + newBranch.String())
}
}
diff --git a/listWindow.go b/listWindow.go
index 876aab0..7aba7d7 100644
--- a/listWindow.go
+++ b/listWindow.go
@@ -2,11 +2,14 @@
package main
import (
+ "fmt"
"io/ioutil"
"net/http"
"os"
"path/filepath"
+ "strconv"
"strings"
+ "time"
"go.wit.com/gui"
"go.wit.com/log"
@@ -53,7 +56,9 @@ func listWindow() {
lw.Draw()
box := lw.Box()
group := box.NewGroup("list")
- group.NewButton("blah", func() {})
+ group.NewButton("make new go version list", func() {
+ dumpVersions()
+ })
var lines []string
var curs *section
@@ -230,3 +235,67 @@ func dumpURL(url string) []string {
return strings.Split(string(bodyBytes), "\n")
}
+
+func dumpVersions() {
+ f, _ := os.OpenFile("/tmp/go.wit.com.versions", os.O_WRONLY|os.O_CREATE, 0600)
+ defer f.Close()
+ for _, sec := range allsections {
+ for _, wrepo := range sec.witRepos {
+ r, ok := me.allrepos[wrepo.path.String()]
+ if ok {
+ _, out := r.status.RunCmd([]string{"git", "log", "-1", "--format=%at", r.lastTag.String()})
+ out = strings.TrimSpace(out)
+
+ // Convert the string to an integer
+ gitTagTimestampInt, err := strconv.ParseInt(out, 10, 64)
+ if err != nil {
+ fmt.Println("Error converting timestamp:", err)
+ return
+ }
+
+ // Parse the Unix timestamp into a time.Time object
+ gitTagDate := time.Unix(gitTagTimestampInt, 0)
+
+ // Get the current time
+ currentTime := time.Now()
+
+ // Calculate the duration between the git tag date and the current time
+ duration := currentTime.Sub(gitTagDate)
+
+ // s := fmt.Sprint(duration)
+ // fmt.Println("Duration since the git tag date:", s)
+
+ // fmt.Println("Default formatting:", duration.String())
+ // fmt.Println("Custom formatting:", formatDuration(duration))
+ log.Warn("found:", wrepo.path.String(), r.lastTag.String(), out, formatDuration(duration))
+ fmt.Fprintln(f, wrepo.path.String(), r.lastTag.String(), out)
+ }
+ //wrepo.path.Show()
+ }
+ }
+}
+
+func formatDuration(d time.Duration) string {
+ seconds := int(d.Seconds()) % 60
+ minutes := int(d.Minutes()) % 60
+ hours := int(d.Hours()) % 24
+ days := int(d.Hours()) / 24
+
+ result := ""
+ if days > 0 {
+ result += fmt.Sprintf("%dd ", days)
+ return result
+ }
+ if hours > 0 {
+ result += fmt.Sprintf("%dh ", hours)
+ return result
+ }
+ if minutes > 0 {
+ result += fmt.Sprintf("%dm ", minutes)
+ return result
+ }
+ if seconds > 0 {
+ result += fmt.Sprintf("%ds", seconds)
+ }
+ return result
+}
diff --git a/repolist.go b/repolist.go
index 229fa0d..34af776 100644
--- a/repolist.go
+++ b/repolist.go
@@ -61,7 +61,6 @@ func (r *repo) Hide() {
r.userVersion.Hide()
r.dirtyLabel.Hide()
- r.goSumStatus.Hide()
r.statusButton.Hide()
r.hidden = true
}
@@ -76,7 +75,6 @@ func (r *repo) Show() {
r.userVersion.Show()
r.dirtyLabel.Show()
- r.goSumStatus.Show()
r.statusButton.Show()
r.hidden = false
}
@@ -113,7 +111,6 @@ func addRepo(grid *gui.Node, path string, master string, devel string, user stri
newRepo.userVersion = grid.NewLabel("").SetProgName("userVersion")
newRepo.dirtyLabel = grid.NewLabel("")
- newRepo.goSumStatus = grid.NewLabel("?")
newRepo.vLabel = grid.NewLabel("").SetProgName("current")
@@ -131,12 +128,7 @@ func addRepo(grid *gui.Node, path string, master string, devel string, user stri
newRepo.status.SetMainWorkingName(master)
newRepo.status.SetDevelWorkingName(devel)
newRepo.status.SetUserWorkingName(user)
- /*
- newRepo.status.SetDevelBranchName(devel)
- newRepo.status.SetUserBranchName(user)
- newRepo.status.Update()
- newRepo.newScan()
- */
+
me.allrepos[path] = newRepo
}
@@ -155,7 +147,7 @@ func repolistWindow() {
repoAllButtons(reposbox)
reposgroup = reposbox.NewGroup("go repositories (read from ~/.config/myrepolist)")
- reposgrid = reposgroup.NewGrid("test", 9, 1)
+ reposgrid = reposgroup.NewGrid("test", 8, 1)
reposgrid.NewLabel("") // path goes here
@@ -166,7 +158,6 @@ func repolistWindow() {
reposgrid.NewLabel("user version")
reposgrid.NewLabel("Status")
- reposgrid.NewLabel("go.sum")
reposgrid.NewLabel("Current Version").SetProgName("Current Version")
@@ -276,20 +267,4 @@ func repoAllButtons(box *gui.Node) {
repo.newScan()
}
})
-
- /*
- grid1.NewButton("rescan all", func() {
- for _, repo := range me.allrepos {
- repo.newScan()
- }
- })
-
- grid1.NewButton("repostatus.ListAll()", func() {
- repostatus.ListAll()
- })
-
- grid1.NewButton("repostatus.ScanGoSrc()", func() {
- repostatus.ScanGoSrc()
- })
- */
}