1
0
mirror of https://shylinux.com/x/icebergs synced 2025-04-28 10:12:02 +08:00

opt chrome

This commit is contained in:
bergyu 2021-07-22 20:36:03 +08:00
parent 1168b9edc2
commit 76fca9c644
4 changed files with 41 additions and 27 deletions

View File

@ -1,13 +1,13 @@
package crx package crx
import ( import (
"path"
ice "github.com/shylinux/icebergs" ice "github.com/shylinux/icebergs"
"github.com/shylinux/icebergs/base/mdb" "github.com/shylinux/icebergs/base/mdb"
"github.com/shylinux/icebergs/base/nfs" "github.com/shylinux/icebergs/base/nfs"
"github.com/shylinux/icebergs/base/web" "github.com/shylinux/icebergs/base/web"
kit "github.com/shylinux/toolkits" kit "github.com/shylinux/toolkits"
"path"
) )
const CACHE = "cache" const CACHE = "cache"
@ -16,30 +16,27 @@ func init() {
Index.Merge(&ice.Context{ Index.Merge(&ice.Context{
Configs: map[string]*ice.Config{ Configs: map[string]*ice.Config{
CACHE: {Name: CACHE, Help: "爬虫缓存", Value: kit.Data( CACHE: {Name: CACHE, Help: "爬虫缓存", Value: kit.Data(
kit.MDB_SHORT, kit.MDB_LINK, kit.MDB_FIELD, "time,step,size,total,action,text,name,type,link", kit.MDB_SHORT, kit.MDB_LINK, kit.MDB_FIELD, "time,hash,step,size,total,type,name,text,link",
kit.MDB_PATH, "usr/spide", kit.MDB_PATH, "usr/local/image",
)}, )},
}, },
Commands: map[string]*ice.Command{ Commands: map[string]*ice.Command{
CACHE: {Name: "cache hash auto 添加 清理", Help: "爬虫缓存", Action: map[string]*ice.Action{ CACHE: {Name: "cache hash auto create prunes", Help: "爬虫缓存", Action: map[string]*ice.Action{
mdb.CREATE: {Name: "create", Help: "添加", Hand: func(m *ice.Message, arg ...string) { mdb.CREATE: {Name: "create", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
m.Option("_process", "_progress") if m.Cmdy(mdb.SELECT, m.Prefix(CACHE), "", mdb.HASH, m.OptionSimple(kit.MDB_LINK)); len(m.Appendv(kit.MDB_TOTAL)) > 0 {
if m.Cmdy(mdb.SELECT, m.Prefix(CACHE), "", mdb.HASH, kit.MDB_LINK, m.Option(kit.MDB_LINK)); len(m.Appendv(kit.MDB_TOTAL)) > 0 {
return // 已经下载 return // 已经下载
} }
h := m.Cmd(mdb.INSERT, m.Prefix(CACHE), "", mdb.HASH,
kit.MDB_LINK, m.Option(kit.MDB_LINK),
kit.MDB_TYPE, m.Option(kit.MDB_TYPE),
kit.MDB_NAME, m.Option(kit.MDB_NAME),
kit.MDB_TEXT, m.Option(kit.MDB_TEXT),
)
m.Option("progress", m.Prefix(CACHE), "", m.Option(kit.MDB_LINK)) h := m.Cmdx(mdb.INSERT, m.Prefix(CACHE), "", mdb.HASH, m.OptionSimple("type,name,text,link"))
m.Option(kit.Keycb(web.DOWNLOAD), m.Prefix(CACHE), "", kit.Keys(kit.MDB_HASH, h)) value := kit.GetMeta(m.Confm(CACHE, kit.Keys(kit.MDB_HASH, h)))
m.Option(kit.Keycb(web.DOWNLOAD), func(size, total int) {
value[kit.MDB_TOTAL], value[kit.MDB_SIZE], value[kit.SSH_STEP] = total, size, kit.Format(size*100/total)
})
msg := m.Cmd("web.spide", web.SPIDE_DEV, web.SPIDE_CACHE, web.SPIDE_GET, m.Option(kit.MDB_LINK)) msg := m.Cmd("web.spide", web.SPIDE_DEV, web.SPIDE_CACHE, web.SPIDE_GET, m.Option(kit.MDB_LINK))
p := path.Join(m.Conf(m.Prefix(CACHE), kit.META_PATH), m.Option(kit.MDB_NAME)) p := path.Join(m.Conf(CACHE, kit.META_PATH), m.Option(kit.MDB_NAME))
m.Cmdy(nfs.LINK, p, msg.Append(kit.MDB_FILE)) m.Cmdy(nfs.LINK, p, msg.Append(kit.MDB_FILE))
m.Toast("下载成功")
}}, }},
mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) { mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.DELETE, m.Prefix(CACHE), "", mdb.HASH, kit.MDB_HASH, m.Option(kit.MDB_HASH)) m.Cmdy(mdb.DELETE, m.Prefix(CACHE), "", mdb.HASH, kit.MDB_HASH, m.Option(kit.MDB_HASH))
@ -48,8 +45,9 @@ func init() {
m.Cmdy(mdb.PRUNES, m.Prefix(CACHE), "", mdb.HASH, kit.SSH_STEP, "100") m.Cmdy(mdb.PRUNES, m.Prefix(CACHE), "", mdb.HASH, kit.SSH_STEP, "100")
}}, }},
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Option(mdb.FIELDS, m.Conf(m.Prefix(CACHE), kit.META_FIELD)) m.Fields(len(arg) == 0, m.Conf(CACHE, kit.META_FIELD))
m.Cmdy(mdb.SELECT, m.Prefix(CACHE), "", mdb.HASH) m.Cmdy(mdb.SELECT, m.Prefix(CACHE), "", mdb.HASH, kit.MDB_HASH, arg)
m.PushAction(mdb.REMOVE)
}}, }},
}, },
}) })

View File

@ -11,12 +11,16 @@ chapter "应用"
field "同步流" web.code.chrome.sync field "同步流" web.code.chrome.sync
field "收藏夹" web.code.chrome.favor field "收藏夹" web.code.chrome.favor
field "蜘蛛侠" web.code.chrome.spide field "蜘蛛侠" web.code.chrome.spide
field "缓存池" web.code.chrome.cache field "缓存池" web.code.chrome.cache
field "浏览器" web.space field "相册簿" web.wiki.feel
section "命令行" section "命令行"
refer ` refer `
终端 terminal:// 终端 terminal://
博客 https://www.cnblogs.com/lymvv/p/8431238.html 博客 https://www.cnblogs.com/lymvv/p/8431238.html
`
section "weixin"
refer `
weixin://dl/moments
` `

View File

@ -18,6 +18,15 @@ func init() {
"/page": {Name: "/page", Help: "网页", Action: map[string]*ice.Action{ "/page": {Name: "/page", Help: "网页", Action: map[string]*ice.Action{
ctx.COMMAND: {Name: "command", Help: "命令", Hand: func(m *ice.Message, arg ...string) { ctx.COMMAND: {Name: "command", Help: "命令", Hand: func(m *ice.Message, arg ...string) {
if arg[0] == "get" { if arg[0] == "get" {
switch m.Option("hostname") {
case "music.163.com":
m.Option("top", "200")
m.Result("web.code.chrome.spide", "", m.Option("tid"))
return
case "localhost", "fib.woa.com":
return
}
return
m.Option("top", "200") m.Option("top", "200")
m.Echo("cli.runtime") m.Echo("cli.runtime")
return return

View File

@ -11,11 +11,6 @@ const SPIDE = "spide"
func init() { func init() {
Index.Merge(&ice.Context{ Index.Merge(&ice.Context{
Configs: map[string]*ice.Config{
SPIDE: {Name: SPIDE, Help: "网页爬虫", Value: kit.Data(
kit.MDB_SHORT, kit.MDB_LINK, kit.MDB_PATH, "usr/spide",
)},
},
Commands: map[string]*ice.Command{ Commands: map[string]*ice.Command{
SPIDE: {Name: "spide wid tid cmd auto", Help: "网页爬虫", Action: map[string]*ice.Action{ SPIDE: {Name: "spide wid tid cmd auto", Help: "网页爬虫", Action: map[string]*ice.Action{
web.DOWNLOAD: {Name: "download", Help: "下载", Hand: func(m *ice.Message, arg ...string) { web.DOWNLOAD: {Name: "download", Help: "下载", Hand: func(m *ice.Message, arg ...string) {
@ -29,10 +24,18 @@ func init() {
m.Push(kit.MDB_TIME, value[kit.MDB_TIME]) m.Push(kit.MDB_TIME, value[kit.MDB_TIME])
m.Push(kit.MDB_TYPE, value[kit.MDB_TYPE]) m.Push(kit.MDB_TYPE, value[kit.MDB_TYPE])
m.Push(kit.MDB_NAME, value[kit.MDB_NAME]) m.Push(kit.MDB_NAME, value[kit.MDB_NAME])
m.PushButton(web.DOWNLOAD)
m.PushRender(kit.MDB_TEXT, value[kit.MDB_TYPE], value[kit.MDB_LINK]) switch m.PushButton(web.DOWNLOAD); value[kit.MDB_TYPE] {
case "img":
m.PushImages(kit.MDB_TEXT, value[kit.MDB_LINK])
case "video":
m.PushVideos(kit.MDB_TEXT, value[kit.MDB_LINK])
default:
m.Push(kit.MDB_TEXT, "")
}
m.Push(kit.MDB_LINK, value[kit.MDB_LINK]) m.Push(kit.MDB_LINK, value[kit.MDB_LINK])
}) })
m.StatusTimeCount()
break break
} }
fallthrough fallthrough