1
0
mirror of https://shylinux.com/x/ContextOS synced 2025-04-25 16:58:06 +08:00

opt cli.project

This commit is contained in:
shaoying 2019-08-22 08:04:57 +08:00
parent 41b74c75fe
commit e825aa20b5
6 changed files with 57 additions and 52 deletions

View File

@ -240,13 +240,13 @@ var Index = &ctx.Context{Name: "cli", Help: "管理中心",
"cmd_error: 输出错误",
}, Form: map[string]int{
"cmd_timeout": 1,
"cmd_daemon": 1,
"cmd_active": 1,
"cmd_daemon": 1,
"cmd_dir": 1,
"cmd_env": 2,
"cmd_log": 1,
"cmd_temp": -1,
"cmd_parse": 1,
"cmd_parse": 2,
"cmd_error": 0,
"app_log": 1,
}, Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) (e error) {
@ -426,7 +426,7 @@ var Index = &ctx.Context{Name: "cli", Help: "管理中心",
case "cut":
bio := bufio.NewScanner(out)
bio.Scan()
for heads := kit.Split(bio.Text(), -1); bio.Scan(); {
for heads := kit.Split(bio.Text(), kit.Int(kit.Select("-1", m.Optionv("cmd_parse"), 1))); bio.Scan(); {
for i, v := range kit.Split(bio.Text(), len(heads)) {
m.Add("append", heads[i], v)
}
@ -752,19 +752,21 @@ var Index = &ctx.Context{Name: "cli", Help: "管理中心",
})
case "stat":
m.Cmdy("nfs.dir", "src", "dir_deep", "dir_type", "file", "dir_sort", "line", "int_r").CopyTo(m, "append")
m.Cmdy("nfs.dir", "src", "dir_deep", "dir_type", "file", "dir_sort", "line", "int_r")
case "trend":
m.Cmdy("nfs.git", "sum").CopyTo(m, "append")
m.Cmdy("nfs.git", "sum", "-n", kit.Select("20", arg, 1))
case "review":
m.Cmdy("nfs.git", "diff")
case "submit":
if len(arg) > 1 {
m.Cmdp(0, []string{"git init"}, []string{"cli.system", "git"}, [][]string{
[]string{"stash"}, []string{"pull"}, []string{"stash", "pop"},
m.Cmdp(0, []string{"git submit"}, []string{"cli.system", "git"}, [][]string{
[]string{"commit", "-am", arg[1]}, []string{"push"},
})
}
m.Cmdy("nfs.git", "status")
m.Cmdy("nfs.git", "logs", "table.limit", "3")
case "import":
list := [][]string{}

View File

@ -4,5 +4,5 @@ var version = struct {
host string
self int
}{
"2019-08-21 19:45:50", "ZYB-20190522USI", 402,
"2019-08-22 09:22:24", "mac", 412,
}

View File

@ -158,8 +158,8 @@ func (m *Message) Format(arg ...interface{}) string {
if len(msg.Meta["option"]) > 0 {
meta = append(meta, fmt.Sprintf(" option: %d %v\n", len(msg.Meta["option"]), msg.Meta["option"]))
for _, k := range msg.Meta["option"] {
if v, ok := msg.Data[k]; ok {
meta = append(meta, fmt.Sprintf(" %s: %v\n", k, kit.Format(v)))
if _, ok := msg.Data[k]; ok {
// meta = append(meta, fmt.Sprintf(" %s: %v\n", k, kit.Format(v)))
} else if v, ok := msg.Meta[k]; ok {
meta = append(meta, fmt.Sprintf(" %s: %d %v\n", k, len(v), v))
}
@ -168,8 +168,8 @@ func (m *Message) Format(arg ...interface{}) string {
if len(msg.Meta["append"]) > 0 {
meta = append(meta, fmt.Sprintf(" append: %d %v\n", len(msg.Meta["append"]), msg.Meta["append"]))
for _, k := range msg.Meta["append"] {
if v, ok := msg.Data[k]; ok {
meta = append(meta, fmt.Sprintf(" %s: %v\n", k, kit.Format(v)))
if _, ok := msg.Data[k]; ok {
// meta = append(meta, fmt.Sprintf(" %s: %v\n", k, kit.Format(v)))
} else if v, ok := msg.Meta[k]; ok {
meta = append(meta, fmt.Sprintf(" %s: %d %v\n", k, len(v), v))
}

View File

@ -542,7 +542,8 @@ var Index = &ctx.Context{Name: "nfs", Help: "存储中心",
"commit": map[string]interface{}{"args": []interface{}{"commit", "-am"}},
"branch": map[string]interface{}{"args": []interface{}{"branch", "-v"}},
"status": map[string]interface{}{"args": []interface{}{"status", "-sb"}},
"log": map[string]interface{}{"args": []interface{}{"log", "-n", "@table.limit", "--skip", "@table.offset", "pretty", "date"}},
"log": map[string]interface{}{"args": []interface{}{"log", "-n", "@table.limit", "--skip", "@table.offset", "pretty", "cmd_parse", "cut", "5", "date"}},
"logs": map[string]interface{}{"args": []interface{}{"log", "-n", "@table.limit", "--skip", "@table.offset", "--stat"}},
"trans": map[string]interface{}{
"date": "--date=format:%m/%d %H:%M",
"pretty": "--pretty=format:%h %ad %an %s",
@ -669,13 +670,29 @@ var Index = &ctx.Context{Name: "nfs", Help: "存储中心",
return
}},
"git": &ctx.Command{Name: "git sum", Help: "版本控制", Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) (e error) {
if len(arg) > 0 && arg[0] == "sum" || len(arg) > 1 && arg[1] == "sum" {
args := []string{"log"}
if len(arg) > 1 && arg[1] == "sum" && arg[0] != "" {
args = append(args, "-C", arg[0])
if len(arg) == 0 {
m.Cmdy("nfs.config", "git")
return
}
if p := m.Cmdx("nfs.path", arg[0]); p != "" && !m.Confs("git", arg[0]) {
m.Option("git_dir", p)
arg = arg[1:]
} else {
wd, e := os.Getwd()
m.Assert(e)
m.Option("git_dir", wd)
}
if len(arg) > 0 && arg[0] == "sum" {
args := []string{"-C", m.Option("git_dir"), "log", "--shortstat", "--pretty=commit: %ad", "--date=format:%Y-%m-%d %H:%M"}
if len(arg) > 1 {
args = append(args, arg[1:]...)
} else {
args = append(args, "--reverse")
}
args = append(args, "--reverse", "--shortstat", "--pretty=commit: %ad", "--date=format:%Y-%m-%d %H:%M")
if out, e := exec.Command("git", args...).CombinedOutput(); m.Assert(e) {
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) > 2 {
fs := strings.Split(strings.TrimSpace(l[2]), ", ")
@ -703,24 +720,12 @@ var Index = &ctx.Context{Name: "nfs", Help: "存储中心",
}
}
m.Table()
} else {
m.Log("warn", "%v", string(out))
}
return
}
if len(arg) == 0 {
m.Cmdy("nfs.config", "git")
return
}
if p := m.Cmdx("nfs.path", arg[0]); p != "" && !m.Confs("git", arg[0]) {
m.Option("git_dir", p)
arg = arg[1:]
} else {
wd, e := os.Getwd()
m.Assert(e)
m.Option("git_dir", wd)
}
cmds := []string{}
if v := m.Confv("git", []string{arg[0], "cmds"}); v != nil {
cmds = append(cmds, kit.Trans(v)...)
@ -738,8 +743,7 @@ var Index = &ctx.Context{Name: "nfs", Help: "存储中心",
args = append(args, arg[1:]...)
for i, _ := range args {
v := m.Parse(args[i])
if v == args[i] || v == "" {
if v := m.Parse(args[i]); v == args[i] || v == "" {
args[i] = kit.Select(args[i], m.Conf("git", []string{"trans", args[i]}))
} else {
args[i] = v

View File

@ -1,8 +1,8 @@
fun project "项目" "" "" \
private \
select "" values plugin values submit values trend values stat values init \
text "" \
select "" values plugin values submit values review values trend values stat values init \
text "" imports plugin_see action auto \
button "执行" \
exports see name see

View File

@ -494,6 +494,7 @@ kit = toolkit = {
Color: function(s) {
s = s.replace(/\033\[1m/g, "<span style='font-weight:bold'>")
s = s.replace(/\033\[36m/g, "<span style='color:#0ff'>")
s = s.replace(/\033\[33m/g, "<span style='color:#ff0'>")
s = s.replace(/\033\[32m/g, "<span style='color:#0f0'>")
s = s.replace(/\033\[32;1m/g, "<span style='color:#0f0'>")
s = s.replace(/\033\[31m/g, "<span style='color:#f00'>")
@ -997,7 +998,6 @@ function Canvas(plugin, option, output, width, height, space, msg) {
if (keys.length < 3) {
return
}
canvas.beginPath()
var sum = 0, total = 0
for (var i = 0; i < nrow; i++) {
@ -1033,23 +1033,22 @@ function Canvas(plugin, option, output, width, height, space, msg) {
}
for (var i = 0; i < nrow; i++) {
canvas.beginPath()
canvas.moveTo(step*i, data["min"][i]/total*height)
if (data["sum"][i] < data["end"][i]) {
canvas.moveTo(step*i, data["min"][i]/total*height)
canvas.lineTo(step*i, data["sum"][i]/total*height)
canvas.moveTo(step*i, data["max"][i]/total*height)
canvas.lineTo(step*i, data["end"][i]/total*height)
canvas.strokeStyle = "white", canvas.lineTo(step*i, data["sum"][i]/total*height), canvas.stroke()
canvas.fillStyle = "white", canvas.fillRect(step*i-step/3, data["sum"][i]/total*height, step/3*2, (data["end"][i]-data["sum"][i])/total*height)
canvas.moveTo(step*i, data["end"][i]/total*height)
} else {
canvas.moveTo(step*i, data["min"][i]/total*height)
canvas.lineTo(step*i, data["end"][i]/total*height)
canvas.moveTo(step*i, data["max"][i]/total*height)
canvas.lineTo(step*i, data["sum"][i]/total*height)
canvas.strokeStyle = "black", canvas.lineTo(step*i, data["end"][i]/total*height), canvas.stroke()
canvas.fillStyle = "black", canvas.fillRect(step*i-step/3, data["sum"][i]/total*height, step/3*2, (data["end"][i]-data["sum"][i])/total*height)
canvas.moveTo(step*i, data["sum"][i]/total*height)
}
canvas.lineTo(step*i, data["max"][i]/total*height), canvas.stroke()
}
canvas.strokeStyle = conf.data.style
canvas.lineWidth = conf.data.width
canvas.stroke()
// canvas.strokeStyle = conf.data.style
// canvas.lineWidth = conf.data.width
// canvas.stroke()
},
show: function(p) {
index = parseInt(p.x/step)