make common config processing code
This commit is contained in:
parent
7cfdbf32af
commit
59ff2df1db
|
@ -3,35 +3,14 @@ package main
|
||||||
// this initializes the repos
|
// this initializes the repos
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"io/ioutil"
|
|
||||||
"os"
|
|
||||||
"os/user"
|
|
||||||
"path/filepath"
|
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"go.wit.com/lib/gui/repostatus"
|
"go.wit.com/lib/gui/repostatus"
|
||||||
"go.wit.com/lib/gui/shell"
|
|
||||||
"go.wit.com/log"
|
"go.wit.com/log"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (r *repoWindow) initRepoList() {
|
func (r *repoWindow) initRepoList() {
|
||||||
usr, _ := user.Current()
|
r.View.InitRepoList("~/.config/autotypist")
|
||||||
|
|
||||||
repos := parsecfg("~/.config/autotypist")
|
|
||||||
for _, line := range repos {
|
|
||||||
log.Verbose("repo =", line)
|
|
||||||
path, mbranch, dbranch, ubranch := splitLine(line)
|
|
||||||
if mbranch == "" {
|
|
||||||
mbranch = "master"
|
|
||||||
}
|
|
||||||
if dbranch == "" {
|
|
||||||
dbranch = "devel"
|
|
||||||
}
|
|
||||||
if ubranch == "" {
|
|
||||||
ubranch = usr.Username
|
|
||||||
}
|
|
||||||
r.View.NewRepo(path)
|
|
||||||
}
|
|
||||||
|
|
||||||
if args.OnlyMe {
|
if args.OnlyMe {
|
||||||
log.Info("not scanning everything")
|
log.Info("not scanning everything")
|
||||||
|
@ -46,25 +25,3 @@ func (r *repoWindow) initRepoList() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func parsecfg(f string) []string {
|
|
||||||
homeDir, _ := os.UserHomeDir()
|
|
||||||
cfgfile := filepath.Join(homeDir, f)
|
|
||||||
content, _ := ioutil.ReadFile(cfgfile)
|
|
||||||
out := string(content)
|
|
||||||
out = strings.TrimSpace(out)
|
|
||||||
lines := strings.Split(out, "\n")
|
|
||||||
return lines
|
|
||||||
}
|
|
||||||
|
|
||||||
// returns path, master branch name, devel branch name, user branch name
|
|
||||||
func splitLine(line string) (string, string, string, string) {
|
|
||||||
var path, master, devel, user string
|
|
||||||
parts := strings.Split(line, " ")
|
|
||||||
path, parts = shell.RemoveFirstElement(parts)
|
|
||||||
master, parts = shell.RemoveFirstElement(parts)
|
|
||||||
devel, parts = shell.RemoveFirstElement(parts)
|
|
||||||
user, parts = shell.RemoveFirstElement(parts)
|
|
||||||
// path, master, devel, user := strings.Split(line, " ")
|
|
||||||
return path, master, devel, user
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue