public override Chapter[] GetUpdates() { List <Chapter> result = new List <Chapter>(); String[] dlc = GetDLChapters(); bool doFullSetup = true; foreach (string chapterUrl in KissMangaHelper.GetChapterUrls(KissMangaHelper.KISS_URL + "/manga/" + mangaRoot.Name)) { string[] urlSplits = chapterUrl.Split('/'); string chapID = urlSplits[urlSplits.Length - 1]; string chapNum = chapID.Substring(8); // remove "chapter_" if ((!doFullSetup) || (doFullSetup && dlc == null) || (doFullSetup && dlc[0].Equals("-1")) || (doFullSetup && dlc.Contains(chapNum))) { if (!Directory.Exists(Path.Combine(mangaRoot.FullName, chapID))) { DirectoryInfo chapDir = FileHelper.CreateFolder(mangaRoot, chapID); Chapter newchapter = new Chapter(chapDir, chapID, chapNum, doFullSetup); chapters.Add(newchapter); result.Add(newchapter); } } } return(result.ToArray()); }
/// <summary> /// Creates manga.txt, then calls Load() /// </summary> /// <param name="mangaUrl"></param> public override void _Create(string mangaUrl) { id = mangaUrl; string title = KissMangaHelper.GetName(mangaUrl); string lang_code = "gb"; // Not that it matters for KissManga FileHelper.CreateFolder(FileHelper.APP_ROOT, KissMangaHelper.GetUrlName(mangaUrl)); MangaInfo info = new MangaInfo() { Type = "manga", Source = "kissmanga", Id = KissMangaHelper.GetUrlName(mangaUrl), Name = title, LangCode = lang_code, Group = "^any-group", UserName = title, Chapter = "1", Page = "1", Latest = "1" }; string output = JsonConvert.SerializeObject(info); File.WriteAllText(Path.Combine(mangaRoot.FullName, "manga.json"), output); _Load(false); GetSetPrunedChapters(true); }
public void StartDownloading() { File.Create(Path.Combine(chapter.GetChapterRoot().Parent.FullName, "dl" + chapter.GetID())).Close(); string mName = chapter.GetChapterRoot().Parent.Name; string cUrl = "https://kissmanga.org/chapter/" + mName + "/" + chapter.GetID(); string[] pageUrls = KissMangaHelper.GetPageUrls(cUrl); foreach (string url in pageUrls) { string imgFile = Path.Combine(chapter.GetChapterRoot().FullName, KissMangaHelper.GetPageFileName(url)); DownloadAsync(new Uri(url), imgFile); } }
public override Chapter[] GetSetPrunedChapters(bool overrideDlc) { chapters.Clear(); List <Chapter> result = new List <Chapter>(); String[] dlc = GetDLChapters(); bool doFullSetup; if (!overrideDlc) { doFullSetup = true; } else // override { doFullSetup = false; } foreach (string chapterUrl in KissMangaHelper.GetChapterUrls(KissMangaHelper.KISS_URL + "/manga/" + mangaRoot.Name)) { string[] urlSplits = chapterUrl.Split('/'); string chapID = urlSplits[urlSplits.Length - 1]; string chapNum = chapID.Substring(8); // remove "chapter_" if ((!doFullSetup) || (doFullSetup && dlc == null) || (doFullSetup && dlc[0].Equals("-1")) || (doFullSetup && dlc.Contains(chapNum))) { DirectoryInfo chapDir = null; // Only create folder if doing full setup if (doFullSetup) { chapDir = FileHelper.CreateFolder(mangaRoot, chapID); } Chapter newchapter = new Chapter(chapDir, chapID, chapNum, doFullSetup); chapters.Add(newchapter); result.Add(newchapter); } } chapters = result; return(result.ToArray()); }