import json
import argparse
def load_config(config_file, override_file=None):
"""Loads configuration data from a JSON file, applying overrides if provided."""
try:
with open(config_file, 'r') as f:
config = json.load(f)
except FileNotFoundError:
print(f"Error: Configuration file not found: {config_file}")
return {}
except json.JSONDecodeError:
print(f"Error: Invalid JSON in configuration file: {config_file}")
return {}
if override_file:
try:
with open(override_file, 'r') as f:
override = json.load(f)
config.update(override) #Apply overrides
except FileNotFoundError:
print(f"Warning: Override file not found: {override_file}")
except json.JSONDecodeError:
print(f"Warning: Invalid JSON in override file: {override_file}")
return config
def main():
"""Parses command-line arguments and loads the configuration."""
parser = argparse.ArgumentParser(description="Local utility configuration.")
parser.add_argument("-c", "--config", required=True, help="Path to the configuration file.")
parser.add_argument("-o", "--override", help="Path to the override file (optional).")
args = parser.parse_args()
config = load_config(args.config, args.override)
#Example usage: Print the config
print(json.dumps(config, indent=4))
if __name__ == "__main__":
main()
Add your comment