You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
swarms/profession_sim/format_prompt.py

57 lines
2.0 KiB

#!/usr/bin/env python3
"""
Script to format prompt.txt into proper markdown format.
Converts \n characters to actual line breaks and improves formatting.
"""
def format_prompt(input_file="prompt.txt", output_file="prompt_formatted.md"):
"""
Read the prompt file and format it properly as markdown.
Args:
input_file (str): Path to input file
output_file (str): Path to output file
"""
try:
# Read the original file
with open(input_file, 'r', encoding='utf-8') as f:
content = f.read()
# Replace \n with actual newlines
formatted_content = content.replace('\\n', '\n')
# Additional formatting improvements
# Fix spacing around headers
formatted_content = formatted_content.replace('\n**', '\n\n**')
formatted_content = formatted_content.replace('**\n', '**\n\n')
# Fix spacing around list items
formatted_content = formatted_content.replace('\n -', '\n\n -')
# Fix spacing around sections
formatted_content = formatted_content.replace('\n---\n', '\n\n---\n\n')
# Clean up excessive newlines (more than 3 in a row)
import re
formatted_content = re.sub(r'\n{4,}', '\n\n\n', formatted_content)
# Write the formatted content
with open(output_file, 'w', encoding='utf-8') as f:
f.write(formatted_content)
print(f"✅ Successfully formatted prompt!")
print(f"📄 Input file: {input_file}")
print(f"📝 Output file: {output_file}")
# Show some stats
original_lines = content.count('\\n') + 1
new_lines = formatted_content.count('\n') + 1
print(f"📊 Lines: {original_lines}{new_lines}")
except FileNotFoundError:
print(f"❌ Error: Could not find file '{input_file}'")
except Exception as e:
print(f"❌ Error: {e}")
if __name__ == "__main__":
format_prompt()