from urllib.parse import urlparse, parse_qs
def parse_url_params(url):
"""Parses URL parameters for short-lived tasks with optional flags."""
parsed_url = urlparse(url)
query_params = parse_qs(parsed_url.query)
# Process parameters
processed_params = {}
for key, values in query_params.items():
if len(values) == 1:
processed_params[key] = values[0] # Single value
else:
processed_params[key] = values # Multiple values
return processed_params
if __name__ == '__main__':
# Example usage
url1 = "https://example.com/task?id=123&name=test"
params1 = parse_url_params(url1)
print(f"URL: {url1}\nParams: {params1}")
url2 = "https://example.com/task?id=456&name=test&flag=true&flag=false"
params2 = parse_url_params(url2)
print(f"\nURL: {url2}\nParams: {params2}")
url3 = "https://example.com/task?id=789"
params3 = parse_url_params(url3)
print(f"\nURL: {url3}\nParams: {params3}")
url4 = "https://example.com/task"
params4 = parse_url_params(url4)
print(f"\nURL: {url4}\nParams: {params4}")
Add your comment