Files
aufmass-web/_aufmass_web/app/modules/neff_achberg.py
T

74 lines
1.9 KiB
Python

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