public static async Task checkAndAddNewComics() { string url = "http://xkcd.com/info.0.json"; HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Add("user-agent", "XKCD Daily Win8 Reader"); HttpResponseMessage response = await client.GetAsync(url); string responseText = await response.Content.ReadAsStringAsync(); try { if (response.StatusCode == HttpStatusCode.OK) { SampleDataGroup Comics = SampleDataSource.GetGroup("XKCD"); JsonObject json = JsonObject.Parse(responseText); string month = json.GetNamedString("month"); int num = (int)json.GetNamedNumber("num"); if (Comics.Items[0].UniqueId != num.ToString()) { string link = json.GetNamedString("link"); string year = json.GetNamedString("year"); string news = json.GetNamedString("news"); string safe_title = json.GetNamedString("safe_title"); string transcript = json.GetNamedString("transcript"); string alt = json.GetNamedString("alt"); string img = json.GetNamedString("img"); string title = json.GetNamedString("title"); string day = json.GetNamedString("day"); //localize? string fulldate = month + "/" + day + "/" + year; SampleDataItem newcomic = new SampleDataItem(num.ToString(), title, fulldate, img, transcript, alt, Comics, img); if (FavoriteManager.isFavorite(num)) { newcomic.isFav = true; } Comics.Items.Insert(0, newcomic); //SampleDataSource._sampleDataSource._allGroups.Clear(); //SampleDataSource._sampleDataSource._allGroups.Add(Comics); } } else if (response.StatusCode == HttpStatusCode.GatewayTimeout) { var dia = new Windows.UI.Popups.MessageDialog("It appears xkcd.com is under heavy load. Please try again later."); await dia.ShowAsync(); } response.ToString(); } catch (Exception) { } }
//this also makes the group public static async Task addMostRecentComic() { string url = "http://xkcd.com/info.0.json"; JsonObject json = await GetAsync(url); string month = json.GetNamedString("month"); int num = (int)json.GetNamedNumber("num"); string link = json.GetNamedString("link"); string year = json.GetNamedString("year"); string news = json.GetNamedString("news"); string safe_title = json.GetNamedString("safe_title"); string transcript = json.GetNamedString("transcript"); string alt = json.GetNamedString("alt"); string img = json.GetNamedString("img"); string title = json.GetNamedString("title"); string day = json.GetNamedString("day"); //localize? string fulldate = month + "/" + day + "/" + year; SampleDataGroup Comics = new SampleDataGroup("XKCD", "XKCD", "A Webcomic of romace, sarcasm, math, and language", "310x150.png", ""); SampleDataItem newcomic = new SampleDataItem(num.ToString(), title, fulldate, img, transcript, alt, Comics, img); if (FavoriteManager.isFavorite(num)) { newcomic.isFav = true; } Comics.Items.Add(newcomic); //SampleDataSource._sampleDataSource._allGroups.Clear(); SampleDataSource._sampleDataSource._allGroups.Add(Comics); }
public static async Task addPrevious20(SampleDataItem sdi, SampleDataGroup group) { int c = int.Parse(sdi.UniqueId); for (int x = 0; x < 20; x++) { await addToGroupByNum(--c, group); } }
public static async Task <SampleDataItem> getComicByNum(int number, SampleDataGroup group) { string url = "http://xkcd.com/" + number + "/info.0.json"; JsonObject json = await GetAsync(url, number); string month = json.GetNamedString("month"); int num = (int)json.GetNamedNumber("num"); string link = json.GetNamedString("link"); string year = json.GetNamedString("year"); string news = json.GetNamedString("news"); string safe_title = json.GetNamedString("safe_title"); string transcript = json.GetNamedString("transcript"); string alt = json.GetNamedString("alt"); string img = json.GetNamedString("img"); string title = json.GetNamedString("title"); string day = json.GetNamedString("day"); if (!transcript.Equals("")) { await DownloadJSON(url, number); } //localize? string fulldate = month + "/" + day + "/" + year; var localFolder = Windows.Storage.ApplicationData.Current.LocalFolder; var oldimg = img; if (!await Download(img, num)) { img = "ms-appdata:///local/" + num + ".png"; } string ns = num.ToString(); SampleDataItem newcomic; if (group.Title == "Favorites") { //return null; //don't want to load more favorites?? ns = ns + " "; newcomic = new SampleDataItem(ns, title, fulldate, img, transcript, alt, group, oldimg); newcomic.isFav = true; } else { newcomic = new SampleDataItem(ns, title, fulldate, img, transcript, alt, group, oldimg); } if (FavoriteManager.isFavorite(num)) { newcomic.isFav = true; } return(newcomic); }
public static async Task addPreviousN(SampleDataItem sdi, SampleDataGroup group, int n) { int c = int.Parse(sdi.UniqueId); for (int x = 0; x < n; x++) { if (c == 405) //lol randall monroe - doesn't have a comic #404 { c--; } if (c > 1) { await addToGroupByNum(--c, group); } } }
internal static async Task fillGroup(SampleDataItem n, SampleDataItem o) { int newest = int.Parse(n.UniqueId); int oldest = int.Parse(o.UniqueId); int si = n.Group.Items.IndexOf(n) + 1; if (newest > oldest) { for (int i = oldest + 1; i < newest; i++) { if (i == 404) { i++; } n.Group.Items.Insert(si, await getComicByNum(i, n.Group)); } } else { //how did you get here what the f**k? newer has got to be greater than older } }
public static async Task <IEnumerable <SampleDataItem> > returnPreviousN(SampleDataItem sdi, SampleDataGroup group, int n) { if (group.UniqueId != "Favorites") { List <SampleDataItem> l = new List <SampleDataItem>(); int c = int.Parse(sdi.UniqueId); for (int x = 0; x < n; x++) { if (c == 405) //lol randall monroe - doesn't have a comic #404 { c--; } if (c > 1) { l.Add(await getComicByNum(--c, group)); } } return(l); } else { return(null); } }