private void Init() { //Create twitter news var tweet1 = new TwitterNews(context); tweet1.Identifier = "1"; tweet1.Title = "Twitter ESA"; tweet1.Author = "ESA"; tweet1.Store(); var tweet2 = new TwitterNews(context); tweet2.Identifier = "2"; tweet2.Title = "Twitter Terradue"; tweet2.Author = "terradue"; tweet2.Store(); //create rss news var rss1 = new RssNews(context); rss1.Identifier = "3"; rss1.Title = "RSS worldbank"; rss1.Url = "http://blogs.worldbank.org/water/rss.xml"; rss1.Store(); }
public static List <RssNews> GetNewsFromRss(string url, int num, out string catchNewsStatusInfo) { List <RssNews> rssNewsList = new List <RssNews>(); catchNewsStatusInfo = string.Empty; try { var webResponse = WebRequest.Create(url.Trim()).GetResponse(); if (webResponse == null) { return(null); } var ds = new DataSet(); ds.ReadXml(webResponse.GetResponseStream()); var allNewsFromWeb = ds.Tables["item"].AsEnumerable().ToList(); int getNewsNum = allNewsFromWeb.Count() >= num ? num : allNewsFromWeb.Count(); for (int i = 0; i < getNewsNum; i++) { RssNews lastRssNew = new RssNews { Title = allNewsFromWeb[i].Field <string>("title"), // PubDate = allNewsFromWeb[i].Field<string>("pubDate"), Description = allNewsFromWeb[i].Field <string>("description") }; //去除一些常见的不用的正文部分 if (lastRssNew.Description.IndexOf("发帖区") >= 0) { lastRssNew.Description = lastRssNew.Description.Remove(lastRssNew.Description.IndexOf("发帖区")); } if (lastRssNew.Description.IndexOf("责任编辑") >= 0) { lastRssNew.Description = lastRssNew.Description.Remove(lastRssNew.Description.IndexOf("责任编辑")); } if (lastRssNew.Description.IndexOf("This entry passed") >= 0) { lastRssNew.Description = lastRssNew.Description.Remove(lastRssNew.Description.IndexOf("This entry passed")); } if (lastRssNew.Description.IndexOf("【免责声明】") >= 0) { lastRssNew.Description = lastRssNew.Description.Remove(lastRssNew.Description.IndexOf("【免责声明】")); } rssNewsList.Add(lastRssNew); } catchNewsStatusInfo = DateTime.Now.ToString("yyyy-M-d dddd HH:mm:ss") + ":新闻抓取成功。" + "\r\n"; return(rssNewsList); } catch (Exception ex) { catchNewsStatusInfo = DateTime.Now.ToString("yyyy-M-d dddd HH:mm:ss") + ":新闻抓取失败。错误内容:" + ex + "\r\n"; return(null); } }
public bool TranslateBlog(RssNews rss) { var content = _helper.TranslateText(rss.Description); var title = _helper.TranslateText(rss.Title); var oldNews = Context.RssNews.Find(rss.Id); oldNews.Content = content; oldNews.TitleCn = title; Context.Update(oldNews); var re = Context.SaveChanges(); return(re > 0); }
public IActionResult DelBlog(int id) { RssNews news = _context.RssNews.Find(id); _context.RssNews.Remove(news); var re = _context.SaveChanges(); if (re > 0) { return(JsonOk(re)); } return(JsonFailed()); }
public object Post(CreateNews request) { WebNews result = null; var context = TepWebContext.GetWebContext(PagePrivileges.AdminOnly); try { context.Open(); if (request.Type.Equals(EntityType.GetEntityType(typeof(TwitterNews)).Keyword)) { TwitterNews tweet = null; tweet = new TwitterNews(context); tweet = (TwitterNews)request.ToEntity(context, tweet); tweet.Store(); result = new WebNews(tweet); } else if (request.Type.Equals(EntityType.GetEntityType(typeof(RssNews)).Keyword)) { RssNews rss = null; rss = new RssNews(context); rss = (RssNews)request.ToEntity(context, rss); rss.Store(); result = new WebNews(rss); //} else if (request.Type.Equals(EntityType.GetEntityType(typeof(TumblrNews)).Keyword)){ // TumblrNews tumblr = null; // tumblr = new TumblrNews(context); // tumblr = (TumblrNews)request.ToEntity(context, tumblr); // tumblr.Store(); // result = new WebNews(tumblr); } else { Article article = null; article = new Article(context); article = (Article)request.ToEntity(context, article); article.Store(); result = new WebNews(article); } context.LogInfo(this, string.Format("/news POST Id='{0}'", request.Id)); context.Close(); } catch (Exception e) { context.LogError(this, e.Message, e); context.Close(); throw e; } return(result); }
public static bool PublishNew(string contentName, int parentContentId, RssNews news, out string publishInfo) { try { string contentTypeAlias = "InfoDetail"; string contentAddress = contentName + DateTime.Now.ToString("yyyyMMddHHmmss"); //RssNews publishNews = RssReader.ReadLastNew(rssAddress); IContent newContent = ApplicationContext.Current.Services.ContentService.CreateContent(contentAddress, parentContentId, contentTypeAlias, 0); newContent.SetValue("bodyText", news.Description.Trim()); newContent.SetValue("pageTitle", news.Title); ApplicationContext.Current.Services.ContentService.Publish(newContent, 0); publishInfo = DateTime.Now.ToString("yyyy-M-d dddd HH:mm:ss") + ":发布成功。发布的新闻标题:" + news.Title + "\r\n ---------------------------\r\n"; return(true); } catch (Exception ex) { //Log.Add(LogTypes.Publish,nodeID,"自动发布rss新闻时出错:"+ex.Message ); publishInfo = DateTime.Now.ToString("yyyy-M-d dddd HH:mm:ss") + ":发布错误,请查看下方错误消息。\r\n发布新闻标题:" + news.Title + "\r\n错误消息:" + ex.Message + "\r\n ---------------------------\r\n"; return(true); } }
public object Post(CreateRssNews request) { var context = TepWebContext.GetWebContext(PagePrivileges.EverybodyView); WebNews result = null; try{ context.Open(); RssNews article = new RssNews(context); article = (RssNews)request.ToEntity(context, article); article.Store(); result = new WebNews(article); context.LogInfo(this, string.Format("/news/rss POST Id='{0}'", request.Id)); context.Close(); }catch (Exception e) { context.LogError(this, e.Message, e); context.Close(); throw e; } return(result); }