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:
31
main.go
31
main.go
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user