| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package core
- import "regexp"
- func getPaterner(uuid, path string) (string, string, bool) {
- var ss = regexp.MustCompile(`\S+`).FindAllString(path, -1)
- path = ss[0]
- var data []byte
- var address = ""
- ls := plugin_list
- for _, f := range ls {
- if f.UUID == uuid {
- address = f.Address
- break
- }
- }
- for _, f := range ls { //同源
- if f.Address == address && (f.Title == path || f.UUID == path) {
- data = plugins.GetBytes(f.UUID)
- if data != nil {
- return string(data), f.UUID, true //本地取
- }
- data = fetchScript(f.Address, f.UUID)
- if data == nil {
- console.Warn("无法从订阅源获取 %s 的协作脚本 %s ", GetScriptNameByUUID(uuid), path)
- return "", f.UUID, false
- } else {
- console.Log("已从订阅源获取 %s 的协作脚本 %s", GetScriptNameByUUID(uuid), path)
- plugins.Set(f.UUID, string(data))
- return string(data), f.UUID, true
- }
- }
- }
- for _, f := range ls { //异源
- if f.Address != address && (f.Title == path || f.UUID == path) {
- data = plugins.GetBytes(f.UUID)
- if data != nil {
- return string(data), f.UUID, true //本地取
- }
- data = fetchScript(f.Address, f.UUID)
- if data == nil {
- console.Warn("无法从订阅源获取 %s 的协作脚本 %s ", GetScriptNameByUUID(uuid), path)
- return "", f.UUID, false
- } else {
- console.Log("已从订阅源获取 %s 的协作脚本 %s", GetScriptNameByUUID(uuid), path)
- plugins.Set(f.UUID, string(data))
- return string(data), f.UUID, true
- }
- }
- }
- return "", "", false
- }
|