1. import json
  2. import re
  3. def resolve_cookie_dependencies(config_file):
  4. """
  5. Resolves cookie dependencies based on a configuration file.
  6. Args:
  7. config_file (str): Path to the configuration file (JSON).
  8. Returns:
  9. dict: A dictionary where keys are cookie names and values are lists of
  10. their dependencies. Returns an empty dictionary if the file
  11. doesn't exist or is invalid.
  12. """
  13. try:
  14. with open(config_file, 'r') as f:
  15. config = json.load(f)
  16. except FileNotFoundError:
  17. return {}
  18. except json.JSONDecodeError:
  19. return {}
  20. dependencies = {}
  21. for cookie_name, details in config.items():
  22. # Extract dependencies from the config.
  23. deps_str = details.get('dependencies', '')
  24. if deps_str:
  25. # Split dependencies string into a list, handling multiple separators
  26. deps = re.split(r'[,\s]+', deps_str)
  27. dependencies[cookie_name] = deps
  28. else:
  29. dependencies[cookie_name] = [] # No dependencies
  30. return dependencies
  31. if __name__ == '__main__':
  32. # Example usage:
  33. config_file = 'cookie_config.json' # Replace with your config file
  34. resolved_dependencies = resolve_cookie_dependencies(config_file)
  35. print(json.dumps(resolved_dependencies, indent=4))

Add your comment