/// <summary> /// Creates manga.txt, then calls Load() /// </summary> /// <param name="mangaUrl"></param> public override void _Create(string mangaUrl) { id = mangaUrl; string jsonText = MangaDexHelper.GetMangaJSON(mangaUrl); JObject jobj = JObject.Parse(jsonText); string title = (string)jobj["manga"]["title"]; string lang_code = "gb"; FileHelper.CreateFolder(FileHelper.APP_ROOT, MangaDexHelper.GetMangaID(mangaUrl)); MangaInfo info = new MangaInfo() { Type = "manga", Source = "mangadex", Id = MangaDexHelper.GetMangaID(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 override Chapter[] GetUpdates() { List <Chapter> result = new List <Chapter>(); string jsonText = MangaDexHelper.GetMangaJSON(MangaDexHelper.GetMangaUrl(GetID())); JObject jobj = JObject.Parse(jsonText); String[] dlc = GetDLChapters(); bool doFullSetup = true; foreach (JProperty p in jobj["chapter"]) { JToken value = p.Value; if (value.Type == JTokenType.Object) { JObject o = (JObject)value; string chapNum = (String)o["chapter"]; if (usergroup == "^any-group") { if (((string)o["lang_code"]).Equals(userlang)) { if ((!doFullSetup) || (doFullSetup && dlc == null) || (doFullSetup && dlc[0].Equals("-1")) || (doFullSetup && dlc.Contains(chapNum))) { string chapID = ((JProperty)value.Parent).Name; 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); } } } } else { if (((string)o["lang_code"]).Equals(userlang) && ((string)o["group_name"]).Equals(usergroup)) { // Console.WriteLine(chapNum); string chapID = ((JProperty)value.Parent).Name; if (!Directory.Exists(Path.Combine(mangaRoot.FullName, chapID))) { if ((!doFullSetup) || (doFullSetup && dlc == null) || (doFullSetup && dlc[0].Equals("-1")) || (doFullSetup && dlc.Contains(chapNum))) { DirectoryInfo chapDir = FileHelper.CreateFolder(mangaRoot, chapID); Chapter newchapter = new Chapter(chapDir, chapID, chapNum, doFullSetup); chapters.Add(newchapter); result.Add(newchapter); } } } } } } return(result.ToArray()); }
public override string[] GetLangs() { List <string> result = new List <string>(); string jsonText = MangaDexHelper.GetMangaJSON(MangaDexHelper.GetMangaUrl(GetID())); JObject jobj = JObject.Parse(jsonText); foreach (JProperty p in jobj["chapter"]) { JToken value = p.Value; if (value.Type == JTokenType.Object) { JObject o = (JObject)value; string langCode = (string)o["lang_code"]; if (!result.Contains(langCode)) { result.Add(langCode); } } } return(result.ToArray()); }
public override Chapter[] GetSetPrunedChapters(bool overrideDlc) { chapters.Clear(); List <Chapter> result = new List <Chapter>(); string jsonText = MangaDexHelper.GetMangaJSON(id); JObject jobj = JObject.Parse(jsonText); String[] dlc = GetDLChapters(); bool doFullSetup; if (!overrideDlc) { doFullSetup = true; } else // override { doFullSetup = false; } foreach (JProperty p in jobj["chapter"]) { JToken value = p.Value; if (value.Type == JTokenType.Object) { JObject o = (JObject)value; string chapNum = (String)o["chapter"]; if (usergroup == "^any-group") { if (((string)o["lang_code"]).Equals(userlang)) { if ((!doFullSetup) || (doFullSetup && dlc == null) || (doFullSetup && dlc[0].Equals("-1")) || (doFullSetup && dlc.Contains(chapNum))) { string chapID = ((JProperty)value.Parent).Name; 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); } } } else { if (((string)o["lang_code"]).Equals(userlang) && ((string)o["group_name"]).Equals(usergroup)) { if ((!doFullSetup) || (doFullSetup && dlc == null) || (doFullSetup && dlc[0].Equals("-1")) || (doFullSetup && dlc.Contains(chapNum))) { string chapID = ((JProperty)value.Parent).Name; DirectoryInfo chapDir = FileHelper.CreateFolder(mangaRoot, chapID); Chapter newchapter = new Chapter(chapDir, chapID, chapNum, doFullSetup); chapters.Add(newchapter); result.Add(newchapter); } } } } } chapters = result; return(result.ToArray()); }