From 82f454b7203bec62115de3a5aa4d516c2ce88442 Mon Sep 17 00:00:00 2001 From: Kyle Mahan Date: Sun, 8 Feb 2015 19:59:37 +0000 Subject: [PATCH] bugfix introduced from merge conflicts --- woodwind/tasks.py | 10 +++++----- woodwind/templates/feeds.jinja2 | 8 ++++++-- woodwind/views.py | 16 ++++++++++++++-- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/woodwind/tasks.py b/woodwind/tasks.py index 41abce6..30063a0 100644 --- a/woodwind/tasks.py +++ b/woodwind/tasks.py @@ -60,20 +60,20 @@ def update_feed(feed_id): def process_feed_for_new_entries(session, feed): + result = None try: if feed.type == 'xml': result = list(process_xml_feed_for_new_entries(session, feed)) elif feed.type == 'html': result = list(process_html_feed_for_new_entries(session, feed)) - else: - result = None - return result finally: now = datetime.datetime.utcnow() feed.last_checked = now if result: feed.last_updated = now session.commit() + return result + def process_xml_feed_for_new_entries(session, feed): @@ -156,7 +156,7 @@ def process_html_feed_for_new_entries(session, feed): now = datetime.datetime.utcnow() parsed = mf2util.interpret_feed( - mf2py.parse(url=feed.feed), feed.feed) + mf2py.Parser(url=feed.feed).to_dict(), feed.feed) hfeed = parsed.get('entries', []) all_uids = [e.get('uid') or e.get('url') for e in hfeed] @@ -176,7 +176,7 @@ def process_html_feed_for_new_entries(session, feed): if not uid or uid in preexisting: continue - # hentry = mf2util.interpret(mf2py.parse(url=url), url) + # hentry = mf2util.interpret(mf2py.Parser(url=url).to_dict(), url) # permalink = hentry.get('url') or url # uid = hentry.get('uid') or uid entry = Entry( diff --git a/woodwind/templates/feeds.jinja2 b/woodwind/templates/feeds.jinja2 index 1ff0e78..e17e88c 100644 --- a/woodwind/templates/feeds.jinja2 +++ b/woodwind/templates/feeds.jinja2 @@ -9,7 +9,11 @@ {% endblock header %} {% block body %} - +
+ +
+ {% for feed in feeds %}
Save
+ action="{{ url_for('.update_feed') }}" method="POST">
diff --git a/woodwind/views.py b/woodwind/views.py index d7c3f05..5d8aaca 100644 --- a/woodwind/views.py +++ b/woodwind/views.py @@ -49,14 +49,24 @@ def settings(): return flask.render_template('settings.jinja2') -@views.route('/update_feed') +@views.route('/update_feed', methods=['POST']) +@flask_login.login_required def update_feed(): feed_id = flask.request.args.get('id') tasks.update_feed.delay(feed_id) return flask.redirect(flask.url_for('.feeds')) +@views.route('/update_all', methods=['POST']) +@flask_login.login_required +def update_all(): + for feed in flask_login.current_user.feeds: + tasks.update_feed.delay(feed.id) + return flask.redirect(flask.url_for('.feeds')) + + @views.route('/delete_feed', methods=['POST']) +@flask_login.login_required def delete_feed(): feed_id = flask.request.form.get('id') feed = Feed.query.get(feed_id) @@ -67,6 +77,7 @@ def delete_feed(): @views.route('/edit_feed', methods=['POST']) +@flask_login.login_required def edit_feed(): feed_id = flask.request.form.get('id') feed_name = flask.request.form.get('name') @@ -165,6 +176,7 @@ def load_user(domain): @views.route('/subscribe', methods=['GET', 'POST']) +@flask_login.login_required def subscribe(): if flask.request.method == 'POST': origin = flask.request.form.get('origin') @@ -199,7 +211,7 @@ def add_subscription(origin, feed_url, type): if type == 'html': flask.current_app.logger.debug('mf2py parsing %s', feed_url) parsed = mf2util.interpret_feed( - mf2py.Parse(url=feed_url).to_dict(), feed_url) + mf2py.Parser(url=feed_url).to_dict(), feed_url) name = parsed.get('name') if not name or len(name) > 140: p = urllib.parse.urlparse(origin)