Beispiel #1
0
        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);
                }
            }
Beispiel #3
0
        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);
        }
Beispiel #4
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());
        }
Beispiel #5
0
        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);
     }
 }
Beispiel #7
0
        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);
        }