diff --git a/banana.go b/banana.go
index 24ca7ca..0d62512 100644
--- a/banana.go
+++ b/banana.go
@@ -71,20 +71,36 @@ func main() {
eso_ui_list = append(eso_ui_list, eso_ui)
}
+ var eso_live_list []EsoAddon
+
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 := ""
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
}
}
if matching == "" {
- addon_path := filepath.Join(args.Out_dir, "AddOns", eso_live_name)
- fmt.Println("Removing inactive addon", addon_path)
- // TODO os.RemoveAll(addon_path)
+ fmt.Println("Removing inactive addon", eso_live.path)
+ // TODO os.RemoveAll(eso_live.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 (
ESOUI_NAME = regexp.MustCompile(`(?:https://www.esoui.com/downloads/info[0-9]+\-)([A-Za-z]+)(?:\.html)`)
ESOUI_VERSION = regexp.MustCompile(`(?:
Version:\s+)(.*)(?:
)`)
- LIVE_VERSION = regexp.MustCompile(`(?:##\s+Version:\s+)(.*)`)
+ LIVE_VERSION = regexp.MustCompile(`(?:##\s+Version:\s+)(.*)(?:\n)`)
)
func eso_live_path_get() string {
@@ -164,9 +180,9 @@ func addon_list_read(addon_list_path string) ([]string, error) {
}
type EsoAddon struct {
- addon_name string
- version string
- dowload_uri string
+ name string
+ version string
+ path string
}
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
}
- addon_name := ESOUI_NAME.FindStringSubmatch(addon_url)[1]
+ name := ESOUI_NAME.FindStringSubmatch(addon_url)[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
}