← Back to team overview

openlp-core team mailing list archive

Re: [Merge] lp:~mahfiaz/openlp/bug-908226 into lp:openlp

 

It turned out that urlparse uses & and ; as equivalent separators.

urlparse.parse_qsl('data={"request":"da;ta=some"}')
returns
[('data', '{"request":"da'), ('ta', 'some"}')]

urllib.urlencode([('data', '{"request":"da;ta=some"}')])
returns
'data=%7B%22request%22%3A%22da%3Bta%3Dsome%22%7D'

Although we could replace these strings in httpserver.py in ready_read() right before passing the string to urlparse.parse_qs(), it seems like a wrong place to fix it.

I'll use %3B for ; and %23 for # instead, it's three characters less and decoded earlier (\u0023 get's decoded by JSON decoder). Let me know, if you are satisfied with such an solution.
-- 
https://code.launchpad.net/~mahfiaz/openlp/bug-908226/+merge/97127
Your team OpenLP Core is subscribed to branch lp:openlp.


References