tools (common/uri): fix uri parsing for Python 3.9+
This commit is contained in:
parent
a446d91c93
commit
adad4494c3
1 changed files with 8 additions and 1 deletions
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
""" XMPP uri parsing tools """
|
||||
|
||||
import sys
|
||||
import urllib.parse
|
||||
import urllib.request, urllib.parse, urllib.error
|
||||
|
||||
|
|
@ -53,7 +54,13 @@ def parseXMPPUri(uri):
|
|||
if query_end == -1 or "=" in query_type:
|
||||
raise ValueError("no query type, invalid XMPP URI")
|
||||
|
||||
pairs = urllib.parse.parse_qs(uri_split.geturl())
|
||||
if sys.version_info >= (3, 9):
|
||||
# parse_qs behaviour has been modified in Python 3.9, ";" is not understood as a
|
||||
# parameter separator anymore but the "separator" argument has been added to
|
||||
# change it.
|
||||
pairs = urllib.parse.parse_qs(uri_split.geturl(), separator=";")
|
||||
else:
|
||||
pairs = urllib.parse.parse_qs(uri_split.geturl())
|
||||
for k, v in list(pairs.items()):
|
||||
if len(v) != 1:
|
||||
raise NotImplementedError("multiple values not managed")
|
||||
|
|
|
|||
Loading…
Reference in a new issue