import json
import datetime
def pretty_print_metadata(metadata):
"""
Pretty-prints metadata for maintenance tasks with basic input validation.
"""
if not isinstance(metadata, dict):
print("Error: Metadata must be a dictionary.")
return
print("Metadata:")
for key, value in metadata.items():
print(f" {key}: ", end="")
if isinstance(value, dict):
print(json.dumps(value, indent=4)) # Pretty-print nested dicts
elif isinstance(value, list):
print("[")
for item in value:
print(f" {item}")
print("]")
else:
print(value)
print("-" * 20)
def get_metadata_input():
"""
Gets metadata input from the user with basic validation.
"""
metadata = {}
while True:
key = input("Enter key (or 'done' to finish): ")
if key.lower() == 'done':
break
value = input(f"Enter value for '{key}': ")
# Basic validation: check if value is empty
if not value:
print("Value cannot be empty.")
continue
metadata[key] = value
return metadata
if __name__ == "__main__":
# Example usage
metadata = get_metadata_input()
pretty_print_metadata(metadata)
Add your comment