diff --git a/main.go b/main.go index 69a7dd1..cb693b1 100644 --- a/main.go +++ b/main.go @@ -48,7 +48,7 @@ func main() { Error.Printf("Error fetching %s: %v", apiUrl, err) return } - + //os.WriteFile("test.html", []byte(res), 0644) pages, err := ParseHTML(res) if err != nil { @@ -57,27 +57,33 @@ func main() { } for _, page := range pages { log.Printf("Processing page %s", page) - pname := pageNameExtractor.FindStringSubmatch(page) - if len(pname) != 2 { - Error.Printf("Failed to extract page name from %s", page) - continue - } - - res, err := Fetch(rootUrl + page) + err := ParseDocFull(page) if err != nil { - Error.Printf("Error fetching %s: %v", rootUrl+page, err) - } - - function, err := ParseDoc(res) - if err != nil { - Error.Printf("Error parsing HTML: %v", err) - continue - } - function.Name = pname[1] - err = function.WriteFile(outDir) - if err != nil { - Error.Printf("Error writing file: %v", err) - continue + Error.Printf("Error parsing doc: %v", err) + return } } } + +func ParseDocFull(url string) error { + pname := pageNameExtractor.FindStringSubmatch(url) + if len(pname) != 2 { + return fmt.Errorf("Failed to extract page name from %s", url) + } + + res, err := Fetch(rootUrl + url) + if err != nil { + return fmt.Errorf("Error fetching %s: %v", rootUrl+url, err) + } + + function, err := ParseDoc(res) + if err != nil { + return fmt.Errorf("Error parsing HTML for %s: %v", url, err) + } + function.Name = pname[1] + err = function.WriteFile(outDir) + if err != nil { + return fmt.Errorf("Error writing file for %s: %v", url, err) + } + return nil +}