fix unsubscribe bug -- feeds should be unsubscribed, not deleted

This commit is contained in:
Kyle Mahan 2015-02-18 23:26:42 +00:00
parent aa87cdddbb
commit 367ae82f0a
3 changed files with 11 additions and 7 deletions

View file

@ -171,7 +171,7 @@ def process_xml_feed_for_new_entries(session, feed):
def process_html_feed_for_new_entries(session, feed): def process_html_feed_for_new_entries(session, feed):
logger.debug('fetching html feed: %s', feed) logger.info('fetching html feed: %s', feed)
now = datetime.datetime.utcnow() now = datetime.datetime.utcnow()
parsed = mf2util.interpret_feed( parsed = mf2util.interpret_feed(
@ -181,6 +181,7 @@ def process_html_feed_for_new_entries(session, feed):
for hentry in hfeed: for hentry in hfeed:
permalink = url = hentry.get('url') permalink = url = hentry.get('url')
uid = hentry.get('uid') or url uid = hentry.get('uid') or url
logger.debug('processing permalink %s. uid %s', permalink, uid)
if not uid: if not uid:
continue continue

View file

@ -32,9 +32,9 @@
<button type="submit">Update</button> <button type="submit">Update</button>
</form> </form>
<form style="display:inline;" <form style="display:inline;"
action="{{ url_for('.delete_feed') }}" method="POST"> action="{{ url_for('.unsubscribe_feed') }}" method="POST">
<input type="hidden" name="id" value="{{ feed.id }}"/> <input type="hidden" name="id" value="{{ feed.id }}"/>
<button type="submit">Delete</button> <button type="submit">Unsubscribe</button>
</form> </form>
<br/> <br/>
<a href="{{ url_for('.index', feed=feed.get_feed_code()) }}">View posts from this feed</a> <a href="{{ url_for('.index', feed=feed.get_feed_code()) }}">View posts from this feed</a>

View file

@ -96,14 +96,17 @@ def update_all():
return flask.redirect(flask.url_for('.feeds')) return flask.redirect(flask.url_for('.feeds'))
@views.route('/delete_feed', methods=['POST']) @views.route('/unsubscribe_feed', methods=['POST'])
@flask_login.login_required @flask_login.login_required
def delete_feed(): def unsubscribe_feed():
feed_id = flask.request.form.get('id') feed_id = flask.request.form.get('id')
feed = Feed.query.get(feed_id) feed = Feed.query.get(feed_id)
db.session.delete(feed)
feeds = flask_login.current_user.feeds
feeds.remove(feed)
db.session.commit() db.session.commit()
flask.flash('Deleted {} ({})'.format(feed.name, feed.feed)) flask.flash('Unsubscribed {} ({})'.format(feed.name, feed.feed))
return flask.redirect(flask.url_for('.feeds')) return flask.redirect(flask.url_for('.feeds'))