diff options
| author | Jeff Carr <[email protected]> | 2024-11-04 08:13:37 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-11-04 08:13:37 -0600 |
| commit | 4f24f6972ab5d1519d0d7305c866af4dfff36b3b (patch) | |
| tree | 4690eb25fa85fd3d97552efa42edd1636222cd9d | |
| parent | edfdb48ddf85eb414a1a264f724a30eb8bef91d3 (diff) | |
make output for guireleaser
Signed-off-by: Jeff Carr <[email protected]>
| -rw-r--r-- | human.go | 89 |
1 files changed, 89 insertions, 0 deletions
@@ -4,9 +4,11 @@ package repolist import ( "fmt" + "net/http" "time" "go.wit.com/lib/gui/shell" + "go.wit.com/log" ) // makes a human readable thing for standard out. @@ -23,3 +25,90 @@ func (r *RepoRow) StandardHeader() string { header := fmt.Sprintf("%-35s %5s %-10s %-10s %-10s %-10s %-15s", r.Name(), shell.FormatDuration(dur), lastTag, master, devel, user, r.State()) return header } + +// makes a human readable thing for standard out. +func (r *RepoRow) StandardReleaseHeader() string { + lastTag := r.LastTag() + tag := r.Status.NewestTag() + gitAge, _ := tag.GetDate() + dur := time.Since(gitAge) + + master := r.Status.GetMasterVersion() + target := r.Status.GetTargetVersion() + + header := fmt.Sprintf("%-35s %5s %-10s %-10s %-10s %-15s %-15s", + r.Name(), + shell.FormatDuration(dur), + lastTag, + master, + target, + r.GoState(), + r.State()) + return header +} + +// send stuff to the socket and stdout +func msg(w http.ResponseWriter, s string) { + log.Info(s) + fmt.Fprintln(w, s) +} + +func (v *RepoList) PrintReport(w http.ResponseWriter, readonly string, onlydirty string, perfect string) { + var count int + + loop := v.ReposSortByName() + for loop.Scan() { + repo := loop.Repo() + + count += 1 + header := repo.StandardHeader() + if onlydirty == "true" { + if repo.CheckDirty() { + msg(w, header+"") + } + continue + } + + if repo.ReadOnly() { + if readonly == "true" { + msg(w, header+"readonly") + } + continue + } + if repo.State() == "PERFECT" { + if perfect == "false" { + continue + } + } + if repo.State() != "merge to main" { + msg(w, header+"") + continue + } + if repo.CheckDirty() { + msg(w, header+"") + continue + } + msg(w, header+"") + } + msg(w, fmt.Sprintf("EVERYTHING WORKED repo count = %d", count)) +} + +func (v *RepoList) PrintReleaseReport(w http.ResponseWriter, readonly string, perfect string) { + var count int + + loop := v.ReposSortByName() + for loop.Scan() { + repo := loop.Repo() + + if repo.ReadOnly() && (readonly == "true") { + continue + } + if (repo.State() == "PERFECT") && (perfect == "true") { + continue + } + count += 1 + header := repo.StandardReleaseHeader() + msg(w, header) + } + msg(w, fmt.Sprintf("total repo count = %d", count)) +} |
