private async Task SearchArticleFromNotification(string theid, string website) { SyndicationFeed feed = await SyndicationConverter.RetrieveFeedAsync(website); foreach (SyndicationItem item in feed.Items) { try { string itemid = (int)item.Title.Text.First() + item.PublishedDate.Second.ToString() + item.PublishedDate.Minute.ToString() + item.PublishedDate.Hour.ToString() + item.PublishedDate.Day.ToString(); if (theid == itemid) { PFeedItem target = new PFeedItem(); target.title = Regex.Replace(item.Title.Text, @"(&.*?;)", " "); target.link = item.Links.FirstOrDefault().Uri.ToString(); target.feed = feed.Title.Text; target.PublishedDate = item.PublishedDate; target.opacity = 0.5; App.Read = App.Read + itemid + ';'; await FileIO.AppendTextAsync(await ApplicationData.Current.LocalFolder.GetFileAsync("read.txt"), itemid + ';'); try { target.content = item.Summary.Text; if (App.config.DownloadImages) { Match match = Regex.Match(target.content, @"<img(.*?)>", RegexOptions.Singleline); if (match.Success) { string val = match.Groups[1].Value; Match match2 = Regex.Match(val, @"src=\""(.*?)\""", RegexOptions.Singleline); if (match2.Success) { target.image = match2.Groups[1].Value; target.iconopacity = 0; } } } } catch { target.content = string.Empty; } ArticleFrame.Navigate(typeof(PArticle), target); } } catch (Exception ex) { Debug.Write(ex.ToString()); } } }
private async Task Go(List <Website> sites) { await Task.Delay(300); List <PFeedItem> fullfeed = new List <PFeedItem>(); foreach (Website website in sites) { SyndicationFeed feed = new SyndicationFeed(); try { feed = await SyndicationConverter.RetrieveFeedAsync(website.url); } catch { continue; } foreach (SyndicationItem item in feed.Items) { PFeedItem target = new PFeedItem(); try { target.title = Regex.Replace(item.Title.Text, @"(&.*?;)", " "); target.feed = feed.Title.Text; target.PublishedDate = item.PublishedDate; target.content = item.Summary.Text; target.link = item.Links.FirstOrDefault().Uri.ToString(); if (App.config.DownloadImages) { Match match = Regex.Match(target.content, @"<img(.*?)>", RegexOptions.Singleline); if (match.Success) { string val = match.Groups[1].Value; Match match2 = Regex.Match(val, @"src=\""(.*?)\""", RegexOptions.Singleline); if (match2.Success) { target.image = match2.Groups[1].Value; target.iconopacity = 0; } } } } catch { target.content = string.Empty; target.link = string.Empty; } fullfeed.Add(target); } } Fullfeed = fullfeed.OrderByDescending(x => x.PublishedDate).ToList(); }
public static async Task <ListFeed> GetItem(SyndicationClient client, string website) { ResourceLoader rl = new ResourceLoader(); ListFeed list = new ListFeed(); try { SyndicationFeed feed = await SyndicationConverter.RetrieveFeedAsync(website); if (feed.Title != null) { list.feedimg = "http://www.google.com/s2/favicons?domain=" + website; if (feed.Subtitle != null) { list.feedtitle = feed.Title.Text; list.feedsubtitle = feed.Subtitle.Text; } else { list.feedtitle = feed.Title.Text; list.feedsubtitle = rl.GetString("SiteFeed") + list.feedtitle; } } else { list.feedtitle = website; list.feedsubtitle = rl.GetString("CanNotGetData"); } list.feedid = website; return(list); } catch { list.feedtitle = website; list.feedsubtitle = rl.GetString("CanNotGetData"); list.feedid = website; return(list); } }