# utils/template_manager.py import json import os from typing import Dict, List, Optional import streamlit as st from datetime import datetime class TemplateManager: def __init__(self): self.templates_path = "data/templates" self.load_templates() def load_templates(self): """Load document templates""" self.templates = { "nda": { "name": "Non-Disclosure Agreement", "file": "nda_template.txt", "variables": [ "company_name", "party_name", "effective_date", "duration", "jurisdiction" ] }, "mou": { "name": "Memorandum of Understanding", "file": "mou_template.txt", "variables": [ "party1_name", "party2_name", "purpose", "duration", "key_terms" ] }, "contract": { "name": "General Contract", "file": "contract_template.txt", "variables": [ "party1_name", "party2_name", "contract_purpose", "start_date", "end_date", "payment_terms" ] }, "will": { "name": "Last Will and Testament", "file": "will_template.txt", "variables": [ "testator_name", "executor_name", "beneficiaries", "assets", "specific_bequests" ] } } def get_template_content(self, template_type: str) -> str: """Get template content""" template_file = self.templates[template_type]["file"] with open(os.path.join(self.templates_path, template_file), 'r') as f: return f.read() def generate_document(self, template_type: str, variables: Dict[str, str]) -> str: """Generate document from template""" template = self.get_template_content(template_type) # Replace variables in template for key, value in variables.items(): template = template.replace(f"{{{key}}}", value) return template