from flask import render_template

TEMPLATE = 'components/modul_kabelzug.html'

def get_formular_html():
    return render_template(TEMPLATE)

def berechne(form_data):
    positionen = []
    laenge = _float(form_data.get('laenge', 0))
    typ = form_data.get('kabel_typ', 'dn50')

    if laenge <= 0:
        return positionen

    kabel_map = {
        'dn50': ('10040001', 'Kabel DN50 einziehen', laenge),
        'dn110': ('10040002', 'Kabel DN110 einziehen', laenge),
        'cu': ('10040003', 'Cu-Kabel einziehen', laenge),
    }
    if typ in kabel_map:
        pnr, txt, menge = kabel_map[typ]
        positionen.append({
            'pos_nr': pnr, 'kurztext': txt, 'menge': menge, 'einheit': 'M',
            'laenge': laenge,
        })

    if form_data.get('einblasen') == 'an':
        positionen.append({
            'pos_nr': '10040004',
            'kurztext': 'Einblasen von Kabel',
            'menge': laenge,
            'einheit': 'M',
            'laenge': laenge,
        })

    return positionen

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