import json
import re
def resolve_cookie_dependencies(config_file):
"""
Resolves cookie dependencies based on a configuration file.
Args:
config_file (str): Path to the configuration file (JSON).
Returns:
dict: A dictionary where keys are cookie names and values are lists of
their dependencies. Returns an empty dictionary if the file
doesn't exist or is invalid.
"""
try:
with open(config_file, 'r') as f:
config = json.load(f)
except FileNotFoundError:
return {}
except json.JSONDecodeError:
return {}
dependencies = {}
for cookie_name, details in config.items():
# Extract dependencies from the config.
deps_str = details.get('dependencies', '')
if deps_str:
# Split dependencies string into a list, handling multiple separators
deps = re.split(r'[,\s]+', deps_str)
dependencies[cookie_name] = deps
else:
dependencies[cookie_name] = [] # No dependencies
return dependencies
if __name__ == '__main__':
# Example usage:
config_file = 'cookie_config.json' # Replace with your config file
resolved_dependencies = resolve_cookie_dependencies(config_file)
print(json.dumps(resolved_dependencies, indent=4))
Add your comment