from flask import render_template TEMPLATE = 'components/modul_neff_achberg.html' def get_formular_html(): return render_template(TEMPLATE) def berechne(form_data): positionen = [] l = _float(form_data.get('laenge', 0)) typ = form_data.get('typ', 'haus') if l <= 0: return positionen if typ == 'haus': positionen.append({ 'pos_nr': '10043001', 'kurztext': 'Leitungsgraben HA Neff-Achberg', 'menge': l, 'einheit': 'M', 'laenge': l, 'bemerkung': form_data.get('bemerkung', ''), }) elif typ == 'tb': positionen.append({ 'pos_nr': '10043002', 'kurztext': 'Leitungsgraben TB Neff-Achberg', 'menge': l, 'einheit': 'M', 'laenge': l, 'bemerkung': form_data.get('bemerkung', ''), }) if form_data.get('rohr_4x20') == 'an': positionen.append({ 'pos_nr': '10043003', 'kurztext': 'Rohr 4x20mm (Neff-Achberg)', 'menge': l, 'einheit': 'M', 'laenge': l, }) if form_data.get('trassenband') == 'an': positionen.append({ 'pos_nr': '10043004', 'kurztext': 'Trassenband einlegen', 'menge': l, 'einheit': 'M', 'laenge': l, }) if form_data.get('kopfloch') == 'an': positionen.append({ 'pos_nr': '10043005', 'kurztext': 'Kopfloch herstellen', 'menge': _int(form_data.get('kopfloch_anzahl', 1)), 'einheit': 'ST', }) return positionen def _float(val, default=0): try: return float(str(val).replace(',', '.')) except (ValueError, TypeError): return default def _int(val, default=0): try: return int(float(str(val).replace(',', '.'))) except (ValueError, TypeError): return default