def params(arg):
"""
Parse `arg` and returns a dict describing the TPDA
arguments.
Resolution order:
- `arg` is a string is parsed as an URL
- `arg` has an items() method and is parsed
(works for multidicts, ..)
- `arg` is a iterable is parsed as a
((name, value), (name, value), ..)
"""
if isinstance(arg, str):
pr = parse.urlparse(arg)
if not pr.query:
raise exceptions.IncompleteURI
return Params(parse.parse_qsl(pr.query)).params()
elif hasattr(arg, 'items'):
return Params(arg.items()).params()
elif hasattr(arg, '__iter__'):
return Params(arg).params()
评论列表
文章目录