# LeakLess Monitor import
def measure_return_pressure_unit_string_s(pmu_value):

    if pmu_value == 0:
        return "Bar"
    elif pmu_value == 1:
        return "Pa"
    elif pmu_value == 2:
        return "Psi"
    else:
        return "Bar"


def measure_return_pressure_factor_s(pressure_unit,pressure_recalculate_unit):

    if pressure_unit == pressure_recalculate_unit:
        return 1
    elif pressure_unit == "Bar":
        if pressure_recalculate_unit == "PSI":
            return 14.5
        elif pressure_recalculate_unit == "Pa":
            return 100000
        elif pressure_recalculate_unit == "m":
            return 10.197
        else:
            return 1
    elif pressure_unit == "PSI":
        if pressure_recalculate_unit == "Bar":
            return 1 / 14.5
        elif pressure_recalculate_unit == "Pa":
            return 6894.75729
        elif pressure_recalculate_unit == "m":
            return 0.703
        else:
            return 1
    elif pressure_unit == "Pa":
        if pressure_recalculate_unit == "Bar":
            return 1 / 100000
        elif pressure_recalculate_unit == "PSI":
            return 1 / 6894.75729
        elif pressure_recalculate_unit == "m":
            return 0.0001019744
        else:
            return 1
    return 1

def measure_return_recalculate_pressure_unit_options():
    return ['Bar', 'PSI', 'm']

def measure_return_flow_factor_s(flow_unit, flow_recalculate_unit):
    if flow_unit == flow_recalculate_unit:
        return 1
    elif flow_unit == "l/s":
        if flow_recalculate_unit == "m3/s":
            return 0.001
        elif flow_recalculate_unit == "gal/s":
            return 0.264172052
        elif flow_recalculate_unit == "l/h":
            return 3600
        elif flow_recalculate_unit == "m3/h":
            return 3.6
        elif flow_recalculate_unit == "gal/h":
            return 791.889293877
        else:
            return 1
    elif flow_unit == "m3/s":
        if flow_recalculate_unit == "l/s":
            return 1000
        elif flow_recalculate_unit == "gal/s":
            return 264.172052358
        elif flow_recalculate_unit == "l/h":
            return 3600000
        elif flow_recalculate_unit == "m3/h":
            return 3600
        elif flow_recalculate_unit == "gal/h":
            return 791889.29387672
        else:
            return 1
    elif flow_unit == "gal/s":
        if flow_recalculate_unit == "l/s":
            return 4.54609
        elif flow_recalculate_unit == "m3/s":
            return 0.00454609
        elif flow_recalculate_unit == "l/h":
            return 16365.924
        elif flow_recalculate_unit == "m3/h":
            return 16.365924
        elif flow_recalculate_unit == "gal/h":
            return 3600
        else:
            return 1
    return 1

def measure_return_recalculate_flow_unit_options():
    return ['l/s', 'm3/s', 'gal/s', 'l/h', 'm3/h', 'gal/h']


def measure_return_total_flow_unit_string_s(fmu_value):

    if fmu_value == 0:
        return "l"
    elif fmu_value == 1:
        return "m3"
    elif fmu_value == 2:
        return "gal"
    else:
        return "l"

def measure_return_total_flow_factor_s(total_flow_unit,total_flow_recalculate_unit):
    if total_flow_unit == total_flow_recalculate_unit:
        return 1
    elif total_flow_unit == "l":
        if total_flow_recalculate_unit == "m3":
            return 0.001
        elif total_flow_recalculate_unit == "gal":
            return 0.264172052
        else:
            return 1
    elif total_flow_unit == "m3":
        if total_flow_recalculate_unit == "l":
            return 1000
        elif total_flow_recalculate_unit == "gal":
            return 264.172052358
        else:
            return 1
    elif total_flow_unit == "gal":
        if total_flow_recalculate_unit == "l":
            return 4.54609
        elif total_flow_recalculate_unit == "m3":
            return 0.00454609
        else:
            return 1

    return 1

def measure_return_recalculate_total_flow_unit_options():
    return ['l', 'm3', 'gal']


