x
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user