@@ -20,36 +20,33 @@ def escape_illegal_xml_characters(xmldata: str) -> str:
2020 return re .sub (r"&([^a-zA-Z#])" , r"&\1" , xmldata )
2121
2222
23- def format_measure (measure : str , unit : str ) -> bool | float | int :
23+ def format_measure (measure : str , unit : str ) -> float | int :
2424 """Format measure to correct type."""
25- result : bool | float | int = False
25+ result : float | int = 0
2626 try :
2727 result = int (measure )
2828 if unit == TEMP_CELSIUS :
2929 result = float (measure )
3030 except ValueError :
31- try :
32- float_measure = float (measure )
33- if unit == PERCENTAGE :
34- if 0 < float_measure <= 1 :
35- return int (float_measure * 100 )
36-
37- if unit == ENERGY_KILO_WATT_HOUR :
38- float_measure = float_measure / 1000
39-
40- if unit in SPECIAL_FORMAT :
41- result = float (f"{ round (float_measure , 3 ):.3f} " )
42- elif unit == ELECTRIC_POTENTIAL_VOLT :
31+ float_measure = float (measure )
32+ if unit == PERCENTAGE :
33+ if 0 < float_measure <= 1 :
34+ return int (float_measure * 100 )
35+
36+ if unit == ENERGY_KILO_WATT_HOUR :
37+ float_measure = float_measure / 1000
38+
39+ if unit in SPECIAL_FORMAT :
40+ result = float (f"{ round (float_measure , 3 ):.3f} " )
41+ elif unit == ELECTRIC_POTENTIAL_VOLT :
42+ result = float (f"{ round (float_measure , 1 ):.1f} " )
43+ else :
44+ if abs (float_measure ) < 10 :
45+ result = float (f"{ round (float_measure , 2 ):.2f} " )
46+ elif abs (float_measure ) >= 10 and abs (float_measure ) < 100 :
4347 result = float (f"{ round (float_measure , 1 ):.1f} " )
44- else :
45- if abs (float_measure ) < 10 :
46- result = float (f"{ round (float_measure , 2 ):.2f} " )
47- elif abs (float_measure ) >= 10 and abs (float_measure ) < 100 :
48- result = float (f"{ round (float_measure , 1 ):.1f} " )
49- elif abs (float_measure ) >= 100 :
50- result = int (round (float_measure ))
51- except ValueError :
52- result = measure in ["on" , "true" ]
48+ elif abs (float_measure ) >= 100 :
49+ result = int (round (float_measure ))
5350
5451 return result
5552
0 commit comments