def execute(self, content): import xmlrpclib from gpipes import utils server = xmlrpclib.Server(self.api_url) for entry in content["entries"]: server.metaWeblog.newPost( self.blog_id, self.username, self.password, { "title": entry["title"], "description": utils.get_summary(entry), }, xmlrpclib.True) return content
def execute(self, content): from google.appengine.api import mail from gpipes import utils if not mail.is_email_valid(self.user_address): raise Exception("not valid mail address") body = "" for entry in content["entries"]: body = body + entry["title"] + "\n" body = body + entry["link"] + "\n" body = body + utils.get_summary(entry) + "\n\n" # Debug print(body) mail.send_mail(self.sender_address, self.user_address, self.subject, body) return content
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