go-deb/addRepo.go

98 lines
2.2 KiB
Go

package main
import (
"strings"
"time"
"go.wit.com/lib/gadgets"
"go.wit.com/lib/gui/repostatus"
"go.wit.com/log"
)
func RemoveFirstElement(slice []string) (string, []string) {
if len(slice) == 0 {
return "", slice // Return the original slice if it's empty
}
return slice[0], slice[1:] // Return the slice without the first element
}
// homeDir, _ := os.UserHomeDir()
func (c *controlBox) addRepo(path string) {
path = strings.Trim(path, "/") // trim any extranous '/' chars put in the config file by the user
if path == "" {
log.Warn("addRepo() got empty path", path)
return
}
// if repostatus.VerifyLocalGoRepo(path) {
// log.Verbose("path actually exists", path)
// } else {
// log.Warn("repostatus.VerifyLocalGoRepo() failed for for", path)
// return
// }
c.pathL = gadgets.NewOneLiner(c.grid, "path")
c.pathL.SetText(path)
c.grid.NextRow()
c.lastTag = gadgets.NewOneLiner(c.grid, "lastTag")
c.grid.NextRow()
c.dirtyL = gadgets.NewOneLiner(c.grid, "dirty")
c.grid.NextRow()
c.currentL = gadgets.NewOneLiner(c.grid, "current")
c.grid.NextRow()
c.buildDate = gadgets.NewOneLiner(c.grid, "Build Date")
c.grid.NextRow()
stamp := time.Now().UTC().Format("2006/01/02 15:04:05 UTC")
c.buildDate.SetText(stamp)
c.tagDate = gadgets.NewOneLiner(c.grid, "git tag Date")
c.grid.NextRow()
err, repo := repostatus.NewRepoStatusWindow(path)
if err != nil {
log.Info("path did not work", path, err)
return
}
c.status = repo
// c.status.SetMainWorkingName("master")
// c.status.SetDevelWorkingName("devel")
// c.status.SetUserWorkingName("jcarr")
c.status.Update()
cbname := c.status.GetCurrentBranchName()
cbversion := c.status.GetCurrentBranchVersion()
debversion := c.status.DebianCurrentVersion()
if c.status.CheckDirty() {
c.dirtyL.SetText("true")
} else {
c.dirtyL.SetText("false")
}
lasttag := c.status.GetLastTagVersion()
if argv.Release {
debversion = c.status.DebianReleaseVersion()
c.dirtyL.SetText("false")
}
c.Version.SetText(debversion)
c.lastTag.SetText(lasttag)
c.currentL.SetText(cbname + " " + cbversion)
tagDate := c.getDateStamp(lasttag)
c.tagDate.SetText(tagDate)
if s, ok := c.status.Changed(); ok {
log.Warn("should scan here", s)
}
return
}