Пример #1
0
    def Read(self):
        if self.IsCrawlTime() == False:
            return 0

        urls = Feed.select().execute()

        result = []
        entries = []
        news_count = 0
        nw = NewsWorker()
        for url in urls:
            try:
                d = feedparser.parse(url.url)
                rss_title = EncodeToUtf8(d['feed']['title'])
                for item in d.entries:
                    gmt_date, persian_date = self.ComputeDates(
                        item.published, item.published_parsed)
                    date, time = self.GetJalaliDateTime(persian_date)
                    if nw.AddNews(item.title, item.link, url.id, gmt_date):
                        news_count += 1
            except Exception as ex:
                Setting.error_log.LogException(ex, 'rss reading main loop: ')

        self.SetCrawlLog(news_count)

        return news_count