Exemple #1
0
 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
Exemple #2
0
    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
Exemple #3
0
    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
Exemple #4
0
    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