Source code for gamla.url_utils

from typing import Dict, Text
from urllib import parse

from gamla import currying
from gamla.optimized import sync


[docs]@currying.curry def add_to_query_string(params_to_add: Dict, url: Text) -> Text: """Add params_to_add to the query string part of url >>> add_to_query_string({ "param1" : "value"}, "http://domain.com") http://domain.com?param1=value """ (scheme, netloc, path, query, fragment) = parse.urlsplit(url) return parse.urlunsplit( ( scheme, netloc, path, parse.urlencode( sync.merge([parse.parse_qs(query), params_to_add]), doseq=True, ), fragment, ), )