print live addon stats

master
JoYo 2024-06-07 02:15:14 -04:00
parent cf5443ca40
commit 35b9852487
1 changed files with 40 additions and 11 deletions

View File

@ -71,20 +71,36 @@ func main() {
eso_ui_list = append(eso_ui_list, eso_ui) eso_ui_list = append(eso_ui_list, eso_ui)
} }
var eso_live_list []EsoAddon
for _, eso_live_name := range eso_live_addon_names { for _, eso_live_name := range eso_live_addon_names {
eso_live, error := eso_live_stat_init(eso_live_name)
if error != nil {
panic(error)
}
matching := "" matching := ""
for _, eso_ui := range eso_ui_list { for _, eso_ui := range eso_ui_list {
if strings.Contains(eso_live_name, eso_ui.addon_name) { if strings.Contains(eso_live_name, eso_ui.name) {
matching = eso_live_name matching = eso_live_name
} }
} }
if matching == "" { if matching == "" {
addon_path := filepath.Join(args.Out_dir, "AddOns", eso_live_name) fmt.Println("Removing inactive addon", eso_live.path)
fmt.Println("Removing inactive addon", addon_path) // TODO os.RemoveAll(eso_live.path)
// TODO os.RemoveAll(addon_path) continue
} }
eso_live_list = append(eso_live_list, eso_live)
}
for _, eso_live := range eso_live_list {
fmt.Printf("Live \"%s\" %s\n", eso_live.path, eso_live.version)
}
for _, eso_ui := range eso_ui_list {
fmt.Printf("EsoUI \"%s\" %s\n", eso_ui.path, eso_ui.version)
} }
} }
@ -102,7 +118,7 @@ https://www.esoui.com/downloads/info1146-LibCustomMenu.html
var ( var (
ESOUI_NAME = regexp.MustCompile(`(?:https://www.esoui.com/downloads/info[0-9]+\-)([A-Za-z]+)(?:\.html)`) ESOUI_NAME = regexp.MustCompile(`(?:https://www.esoui.com/downloads/info[0-9]+\-)([A-Za-z]+)(?:\.html)`)
ESOUI_VERSION = regexp.MustCompile(`(?:<div\s+id="version">Version:\s+)(.*)(?:</div>)`) ESOUI_VERSION = regexp.MustCompile(`(?:<div\s+id="version">Version:\s+)(.*)(?:</div>)`)
LIVE_VERSION = regexp.MustCompile(`(?:##\s+Version:\s+)(.*)`) LIVE_VERSION = regexp.MustCompile(`(?:##\s+Version:\s+)(.*)(?:\n)`)
) )
func eso_live_path_get() string { func eso_live_path_get() string {
@ -164,9 +180,9 @@ func addon_list_read(addon_list_path string) ([]string, error) {
} }
type EsoAddon struct { type EsoAddon struct {
addon_name string name string
version string version string
dowload_uri string path string
} }
func eso_ui_stat_init(addon_url string) (EsoAddon, error) { func eso_ui_stat_init(addon_url string) (EsoAddon, error) {
@ -185,9 +201,22 @@ func eso_ui_stat_init(addon_url string) (EsoAddon, error) {
return EsoAddon{}, error return EsoAddon{}, error
} }
addon_name := ESOUI_NAME.FindStringSubmatch(addon_url)[1] name := ESOUI_NAME.FindStringSubmatch(addon_url)[1]
version := ESOUI_VERSION.FindStringSubmatch(string(body))[1] version := ESOUI_VERSION.FindStringSubmatch(string(body))[1]
dowload_uri := strings.Replace(addon_url, "info", "download", -1) path := strings.Replace(addon_url, "info", "download", -1)
return EsoAddon{addon_name, version, dowload_uri}, nil return EsoAddon{name, version, path}, nil
}
func eso_live_stat_init(eso_live_name string) (EsoAddon, error) {
path := filepath.Join(args.Out_dir, "AddOns", eso_live_name)
content, error := os.ReadFile(filepath.Join(path, eso_live_name+".txt"))
if error != nil {
return EsoAddon{}, error
}
version := LIVE_VERSION.FindStringSubmatch(string(content))[1]
return EsoAddon{eso_live_name, version, path}, nil
} }