from jinja2 import Template
from datetime import datetime

CONTRACT_TEMPLATE = '''**INDEPENDENT CONTRACTOR AGREEMENT**

**Date:** {{ date }}

**Parties:**

1. **RateRight Pty Ltd** (ACN {{ rateright_acn }}, ABN {{ rateright_abn }}) of {{ rateright_address }}, Sydney, NSW, Australia.

2. **Hirer:** {{ hirer_name }} (ABN {{ hirer_abn if hirer_abn else 'N/A' }}) of {{ hirer_address }}.

3. **Contractor:** {{ contractor_name }} (ABN {{ contractor_abn }}) of {{ contractor_address }}.

**Agreement:**

1. **Payment:** ${{ hourly_rate }} per hour (plus GST if applicable), paid within {{ payment_days }} days.

2. **Insurance:** {{ risk_level }} risk requires appropriate coverage.

**Services:** {{ gig_description }}
'''

def generate_contract(contract_data):
    template = Template(CONTRACT_TEMPLATE)
    
    rateright_data = {
        'rateright_acn': '123456789',
        'rateright_abn': '12345678901', 
        'rateright_address': '123 Business St, Sydney NSW 2000',
        'date': datetime.now().strftime('%d %B %Y'),
        'payment_days': contract_data.get('payment_days', 7)
    }
    
    template_data = {**rateright_data, **contract_data}
    return template.render(template_data)
