parse micropub queries with pyquerystring library

Better handling of PHP's fancy urlencoded arrays
This commit is contained in:
Kyle Mahan 2016-01-27 08:09:03 -08:00
parent b49c53eeda
commit e860d789aa
2 changed files with 8 additions and 4 deletions

View file

@ -12,6 +12,6 @@ cd $REMOTE_PATH
git pull origin master \ git pull origin master \
&& source venv/bin/activate \ && source venv/bin/activate \
&& pip install --upgrade -r requirements.txt \ && pip install --upgrade -r requirements.txt \
&& sudo restart silopub && sudo restart woodwind
'" '"

View file

@ -12,6 +12,7 @@ import hashlib
import hmac import hmac
import mf2py import mf2py
import mf2util import mf2util
import pyquerystring
import requests import requests
import re import re
import urllib import urllib
@ -319,7 +320,9 @@ def update_micropub_syndicate_to():
'Unexpected response querying micropub endpoint %s: %s', 'Unexpected response querying micropub endpoint %s: %s',
resp, resp.text) resp, resp.text)
return return
syndicate_tos = urllib.parse.parse_qs(resp.text).get('syndicate-to[]', []) syndicate_tos = pyquerystring.parse(resp.text).get('syndicate-to', [])
if syndicate_tos and not isinstance(syndicate_tos, list):
syndicate_tos = list(syndicate_tos)
flask_login.current_user.set_setting('syndicate-to', syndicate_tos) flask_login.current_user.set_setting('syndicate-to', syndicate_tos)
db.session.commit() db.session.commit()
@ -498,8 +501,9 @@ def domain_for_url(url):
@views.app_template_filter() @views.app_template_filter()
def favicon_for_url(url): def favicon_for_url(url):
return '//www.google.com/s2/favicons?' + urllib.parse.urlencode( return '//www.google.com/s2/favicons?' + urllib.parse.urlencode({
{'domain': url}) 'domain': url,
})
@views.app_template_filter() @views.app_template_filter()