mirror of
https://shylinux.com/x/icebergs
synced 2025-04-28 18:22:02 +08:00
opt some
This commit is contained in:
parent
d2bbb9a335
commit
49749e01ee
@ -81,7 +81,7 @@ func _dream_show(m *ice.Message, name string) {
|
|||||||
kit.Path(os.Args[0])
|
kit.Path(os.Args[0])
|
||||||
|
|
||||||
m.Optionv(cli.CMD_ERRPUT, path.Join(p, m.Conf(DREAM, kit.Keym(cli.ENV, "ctx_log"))))
|
m.Optionv(cli.CMD_ERRPUT, path.Join(p, m.Conf(DREAM, kit.Keym(cli.ENV, "ctx_log"))))
|
||||||
m.Cmd(cli.DAEMON, m.Confv(DREAM, kit.Keym(cli.CMD)), SPIDE_DEV, SPIDE_DEV, kit.MDB_NAME, name)
|
m.Cmd(cli.DAEMON, m.Confv(DREAM, kit.Keym(cli.CMD)), SPIDE_DEV, SPIDE_DEV, kit.MDB_NAME, name, RIVER, m.Option(RIVER))
|
||||||
m.Event(DREAM_CREATE, kit.MDB_TYPE, m.Option(kit.MDB_TYPE), kit.MDB_NAME, name)
|
m.Event(DREAM_CREATE, kit.MDB_TYPE, m.Option(kit.MDB_TYPE), kit.MDB_NAME, name)
|
||||||
m.Sleep(ice.MOD_TICK)
|
m.Sleep(ice.MOD_TICK)
|
||||||
}
|
}
|
||||||
@ -112,7 +112,7 @@ func init() {
|
|||||||
m.Cmdy(SPACE, m.Option(ROUTE), "web.code.autogen", mdb.CREATE, arg)
|
m.Cmdy(SPACE, m.Option(ROUTE), "web.code.autogen", mdb.CREATE, arg)
|
||||||
m.ProcessInner()
|
m.ProcessInner()
|
||||||
}},
|
}},
|
||||||
cli.START: {Name: "start name repos", Help: "启动", Hand: func(m *ice.Message, arg ...string) {
|
cli.START: {Name: "start name repos river", Help: "启动", Hand: func(m *ice.Message, arg ...string) {
|
||||||
if m.Option(kit.MDB_NAME) == SPIDE_SELF {
|
if m.Option(kit.MDB_NAME) == SPIDE_SELF {
|
||||||
m.Option(kit.MDB_NAME, "")
|
m.Option(kit.MDB_NAME, "")
|
||||||
}
|
}
|
||||||
|
@ -127,7 +127,8 @@ func init() {
|
|||||||
m.Cmdy(mdb.INSERT, m.PrefixKey(), "", mdb.HASH, kit.MDB_TIME, m.Time(m.Conf(SHARE, kit.Keym(kit.MDB_EXPIRE))),
|
m.Cmdy(mdb.INSERT, m.PrefixKey(), "", mdb.HASH, kit.MDB_TIME, m.Time(m.Conf(SHARE, kit.Keym(kit.MDB_EXPIRE))),
|
||||||
aaa.USERROLE, m.Option(ice.MSG_USERROLE), aaa.USERNAME, m.Option(ice.MSG_USERNAME),
|
aaa.USERROLE, m.Option(ice.MSG_USERROLE), aaa.USERNAME, m.Option(ice.MSG_USERNAME),
|
||||||
RIVER, m.Option(ice.MSG_RIVER), STORM, m.Option(ice.MSG_STORM), arg)
|
RIVER, m.Option(ice.MSG_RIVER), STORM, m.Option(ice.MSG_STORM), arg)
|
||||||
m.Option(kit.MDB_LINK, _share_link(m, "/share/"+m.Result()))
|
// m.Option(kit.MDB_LINK, _share_link(m, "/share/"+m.Result()))
|
||||||
|
m.Option(kit.MDB_LINK, kit.MergeURL2(m.Option(ice.MSG_USERWEB), "/share/"+m.Result()))
|
||||||
}},
|
}},
|
||||||
LOGIN: {Name: "login userrole=void,tech username", Help: "登录", Hand: func(m *ice.Message, arg ...string) {
|
LOGIN: {Name: "login userrole=void,tech username", Help: "登录", Hand: func(m *ice.Message, arg ...string) {
|
||||||
msg := m.Cmd(SHARE, mdb.CREATE, kit.MDB_TYPE, LOGIN, m.OptionSimple(aaa.USERROLE, aaa.USERNAME))
|
msg := m.Cmd(SHARE, mdb.CREATE, kit.MDB_TYPE, LOGIN, m.OptionSimple(aaa.USERROLE, aaa.USERNAME))
|
||||||
|
@ -52,7 +52,7 @@ func _space_dial(m *ice.Message, dev, name string, arg ...string) {
|
|||||||
host := kit.Format(client[tcp.HOSTNAME])
|
host := kit.Format(client[tcp.HOSTNAME])
|
||||||
proto := strings.Replace(kit.Format(client[tcp.PROTOCOL]), "http", "ws", 1)
|
proto := strings.Replace(kit.Format(client[tcp.PROTOCOL]), "http", "ws", 1)
|
||||||
uri := kit.MergeURL(proto+"://"+host+"/space/", kit.MDB_TYPE, ice.Info.NodeType,
|
uri := kit.MergeURL(proto+"://"+host+"/space/", kit.MDB_TYPE, ice.Info.NodeType,
|
||||||
kit.MDB_NAME, name, SHARE, ice.Info.CtxShare, RIVER, ice.Info.CtxRiver, arg)
|
kit.MDB_NAME, name, SHARE, ice.Info.CtxShare, RIVER, kit.Select(ice.Info.CtxRiver, m.Option(RIVER)), arg)
|
||||||
|
|
||||||
if u, e := url.Parse(uri); m.Assert(e) {
|
if u, e := url.Parse(uri); m.Assert(e) {
|
||||||
m.Go(func() {
|
m.Go(func() {
|
||||||
@ -250,7 +250,7 @@ func init() {
|
|||||||
)},
|
)},
|
||||||
}, Commands: map[string]*ice.Command{
|
}, Commands: map[string]*ice.Command{
|
||||||
SPACE: {Name: "space name cmd auto", Help: "空间站", Action: map[string]*ice.Action{
|
SPACE: {Name: "space name cmd auto", Help: "空间站", Action: map[string]*ice.Action{
|
||||||
tcp.DIAL: {Name: "dial dev name", Help: "连接", Hand: func(m *ice.Message, arg ...string) {
|
tcp.DIAL: {Name: "dial dev name river", Help: "连接", Hand: func(m *ice.Message, arg ...string) {
|
||||||
_space_dial(m, m.Option(SPIDE_DEV), kit.Select(ice.Info.NodeName, m.Option(kit.MDB_NAME)))
|
_space_dial(m, m.Option(SPIDE_DEV), kit.Select(ice.Info.NodeName, m.Option(kit.MDB_NAME)))
|
||||||
}},
|
}},
|
||||||
mdb.SEARCH: {Name: "search type name text", Help: "搜索", Hand: func(m *ice.Message, arg ...string) {
|
mdb.SEARCH: {Name: "search type name text", Help: "搜索", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
@ -16,9 +16,16 @@ func init() {
|
|||||||
Index.Merge(&ice.Context{
|
Index.Merge(&ice.Context{
|
||||||
Commands: map[string]*ice.Command{
|
Commands: map[string]*ice.Command{
|
||||||
ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||||
|
m.Watch(web.DREAM_START, m.Prefix(NODE))
|
||||||
m.Watch(web.SPACE_START, m.Prefix(NODE))
|
m.Watch(web.SPACE_START, m.Prefix(NODE))
|
||||||
}},
|
}},
|
||||||
NODE: {Name: "node name ctx cmd auto insert invite", Help: "设备", Action: map[string]*ice.Action{
|
NODE: {Name: "node pod ctx cmd auto insert invite", Help: "设备", Action: map[string]*ice.Action{
|
||||||
|
web.DREAM_START: {Name: "start type name share river", Help: "启动", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
if m.Option(ice.MSG_RIVER, m.Option(RIVER)) == "" {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
m.Cmdy(mdb.INSERT, RIVER, _river_key(m, NODE), mdb.HASH, arg)
|
||||||
|
}},
|
||||||
web.SPACE_START: {Name: "start type name share river", Help: "启动", Hand: func(m *ice.Message, arg ...string) {
|
web.SPACE_START: {Name: "start type name share river", Help: "启动", Hand: func(m *ice.Message, arg ...string) {
|
||||||
if m.Option(ice.MSG_RIVER, m.Option(RIVER)) == "" {
|
if m.Option(ice.MSG_RIVER, m.Option(RIVER)) == "" {
|
||||||
return
|
return
|
||||||
@ -45,9 +52,10 @@ func init() {
|
|||||||
m.Option(mdb.FIELDS, "time,type,name,share")
|
m.Option(mdb.FIELDS, "time,type,name,share")
|
||||||
m.Cmdy(mdb.SELECT, RIVER, kit.Keys(kit.MDB_HASH, m.Option(ice.MSG_RIVER), NODE), mdb.HASH)
|
m.Cmdy(mdb.SELECT, RIVER, kit.Keys(kit.MDB_HASH, m.Option(ice.MSG_RIVER), NODE), mdb.HASH)
|
||||||
m.Table(func(index int, value map[string]string, head []string) {
|
m.Table(func(index int, value map[string]string, head []string) {
|
||||||
m.PushAnchor(value[kit.MDB_NAME], kit.MergeURL(m.Option(ice.MSG_USERWEB),
|
m.PushAnchor(value[kit.MDB_NAME], kit.MergeURL2(m.Option(ice.MSG_USERWEB),
|
||||||
cli.POD, kit.Keys(m.Option(cli.POD), value[kit.MDB_NAME])))
|
"/chat/pod/"+kit.Keys(m.Option(cli.POD), value[kit.MDB_NAME])))
|
||||||
})
|
})
|
||||||
|
m.RenameAppend("name", "pod")
|
||||||
m.PushAction(mdb.REMOVE)
|
m.PushAction(mdb.REMOVE)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -177,6 +177,8 @@ func init() {
|
|||||||
|
|
||||||
aaa.INVITE: {Name: "invite", Help: "脚本", Hand: func(m *ice.Message, arg ...string) {
|
aaa.INVITE: {Name: "invite", Help: "脚本", Hand: func(m *ice.Message, arg ...string) {
|
||||||
m.Cmdy(code.PUBLISH, ice.CONTEXTS)
|
m.Cmdy(code.PUBLISH, ice.CONTEXTS)
|
||||||
|
m.Cmd(code.PUBLISH, mdb.CREATE, kit.MDB_FILE, ice.BIN_ICE_SH)
|
||||||
|
m.Cmd(code.PUBLISH, mdb.CREATE, kit.MDB_FILE, ice.BIN_ICE_BIN)
|
||||||
}},
|
}},
|
||||||
cli.START: {Name: "start name repos template", Help: "启动", Hand: func(m *ice.Message, arg ...string) {
|
cli.START: {Name: "start name repos template", Help: "启动", Hand: func(m *ice.Message, arg ...string) {
|
||||||
m.Cmdy(m.Space(m.Option(cli.POD)), web.DREAM, cli.START, arg)
|
m.Cmdy(m.Space(m.Option(cli.POD)), web.DREAM, cli.START, arg)
|
||||||
|
@ -43,123 +43,120 @@ func _publish_file(m *ice.Message, file string, arg ...string) string {
|
|||||||
const PUBLISH = "publish"
|
const PUBLISH = "publish"
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
Index.Merge(&ice.Context{
|
Index.Merge(&ice.Context{Commands: map[string]*ice.Command{
|
||||||
Commands: map[string]*ice.Command{
|
ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||||
ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
m.Cmd(aaa.ROLE, aaa.WHITE, aaa.VOID, m.Prefix(PUBLISH))
|
||||||
m.Cmd(aaa.ROLE, aaa.WHITE, aaa.VOID, m.Prefix(PUBLISH))
|
m.Cmd(aaa.ROLE, aaa.WHITE, aaa.VOID, ice.USR_PUBLISH)
|
||||||
m.Cmd(aaa.ROLE, aaa.WHITE, aaa.VOID, ice.USR_PUBLISH)
|
m.Conf(PUBLISH, kit.Keym(ice.CONTEXTS), _contexts)
|
||||||
m.Conf(PUBLISH, kit.Keym(ice.CONTEXTS), _contexts)
|
}},
|
||||||
|
PUBLISH: {Name: "publish path auto create volcanos icebergs intshell package dream", Help: "发布", Action: map[string]*ice.Action{
|
||||||
|
mdb.CREATE: {Name: "create file", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
_publish_file(m, m.Option(kit.MDB_FILE))
|
||||||
}},
|
}},
|
||||||
PUBLISH: {Name: "publish path auto create volcanos icebergs intshell package dream", Help: "发布", Action: map[string]*ice.Action{
|
ice.VOLCANOS: {Name: "volcanos", Help: "火山架", Hand: func(m *ice.Message, arg ...string) {
|
||||||
mdb.CREATE: {Name: "create file", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
|
defer func() { m.EchoQRCode(m.Option(ice.MSG_USERWEB)) }()
|
||||||
_publish_file(m, m.Option(kit.MDB_FILE))
|
defer func() { m.Cmdy(PUBLISH, ice.CONTEXTS, "miss") }()
|
||||||
}},
|
m.Cmd(PUBLISH, mdb.CREATE, kit.MDB_FILE, ice.ETC_MISS)
|
||||||
ice.VOLCANOS: {Name: "volcanos", Help: "火山架", Hand: func(m *ice.Message, arg ...string) {
|
m.Cmd(PUBLISH, mdb.CREATE, kit.MDB_FILE, ice.GO_MOD)
|
||||||
defer func() { m.EchoQRCode(m.Option(ice.MSG_USERWEB)) }()
|
|
||||||
defer func() { m.Cmdy(PUBLISH, ice.CONTEXTS, "miss") }()
|
|
||||||
m.Cmd(PUBLISH, mdb.CREATE, kit.MDB_FILE, ice.ETC_MISS)
|
|
||||||
m.Cmd(PUBLISH, mdb.CREATE, kit.MDB_FILE, ice.GO_MOD)
|
|
||||||
|
|
||||||
m.Cmd(nfs.DEFS, path.Join(m.Conf(PUBLISH, kit.META_PATH), ice.ORDER_JS), m.Conf(PUBLISH, kit.Keym(JS)))
|
m.Cmd(nfs.DEFS, path.Join(m.Conf(PUBLISH, kit.META_PATH), ice.ORDER_JS), m.Conf(PUBLISH, kit.Keym(JS)))
|
||||||
m.Cmd(nfs.DEFS, path.Join(ice.USR_VOLCANOS, "page/cache.css"), "")
|
m.Cmd(nfs.DEFS, path.Join(ice.USR_VOLCANOS, "page/cache.css"), "")
|
||||||
m.Cmd(nfs.DEFS, path.Join(ice.USR_VOLCANOS, "page/cache.js"), "")
|
m.Cmd(nfs.DEFS, path.Join(ice.USR_VOLCANOS, "page/cache.js"), "")
|
||||||
|
|
||||||
m.Option(nfs.DIR_DEEP, ice.TRUE)
|
m.Option(nfs.DIR_DEEP, ice.TRUE)
|
||||||
m.Option(nfs.DIR_REG, `.*\.(html|css|js)$`)
|
m.Option(nfs.DIR_REG, `.*\.(html|css|js)$`)
|
||||||
m.Option(nfs.DIR_ROOT, m.Conf(PUBLISH, kit.META_PATH))
|
|
||||||
m.Cmdy(nfs.DIR, "./", "time,size,line,path,link")
|
|
||||||
}},
|
|
||||||
ice.ICEBERGS: {Name: "icebergs", Help: "冰山架", Hand: func(m *ice.Message, arg ...string) {
|
|
||||||
defer func() { m.Cmdy(PUBLISH, ice.CONTEXTS, "base") }()
|
|
||||||
m.Cmd(PUBLISH, mdb.CREATE, kit.MDB_FILE, ice.BIN_ICE_SH)
|
|
||||||
m.Cmd(PUBLISH, mdb.CREATE, kit.MDB_FILE, ice.BIN_ICE_BIN)
|
|
||||||
|
|
||||||
p := m.Option(cli.CMD_DIR, m.Conf(PUBLISH, kit.META_PATH))
|
|
||||||
ls := strings.Split(strings.TrimSpace(m.Cmd(cli.SYSTEM, "bash", "-c", "ls |xargs file |grep executable").Append(cli.CMD_OUT)), ice.NL)
|
|
||||||
for _, ls := range ls {
|
|
||||||
if file := strings.TrimSpace(strings.Split(ls, ":")[0]); file != "" {
|
|
||||||
if s, e := os.Stat(path.Join(p, file)); e == nil {
|
|
||||||
m.Push(kit.MDB_TIME, s.ModTime())
|
|
||||||
m.Push(kit.MDB_SIZE, kit.FmtSize(s.Size()))
|
|
||||||
m.Push(kit.MDB_FILE, file)
|
|
||||||
m.PushDownload(kit.MDB_LINK, file, path.Join(p, file))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
m.SortTimeR(kit.MDB_TIME)
|
|
||||||
}},
|
|
||||||
ice.INTSHELL: {Name: "intshell", Help: "神农架", Hand: func(m *ice.Message, arg ...string) {
|
|
||||||
defer func() { m.Cmdy(PUBLISH, ice.CONTEXTS, "tmux") }()
|
|
||||||
m.Cmd(nfs.DEFS, path.Join(m.Conf(PUBLISH, kit.META_PATH), ice.ORDER_SH), m.Conf(PUBLISH, kit.Keym(SH)))
|
|
||||||
|
|
||||||
m.Option(nfs.DIR_DEEP, ice.TRUE)
|
|
||||||
m.Option(nfs.DIR_REG, ".*\\.(sh|vim|conf)$")
|
|
||||||
m.Option(nfs.DIR_ROOT, m.Conf(PUBLISH, kit.META_PATH))
|
|
||||||
m.Cmdy(nfs.DIR, "./", "time,size,line,path,link")
|
|
||||||
}},
|
|
||||||
ice.CONTEXTS: {Name: "contexts", Help: "环境", Hand: func(m *ice.Message, arg ...string) {
|
|
||||||
u := kit.ParseURL(tcp.ReplaceLocalhost(m, m.Option(ice.MSG_USERWEB)))
|
|
||||||
host := u.Host
|
|
||||||
|
|
||||||
m.Option("httphost", fmt.Sprintf("%s://%s:%s", u.Scheme, strings.Split(host, ":")[0], kit.Select(kit.Select("80", "443", u.Scheme == "https"), strings.Split(host, ":"), 1)))
|
|
||||||
m.Option("hostport", fmt.Sprintf("%s:%s", strings.Split(host, ":")[0], kit.Select(kit.Select("80", "443", u.Scheme == "https"), strings.Split(host, ":"), 1)))
|
|
||||||
m.Option("hostname", strings.Split(host, ":")[0])
|
|
||||||
|
|
||||||
m.Option("userhost", fmt.Sprintf("%s@%s", m.Option(ice.MSG_USERNAME), strings.Split(host, ":")[0]))
|
|
||||||
m.Option("hostpath", kit.Path("./.ish/pluged"))
|
|
||||||
|
|
||||||
if len(arg) == 0 {
|
|
||||||
arg = append(arg, "tmux", "base", "miss", "binary", "source", "project")
|
|
||||||
}
|
|
||||||
for _, k := range arg {
|
|
||||||
if buf, err := kit.Render(m.Conf(PUBLISH, kit.Keym(ice.CONTEXTS, k)), m); m.Assert(err) {
|
|
||||||
m.EchoScript(strings.TrimSpace(string(buf)))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}},
|
|
||||||
"package": {Name: "package", Help: "依赖", Hand: func(m *ice.Message, arg ...string) {
|
|
||||||
web.PushStream(m)
|
|
||||||
p := kit.Path(ice.USR_PUBLISH)
|
|
||||||
m.Option(cli.CMD_DIR, kit.Path(os.Getenv("HOME")))
|
|
||||||
// m.Cmdy(cli.SYSTEM, "tar", "-zcvf", "go.tar.gz", "go/pkg")
|
|
||||||
// m.Cmdy(cli.SYSTEM, "mv", "go.tar.gz", p)
|
|
||||||
m.Cmdy(cli.SYSTEM, "tar", "-zcvf", "vim.tar.gz", ".vim/plugged")
|
|
||||||
m.Cmdy(cli.SYSTEM, "mv", "vim.tar.gz", p)
|
|
||||||
m.Toast("打包成功")
|
|
||||||
m.ProcessHold()
|
|
||||||
}},
|
|
||||||
mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
|
|
||||||
p := m.Option(cli.CMD_DIR, m.Conf(PUBLISH, kit.META_PATH))
|
|
||||||
os.Remove(path.Join(p, m.Option(kit.MDB_PATH)))
|
|
||||||
}},
|
|
||||||
mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {
|
|
||||||
m.Cmdy(web.DREAM, mdb.INPUTS, arg)
|
|
||||||
}},
|
|
||||||
web.DREAM: {Name: "dream name=hi repos", Help: "启动", Hand: func(m *ice.Message, arg ...string) {
|
|
||||||
m.Cmdy(web.DREAM, tcp.START, arg)
|
|
||||||
m.Process(ice.PROCESS_OPEN, kit.MergeURL(m.Option(ice.MSG_USERWEB),
|
|
||||||
cli.POD, kit.Keys(m.Option(ice.MSG_USERPOD), m.Option(kit.MDB_NAME))))
|
|
||||||
}},
|
|
||||||
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
|
||||||
m.Option(nfs.DIR_ROOT, m.Conf(PUBLISH, kit.META_PATH))
|
m.Option(nfs.DIR_ROOT, m.Conf(PUBLISH, kit.META_PATH))
|
||||||
m.Cmdy(nfs.DIR, kit.Select("", arg, 0), "time,size,path,action,link")
|
m.Cmdy(nfs.DIR, "./", "time,size,line,path,link")
|
||||||
}},
|
}},
|
||||||
},
|
ice.ICEBERGS: {Name: "icebergs", Help: "冰山架", Hand: func(m *ice.Message, arg ...string) {
|
||||||
Configs: map[string]*ice.Config{
|
defer func() { m.Cmdy(PUBLISH, ice.CONTEXTS, "base") }()
|
||||||
PUBLISH: {Name: PUBLISH, Help: "发布", Value: kit.Data(
|
m.Cmd(PUBLISH, mdb.CREATE, kit.MDB_FILE, ice.BIN_ICE_SH)
|
||||||
kit.MDB_PATH, "usr/publish", ice.CONTEXTS, _contexts,
|
m.Cmd(PUBLISH, mdb.CREATE, kit.MDB_FILE, ice.BIN_ICE_BIN)
|
||||||
SH, `#!/bin/bash
|
|
||||||
|
p := m.Option(cli.CMD_DIR, m.Conf(PUBLISH, kit.META_PATH))
|
||||||
|
ls := strings.Split(strings.TrimSpace(m.Cmd(cli.SYSTEM, "bash", "-c", "ls |xargs file |grep executable").Append(cli.CMD_OUT)), ice.NL)
|
||||||
|
for _, ls := range ls {
|
||||||
|
if file := strings.TrimSpace(strings.Split(ls, ":")[0]); file != "" {
|
||||||
|
if s, e := os.Stat(path.Join(p, file)); e == nil {
|
||||||
|
m.Push(kit.MDB_TIME, s.ModTime())
|
||||||
|
m.Push(kit.MDB_SIZE, kit.FmtSize(s.Size()))
|
||||||
|
m.Push(kit.MDB_FILE, file)
|
||||||
|
m.PushDownload(kit.MDB_LINK, file, path.Join(p, file))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
m.SortTimeR(kit.MDB_TIME)
|
||||||
|
}},
|
||||||
|
ice.INTSHELL: {Name: "intshell", Help: "神农架", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
defer func() { m.Cmdy(PUBLISH, ice.CONTEXTS, "tmux") }()
|
||||||
|
m.Cmd(nfs.DEFS, path.Join(m.Conf(PUBLISH, kit.META_PATH), ice.ORDER_SH), m.Conf(PUBLISH, kit.Keym(SH)))
|
||||||
|
|
||||||
|
m.Option(nfs.DIR_DEEP, ice.TRUE)
|
||||||
|
m.Option(nfs.DIR_REG, ".*\\.(sh|vim|conf)$")
|
||||||
|
m.Option(nfs.DIR_ROOT, m.Conf(PUBLISH, kit.META_PATH))
|
||||||
|
m.Cmdy(nfs.DIR, "./", "time,size,line,path,link")
|
||||||
|
}},
|
||||||
|
ice.CONTEXTS: {Name: "contexts", Help: "环境", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
u := kit.ParseURL(tcp.ReplaceLocalhost(m, m.Option(ice.MSG_USERWEB)))
|
||||||
|
host := u.Host
|
||||||
|
|
||||||
|
m.Option("httphost", fmt.Sprintf("%s://%s:%s", u.Scheme, strings.Split(host, ":")[0], kit.Select(kit.Select("80", "443", u.Scheme == "https"), strings.Split(host, ":"), 1)))
|
||||||
|
m.Option("hostport", fmt.Sprintf("%s:%s", strings.Split(host, ":")[0], kit.Select(kit.Select("80", "443", u.Scheme == "https"), strings.Split(host, ":"), 1)))
|
||||||
|
m.Option("hostname", strings.Split(host, ":")[0])
|
||||||
|
|
||||||
|
m.Option("userhost", fmt.Sprintf("%s@%s", m.Option(ice.MSG_USERNAME), strings.Split(host, ":")[0]))
|
||||||
|
m.Option("hostpath", kit.Path("./.ish/pluged"))
|
||||||
|
|
||||||
|
if len(arg) == 0 {
|
||||||
|
arg = append(arg, "tmux", "base", "miss", "binary", "source", "project")
|
||||||
|
}
|
||||||
|
for _, k := range arg {
|
||||||
|
if buf, err := kit.Render(m.Conf(PUBLISH, kit.Keym(ice.CONTEXTS, k)), m); m.Assert(err) {
|
||||||
|
m.EchoScript(strings.TrimSpace(string(buf)))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}},
|
||||||
|
"package": {Name: "package", Help: "依赖", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
web.PushStream(m)
|
||||||
|
p := kit.Path(ice.USR_PUBLISH)
|
||||||
|
m.Option(cli.CMD_DIR, kit.Path(os.Getenv("HOME")))
|
||||||
|
// m.Cmdy(cli.SYSTEM, "tar", "-zcvf", "go.tar.gz", "go/pkg")
|
||||||
|
// m.Cmdy(cli.SYSTEM, "mv", "go.tar.gz", p)
|
||||||
|
m.Cmdy(cli.SYSTEM, "tar", "-zcvf", "vim.tar.gz", ".vim/plugged")
|
||||||
|
m.Cmdy(cli.SYSTEM, "mv", "vim.tar.gz", p)
|
||||||
|
m.Toast("打包成功")
|
||||||
|
m.ProcessHold()
|
||||||
|
}},
|
||||||
|
mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
p := m.Option(cli.CMD_DIR, m.Conf(PUBLISH, kit.META_PATH))
|
||||||
|
os.Remove(path.Join(p, m.Option(kit.MDB_PATH)))
|
||||||
|
}},
|
||||||
|
mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
m.Cmdy(web.DREAM, mdb.INPUTS, arg)
|
||||||
|
}},
|
||||||
|
web.DREAM: {Name: "dream name=hi repos", Help: "启动", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
m.Cmdy(web.DREAM, tcp.START, arg)
|
||||||
|
m.Process(ice.PROCESS_OPEN, kit.MergeURL(m.Option(ice.MSG_USERWEB),
|
||||||
|
cli.POD, kit.Keys(m.Option(ice.MSG_USERPOD), m.Option(kit.MDB_NAME))))
|
||||||
|
}},
|
||||||
|
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||||
|
m.Option(nfs.DIR_ROOT, m.Conf(PUBLISH, kit.META_PATH))
|
||||||
|
m.Cmdy(nfs.DIR, kit.Select("", arg, 0), "time,size,path,action,link")
|
||||||
|
}},
|
||||||
|
}, Configs: map[string]*ice.Config{
|
||||||
|
PUBLISH: {Name: PUBLISH, Help: "发布", Value: kit.Data(
|
||||||
|
kit.MDB_PATH, "usr/publish", ice.CONTEXTS, _contexts,
|
||||||
|
SH, `#!/bin/bash
|
||||||
echo "hello world"
|
echo "hello world"
|
||||||
`,
|
`,
|
||||||
JS, `Volcanos("onengine", {_init: function(can, sub) {
|
JS, `Volcanos("onengine", {_init: function(can, sub) {
|
||||||
can.base.Log("hello volcanos world")
|
can.base.Log("hello volcanos world")
|
||||||
}, river: {
|
}, river: {
|
||||||
|
|
||||||
}})
|
}})
|
||||||
`,
|
`,
|
||||||
)},
|
)},
|
||||||
},
|
}})
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var _contexts = kit.Dict(
|
var _contexts = kit.Dict(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user