Spaces:
Build error
Build error
| # 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 |