add link to update micropub syndication targets without re-authorizing

This commit is contained in:
Kyle Mahan 2016-04-21 19:59:29 +00:00
parent 093ad551df
commit d6d5e5056c
2 changed files with 18 additions and 7 deletions

View file

@ -12,6 +12,9 @@
{% if current_user.micropub_endpoint or current_user.access_token %}
<input type="text" value="{{ current_user.micropub_endpoint }}" readonly />
<input type="text" value="{{ current_user.access_token }}" readonly />
<p>
<a href="{{url_for('.micropub_update', next=request.path)}}">Update Syndication Targets</a>
</p>
<p>
<a href="{{url_for('.authorize', next=request.path)}}">Reauthorize Micropub</a>
</p>

View file

@ -304,10 +304,18 @@ def micropub_callback(resp):
return flask.redirect(resp.next_url or flask.url_for('.index'))
@flask_login.login_required
@views.route('/micropub-update')
def micropub_update():
update_micropub_syndicate_to()
return flask.redirect(flask.request.args.get('next')
or flask.url_for('.index'))
@flask_login.login_required
def update_micropub_syndicate_to():
def adapt_expanded(exp):
def adapt_expanded(targets):
"""Backcompat support for old-style "syndicate-to-expanded" properties,
e.g.,
{
@ -316,12 +324,12 @@ def update_micropub_syndicate_to():
"service": "Twitter"
}
"""
if isinstance(exp, dict):
return {
'uid': exp.get('id'),
'name': '{} on {}'.format(exp.get('name'), exp.get('service')),
}
return exp
if targets:
return [{
'uid': t.get('id'),
'name': '{} on {}'.format(t.get('name'), t.get('service')),
} for t in targets]
return targets
endpt = flask_login.current_user.micropub_endpoint
token = flask_login.current_user.access_token