Exemple #1
0
        public bool ImportRss(WSFeedConfig.FeedConfig feed, string webSource)
        {
            bool ret = false;

            System.Diagnostics.Debug.WriteLine(string.Format("ImportRss: \"{0}\")", feed.Name));

            RssFeed rssFeed = ReadRssFeed(feed.FeedID, webSource);

            if (rssFeed != null && rssFeed.Header != null)
                ret = new database.Rss().SetRssFeed(rssFeed);
            else
                ret = true;

            return ret;
        }
Exemple #2
0
        public bool ImportRss(WSFeedConfig.FeedConfig feed, string webSource)
        {
            bool ret = false;

            Logging.Log(this, Logging.LoggingTypeDebug, string.Format("ImportRss: \"{0}\")", feed.Name));

            RssFeed rssFeed = ReadRssFeed(feed.FeedID, webSource);

            if (rssFeed != null && rssFeed.Header != null)
            {
                database.Rss dbRss = new database.Rss();
                ret = dbRss.SetRssFeed(rssFeed);
                NewFeeds = dbRss.NewFeeds;
            }
            else
                ret = true;

            return ret;
        }
		public void UpdateFeeds()
		{		
			Logging.Log(this, Logging.LoggingTypeDebug, "UpdateFeeds() - before lock");
			lock(lockObject)
			{
				Logging.Log(this, Logging.LoggingTypeDebug, "UpdateFeeds() - in lock");

				// Konfiguration vom Webserver laden
				Logging.Log(this, Logging.LoggingTypeDebug, "Konfiguration vom Webserver laden");
				List<WSFeedConfig.FeedConfig> feedsConfig = new WSFeedConfig().GetFeedConfig();
				
				Logging.Log(this, Logging.LoggingTypeDebug, "Konfiguration in der Datenbank speichern");
				
				Config config = new Config(this);
				
				// Konfiguration in der Datenbank speichern
				config.SetWSConfig(feedsConfig);
				
				// Neu aus der DB laden um auch die FeedID zu bekommen.
				feedsConfig = config.GetWSConfig();

				Logging.Log(this, Logging.LoggingTypeInfo, "Feedimport start.");
				
				foreach(WSFeedConfig.FeedConfig feed in feedsConfig)
				{
					// Nur aktive feeds laden
					if (!feed.IsActive)
						continue;
					
					string webSource = new Download().DownloadWebSource(feed.Url);
					
					if (!string.IsNullOrEmpty(webSource))
					{
						switch(feed.FeedType)
						{
							case WSFeedConfig.FeedTypes.News:
								new feedimport.Rss().ImportRss(feed, webSource);
								break;
						}
					}
				}

				Logging.Log(this, Logging.LoggingTypeInfo, "Feedimport abgeschlossen.");
			}
		}