def _create_feed(self, content): from django.utils import feedgenerator feed = feedgenerator.Rss201rev2Feed( title = self.title, link = self.link, description = self.description, language = u'ja' ) for entry in content["entries"]: feed.add_item( title = entry["title"], link = entry["link"], description = utils.get_summary(entry), pubdate = utils.get_updated(entry), ) return feed
def execute(self, content): from google.appengine.ext import db from gpipes import utils from gpipes import models feed_key_name = models.Feed.create_key_name(self.pipeline_name) feed = models.Feed.get_or_insert(feed_key_name) entries = [] for entry in content["entries"]: key_name = models.Entry.create_key_name(self.pipeline_name, entry["link"]) e = models.Entry.get_or_insert(key_name, parent=feed) e.pipeline = self.pipeline_name e.title = entry["title"] e.url = entry["link"] e.summary = utils.get_summary(entry) e.updated = utils.get_updated(entry) entries.append(e) def txt(): db.put(entries) db.run_in_transaction(txt) return content