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()