Coverage for /media/ldata/code/tendril/tendril/utils/types/thermodynamic.py: 100%

# Coverage for /media/ldata/code/tendril/tendril/utils/types/thermodynamic.py : 100%

## 19 statements 19 run 0 missing 0 excluded

Hot-keys on this page

r m x p toggle line displays

j k next/prev highlighted chunk

0 (zero) top of page

1 (one) first highlighted chunk

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | # Copyright (C) 2015 Chintalagiri Shashank # # This file is part of Tendril. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. from decimal import Decimal from unitbase import NumericalUnitBase def parse_temperature(value): num_val = Decimal(value[:-1].strip()) ostr = value[-1:] if ostr == 'C': return num_val + Decimal('273.14') elif ostr == 'K': return num_val elif ostr == 'F': return ((num_val - 32) * 5) / 9 + Decimal('273.14') class Temperature(NumericalUnitBase): def __init__(self, value): _ostrs = ['C', 'F', 'K'] _dostr = 'K' _parse_func = parse_temperature super(Temperature, self).__init__(value, _ostrs, _dostr, _parse_func) def __repr__(self): return str(self._value) + self._dostr