Пример #1
0
    def get(self):
        feed = feedgenerator.Rss201rev2Feed(
            title=u'Ebooks Deal of the Day',
            link=self.request.path_url,
            description=u'Feed: Ebooks Deal of the Day',
            language=u'ja'
            )

        # TweetHistoryにはFeedを取得している会社しか存在していないので、全件取得する
        # fetch()のlimitを指定しないと、全件取ってくるもよう
        results = TweetHistory.query().fetch()


        for result in results:
            # last_messageは全角スペースで区切ると、最後に各社サイトへのURLがあるため、それをFeedのURLとして設定する
            splited = result.last_message.split(u' ')

            feed.add_item(
                title=result.last_message,
                link=splited[-1],
                description=result.last_message
                )


        # RSS文字列にして出力
        rss = feed.writeString('utf-8')

        self.response.headers['Content-Type']='text/xml; charset=utf-8'
        self.response.out.write(rss)
    def _has_tweeted(self, message):
        # データストアを検索し、値が一致すれば、すでにツイート済
        history = TweetHistory.get_by_id(self._tweetId)

        if history is None:
            # エンティティがない場合は、まだツイートしていない
            return False
        elif message == history.last_message:
            return True
        else:
            return False
 def _save_tweet_message(self, message):
     # ツイートした内容をデータストアに保存する
     history = TweetHistory(id=self._tweetId, last_message=message)
     history.put()