openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #14568
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