mirror of
https://shylinux.com/x/ContextOS
synced 2025-04-25 16:58:06 +08:00
add trends
This commit is contained in:
parent
2191cc3ec4
commit
3ef7047f89
@ -851,14 +851,14 @@ var Index = &ctx.Context{Name: "cli", Help: "管理中心",
|
||||
})
|
||||
m.Cmdp(0, []string{"go build"}, []string{"cli.system", "go", "get"}, list)
|
||||
|
||||
case "stats":
|
||||
// 代码统计
|
||||
m.Cmdy("nfs.dir", kit.Select("src", arg, 1), "dir_deep", "dir_type", "file", "dir_sort", "line", "int_r", "dir_select", "group", "")
|
||||
|
||||
case "stat":
|
||||
// 代码统计
|
||||
m.Cmdy("nfs.dir", "src", "dir_deep", "dir_type", "file", "dir_sort", "line", "int_r")
|
||||
|
||||
case "stats":
|
||||
// 代码统计
|
||||
m.Cmdy("nfs.dir", kit.Select("src", arg, 1), "dir_deep", "dir_type", "file", "dir_sort", "line", "int_r", "dir_select", "group", "")
|
||||
|
||||
case "trend":
|
||||
// 提交记录
|
||||
if len(arg) == 1 {
|
||||
@ -867,6 +867,14 @@ var Index = &ctx.Context{Name: "cli", Help: "管理中心",
|
||||
m.Cmdy("nfs.git", "sum", "-n", arg[1:])
|
||||
}
|
||||
|
||||
case "trends":
|
||||
// 提交记录
|
||||
if len(arg) == 1 {
|
||||
m.Cmdy("nfs.git", "sum", "total")
|
||||
} else {
|
||||
m.Cmdy("nfs.git", "sum", "total", "--reverse", "--since", arg[1])
|
||||
}
|
||||
|
||||
case "submit":
|
||||
// 提交代码
|
||||
if len(arg) > 1 {
|
||||
|
@ -757,6 +757,11 @@ var Index = &ctx.Context{Name: "nfs", Help: "存储中心",
|
||||
m.Cmd("cli.system", "git", "clone", arg[1], "cmd_dir", m.Conf("git", "local"))
|
||||
return
|
||||
case "sum":
|
||||
ts := false
|
||||
if len(arg) > 1 && arg[1] == "total" {
|
||||
ts, arg = true, arg[1:]
|
||||
}
|
||||
|
||||
args := []string{}
|
||||
if m.Options("git_dir") {
|
||||
args = append(args, "-C", m.Option("git_dir"))
|
||||
@ -767,37 +772,61 @@ var Index = &ctx.Context{Name: "nfs", Help: "存储中心",
|
||||
args = append(args, "--reverse")
|
||||
}
|
||||
|
||||
var total_day time.Duration
|
||||
begin := ""
|
||||
total := 0
|
||||
total_add := 0
|
||||
total_del := 0
|
||||
if out, e := exec.Command("git", args...).CombinedOutput(); e == nil {
|
||||
for _, v := range strings.Split(string(out), "commit: ") {
|
||||
if l := strings.Split(v, "\n"); len(l) > 3 {
|
||||
fs := strings.Split(strings.TrimSpace(l[3]), ", ")
|
||||
hs := strings.Split(l[0], " ")
|
||||
m.Add("append", "date", hs[0])
|
||||
m.Push("date", hs[0])
|
||||
if total_day == 0 {
|
||||
if t, e := time.Parse("2006-01-02", hs[0]); e == nil {
|
||||
begin, total_day = hs[0], time.Now().Sub(t)
|
||||
}
|
||||
}
|
||||
|
||||
if adds := strings.Split(fs[1], " "); len(fs) > 2 {
|
||||
dels := strings.Split(fs[2], " ")
|
||||
m.Add("append", "adds", adds[0])
|
||||
m.Add("append", "dels", dels[0])
|
||||
total_del += kit.Int(dels[0])
|
||||
total_add += kit.Int(adds[0])
|
||||
m.Push("adds", adds[0])
|
||||
m.Push("dels", dels[0])
|
||||
} else if adds[1] == "insertions(+)" {
|
||||
m.Add("append", "adds", adds[0])
|
||||
m.Add("append", "dels", "0")
|
||||
total_add += kit.Int(adds[0])
|
||||
m.Push("adds", adds[0])
|
||||
m.Push("dels", "0")
|
||||
} else {
|
||||
m.Add("append", "adds", "0")
|
||||
m.Add("append", "dels", adds[0])
|
||||
m.Push("adds", "0")
|
||||
m.Push("dels", adds[0])
|
||||
}
|
||||
m.Add("append", "note", l[1])
|
||||
m.Add("append", "hour", strings.Split(hs[1], ":")[0])
|
||||
m.Add("append", "time", hs[1])
|
||||
total++
|
||||
m.Push("note", l[1])
|
||||
m.Push("hour", strings.Split(hs[1], ":")[0])
|
||||
m.Push("time", hs[1])
|
||||
} else if len(l[0]) > 0 {
|
||||
total++
|
||||
hs := strings.Split(l[0], " ")
|
||||
m.Add("append", "date", hs[0])
|
||||
m.Add("append", "adds", 0)
|
||||
m.Add("append", "dels", 0)
|
||||
m.Add("append", "note", l[1])
|
||||
m.Add("append", "hour", strings.Split(hs[1], ":")[0])
|
||||
m.Add("append", "time", hs[1])
|
||||
m.Push("date", hs[0])
|
||||
m.Push("adds", 0)
|
||||
m.Push("dels", 0)
|
||||
m.Push("note", l[1])
|
||||
m.Push("hour", strings.Split(hs[1], ":")[0])
|
||||
m.Push("time", hs[1])
|
||||
}
|
||||
}
|
||||
if ts {
|
||||
m.Set("append")
|
||||
m.Append("from", begin)
|
||||
m.Append("days", int(total_day.Hours())/24)
|
||||
m.Append("commit", total)
|
||||
m.Append("adds", total_add)
|
||||
m.Append("dels", total_del)
|
||||
m.Append("rest", total_add-total_del)
|
||||
}
|
||||
m.Table()
|
||||
} else {
|
||||
m.Log("warn", "%v", string(out))
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
kit project "项目" private \
|
||||
select "" values plugin values review values submit values trend values stats values stat values init action auto \
|
||||
select "" values plugin values review values submit values trends values trend values stats values stat values init action auto \
|
||||
text "" name see imports plugin_see action auto \
|
||||
button "执行" \
|
||||
button "返回" cb Last \
|
||||
|
Loading…
x
Reference in New Issue
Block a user