1. from urllib.parse import urlparse, parse_qs
  2. def parse_url_params(url):
  3. """Parses URL parameters for short-lived tasks with optional flags."""
  4. parsed_url = urlparse(url)
  5. query_params = parse_qs(parsed_url.query)
  6. # Process parameters
  7. processed_params = {}
  8. for key, values in query_params.items():
  9. if len(values) == 1:
  10. processed_params[key] = values[0] # Single value
  11. else:
  12. processed_params[key] = values # Multiple values
  13. return processed_params
  14. if __name__ == '__main__':
  15. # Example usage
  16. url1 = "https://example.com/task?id=123&name=test"
  17. params1 = parse_url_params(url1)
  18. print(f"URL: {url1}\nParams: {params1}")
  19. url2 = "https://example.com/task?id=456&name=test&flag=true&flag=false"
  20. params2 = parse_url_params(url2)
  21. print(f"\nURL: {url2}\nParams: {params2}")
  22. url3 = "https://example.com/task?id=789"
  23. params3 = parse_url_params(url3)
  24. print(f"\nURL: {url3}\nParams: {params3}")
  25. url4 = "https://example.com/task"
  26. params4 = parse_url_params(url4)
  27. print(f"\nURL: {url4}\nParams: {params4}")

Add your comment