from flask import render_template

TEMPLATE = 'components/modul_ftth.html'

def get_formular_html():
    return render_template(TEMPLATE)

def berechne(form_data):
    positionen = []
    anzahl = _int(form_data.get('anzahl_ha', 0))

    if anzahl <= 0:
        return positionen

    # Hausanschluss GF-Montage
    positionen.append({
        'pos_nr': '10039001',
        'kurztext': 'GF-Hausanschluss herstellen',
        'menge': anzahl,
        'einheit': 'ST',
        'bemerkung': form_data.get('bemerkung', ''),
    })

    if form_data.get('tiefbau') == 'an':
        positionen.append({
            'pos_nr': '10039002',
            'kurztext': 'Tiefbau für Hausanschluss',
            'menge': anzahl * _float(form_data.get('trassenlaenge', 5)),
            'einheit': 'M',
            'bemerkung': 'Trassenlänge pro HA',
        })

    if form_data.get('muffe') == 'an':
        positionen.append({
            'pos_nr': '10038002',
            'kurztext': 'Muffe bauen (FTTH)',
            'menge': anzahl,
            'einheit': 'ST',
        })

    return positionen

def _int(val, default=0):
    try:
        return int(float(str(val).replace(',', '.')))
    except (ValueError, TypeError):
        return default

def _float(val, default=0):
    try:
        return float(str(val).replace(',', '.'))
    except (ValueError, TypeError):
        return default
