Exemple #1
0
    def update_callback(self, ids):
        failed_feeds = []
        feeds = Feed.query.filter(Feed.id.in_(ids)).all()
        app.logger.info(u"Admin Updating Callback URL for Feeds: {0}".format(u", ".join(map(str, feeds))))
        for feed in feeds:
            if feed.status != STATUS.UNSUBSCRIBED:
                try:
                    result = subscriber.unsubscribe(feed.topic)
                    if result[0] in [200, 202, 204]:
                        feed.callback_url = get_public_url(feed)
                        result = subscriber.subscribe(feed.topic, find_feed=False)
                        flash_status(result)
                        db.session.add(feed)
                    else:
                        failed_feeds.append(feed)
                except Exception as e:
                    app.logger.error(str(e))
                    flash(str(e), ALERT.ERROR)
            else:
                feed.callback_url = get_public_url(feed)
                db.session.add(feed)

        db.session.commit()

        if failed_feeds:
            flash(u"Callback URL Update failed for: {0}".format(u", ".join(map(str, failed_feeds))))

        return redirect(url_for("feedview.index_view"))
Exemple #2
0
    def unsubscribe(self, ids):
        feeds = Feed.query.filter(Feed.id.in_(ids)).all()
        app.logger.info(u"Admin Unsubscribing from Feeds: {0}".format(u", ".join(map(str, feeds))))
        for feed in feeds:
            try:
                result = subscriber.unsubscribe(feed.topic)
                flash_status(result)
            except Exception as e:
                app.logger.error(str(e))
                flash(str(e), ALERT.ERROR)

        return redirect(url_for("feedview.index_view"))