from flask import render_template

TEMPLATE = 'components/modul_doku.html'

def get_formular_html():
    return render_template(TEMPLATE)

def berechne(form_data):
    pos = []
    laenge = _float(form_data.get('doku_laenge', 0))
    breite = _float(form_data.get('doku_breite', 0))
    hktr = _float(form_data.get('doku_hktr_m', 0))
    vzktr = _float(form_data.get('doku_vzktr_m', 0))
    gf_haus = _int(form_data.get('doku_gf_haus_anz', 0))

    if laenge > 0 and breite > 0:
        pos.append(dict(pos_nr='10038000', kurztext=f'MP-Einarbeitung Gelände/Gebäude ({laenge}×{breite}m)', menge=1, einheit='ST'))
    elif laenge > 0:
        pos.append(dict(pos_nr='10038000', kurztext='MP-Einarbeitung Gelände/Gebäude', menge=laenge, einheit='M'))
    if hktr > 0:
        pos.append(dict(pos_nr='10038001', kurztext=f'Dokumentation HK-Trasse ({hktr}m)', menge=hktr, einheit='M'))
    if vzktr > 0:
        pos.append(dict(pos_nr='10038002', kurztext=f'Dokumentation VzK-Trasse ({vzktr}m)', menge=vzktr, einheit='M'))
    if gf_haus > 0:
        pos.append(dict(pos_nr='10038003', kurztext=f'Dokumentation GF-Hausanschluss ({gf_haus} Stk)', menge=gf_haus, einheit='ST'))
    if form_data.get('doku_geh') == 'an':
        pos.append(dict(pos_nr='10038004', kurztext='Dokumentation von Gehäusen', menge=1, einheit='ST'))
    return pos

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

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