コード例 #1
0
ファイル: handlers.py プロジェクト: junyu/streamspigot
    def post(self):
        url = self.request.get('url')
        try:
            start_date = datetime.datetime.strptime(
                self.request.get('start-date'), '%Y-%m-%d')
        except ValueError:
            start_date = datetime.datetime(1970, 1, 1)
        frequency = self.request.get('frequency')

        subscription = data.create_subscription(
            url,
            start_date,
            frequency)

        feed_info = data.get_feed_info_from_feed_url(url)
        feed_title = feed_info.title
        subscription_html_url = '%s/feed-playback/subscription/%s' % (
            CONSTANTS.APP_URL, subscription.id)

        subscription.create_reader_stream(
            intro_html_url=subscription_html_url,
            intro_title='Feed playback for "%s" has begun' % feed_title,
            intro_body=self._render_template(
                'feedplayback/intro-body.snippet', {
                  'subscription_html_url': subscription_html_url,
                  'feed_url': url,
                  'feed_title': feed_title,
                  'item_count': len(feed_info.item_ids) - subscription.position,
                  'frequency': _FREQUENCY_DISPLAY_NAMES[frequency],
                }))

        self._write_json(subscription.as_json_dict())
コード例 #2
0
ファイル: handlers.py プロジェクト: junyu/streamspigot
    def get(self, subscription_id):
        subscription = data.get_subscription_by_id(subscription_id)

        if not subscription:
            self._write_not_found()
            return

        feed_info = data.get_feed_info_from_feed_url(subscription.feed_url)

        self._write_template('feedplayback/subscription.html', {
            'feed_title': feed_info.title,
            'feed_url': subscription.feed_url,
            'subscription_id': subscription_id,
            'subscription_feed_url': subscription.get_subscription_feed_url(),
            'subscription_reader_url': subscription.get_subscription_reader_url(),
            'position': subscription.position + 1,
            'item_count': len(feed_info.item_ids),
            'frequency': _FREQUENCY_DISPLAY_NAMES[subscription.frequency]
        })