diff --git a/Grabazine.go b/Grabazine.go index a740a1e..5c6992b 100644 --- a/Grabazine.go +++ b/Grabazine.go @@ -71,12 +71,15 @@ func main() { for _, issue := range issueList.Data { issuePath := mydir + "/issue/" + strconv.Itoa(issue.Id) - completeName := mydir + "/issue/" + issue.Publication.Name + " - " + issue.Name + ".pdf" + publicationName := RemoveBadCharacters(issue.Publication.Name) + issueName := RemoveBadCharacters(issue.Name) + + completeName := mydir + "/issue/" + publicationName + " - " + issueName + ".pdf" if fileExists(completeName) { - fmt.Println("Issue already found: " + issue.Publication.Name + " - " + issue.Name) + fmt.Println("Issue already found: " + completeName) continue } - fmt.Println("Downloading issue: " + issue.Publication.Name + " - " + issue.Name) + fmt.Println("Downloading issue: " + publicationName + " - " + issueName) pages := GetPages(loginToken, issue, initialToken, *zinioHostPtr) @@ -156,7 +159,6 @@ func main() { err = api.RemovePagesFile(filenames[i], "", []string{"2-"}, nil) if err != nil { fmt.Printf("Removing extra pages failed with %s\n.", err) - } return @@ -380,3 +382,15 @@ func GetDefaultTemplate() string { ` } + +var badCharacters = []string{"/", "\\", "<", ">", ":", "\"", "|", "?", "*"} + +func RemoveBadCharacters(input string) string { + + temp := input + + for _, badChar := range badCharacters { + temp = strings.Replace(temp, badChar, "_", -1) + } + return temp +} diff --git a/built/Zinigo_Linux_AMD64 b/built/Zinigo_Linux_AMD64 index 82c8753..e161523 100644 Binary files a/built/Zinigo_Linux_AMD64 and b/built/Zinigo_Linux_AMD64 differ diff --git a/built/Zinigo_Windows_x64.exe b/built/Zinigo_Windows_x64.exe index 37c54a3..26cbebd 100644 Binary files a/built/Zinigo_Windows_x64.exe and b/built/Zinigo_Windows_x64.exe differ