Files
scripts/powerweb/web.py

31 lines
1.1 KiB
Python

from bottle import get, post, request, run, route
from power_calcs import calculate
voltage_limit = 11.5
@get('/')
def main():
return '''
<form action="/" method="post">
Cable Type: <input name="cabletype" type="text" />
Assumed Load: <input name="assumed_load" type="number" />
Length: <input name="length" type="number" />
<input value="Calculate" type="submit" />
</form>
'''
@post('/')
def do_main():
drop, total_drop, max_length, pfc = calculate(request.forms.get('cabletype'), float(request.forms.get('assumed_load')), int(request.forms.get('length')))
page = ""
page += f"Voltage Drop (per ampere per metre): {drop}mV/A/m<br>"
page += f"Total drop at {request.forms.get('assumed_load')}A over {request.forms.get('length')}m is: {total_drop:.1f}V<br>"
page += f"Maximum length of cable at this load: {int(max_length)}m<br>"
page += f"Estimated PFC is {pfc:.1f}A<br>"
if total_drop > voltage_limit:
page += "<span style='color: red'>FAILED: VOLTAGE DROP TOO HIGH</span>"
return page
run(host='localhost', port=8080, debug=True)