modify sorting; improve runtime a bit; only care for online title if new manga, else use existing one from manga.yaml

This commit is contained in:
m3philis
2025-04-29 00:15:57 +02:00
parent 37edab5197
commit 693b070a61
5 changed files with 46 additions and 28 deletions

31
main.go
View File

@@ -5,6 +5,7 @@ import (
"fmt"
"log"
"os"
"sort"
"strings"
"mangacrawler/createepub"
@@ -21,6 +22,7 @@ func main() {
var forceEpub bool
var mangas []mangacrawler.MangaYaml
var skipDl bool
var completedMangas []string
homepath, err := os.UserHomeDir()
if err != nil {
@@ -54,17 +56,28 @@ func main() {
}
}
sort.Sort(mangacrawler.ByName(mangas))
for i, manga := range mangas {
manga.Name, manga.Completed = mangacrawler.GetMangaInfo(manga)
if manga.Completed {
completedMangas = append(completedMangas, manga.Name)
continue
}
var newChapter bool
if manga.Name == "" {
manga.Name, manga.Completed = mangacrawler.GetMangaInfo(manga)
}
mangaPath := strings.Join([]string{path, "MangaDex", manga.Name}, "/")
os.MkdirAll(mangaPath, 0755)
if (!manga.Completed && !skipDl) || forceDl {
if _, err := os.Stat(strings.Join([]string{homepath, "mangas/MangaDex", manga.Name}, "/")); err == nil {
fmt.Printf("%s found on system!\n", manga.Name)
} else {
os.MkdirAll(mangaPath, 0755)
}
if !skipDl || forceDl {
manga, newChapter = mangacrawler.GetManga(manga, mangaPath, forceDl)
} else if manga.Completed {
fmt.Print(" Manga already completed!\n\n")
}
if forceEpub || newChapter {
@@ -73,7 +86,7 @@ func main() {
createepub.CreateEpub(mangaPath, manga.Name, manga.ID)
fmt.Printf("EPUB created and saved under: %s\n\n", "/tmp/epub")
} else {
fmt.Print("No update on manga, skipping epub creation!\n\n")
fmt.Printf("%s has no updates!\n\n", manga.Name)
}
mangas[i] = manga
@@ -87,6 +100,12 @@ func main() {
yamlPrint, _ := yaml.Marshal(&mangas)
fmt.Println(string(yamlPrint))
}
fmt.Println("Finished mangas on system:")
sort.Strings(completedMangas)
for _, manga := range completedMangas {
fmt.Printf(" %s\n", manga)
}
}
func parseFile(file string) []mangacrawler.MangaYaml {