Revision 1476
Added by Aaron Marcuse-Kubitza almost 13 years ago
lib/units.py | ||
---|---|---|
8 | 8 |
import util |
9 | 9 |
|
10 | 10 |
class MissingUnitsException(Exception): |
11 |
def __init__(self, value):
|
|
12 |
Exception.__init__(self, 'Value has no units: '+value)
|
|
11 |
def __init__(self, quantity):
|
|
12 |
Exception.__init__(self, 'Quantity has no units: '+quantity)
|
|
13 | 13 |
|
14 | 14 |
def std_units(units): |
15 | 15 |
if units == None: return units |
... | ... | |
43 | 43 |
def convert(quantity, units): |
44 | 44 |
units = std_units(units) |
45 | 45 |
if units == None: return Quantity(quantity.value, units) # remove units |
46 |
elif quantity.units == units: return quantity |
|
46 |
elif quantity.units == units: return quantity # units already correct |
|
47 |
elif quantity.units == None: raise MissingUnitsException(quantity) |
|
48 |
# can't convert quantity with unknown units |
|
47 | 49 |
else: raise NotImplementedError('Unit conversion not implemented yet') |
Also available in: Unified diff
units.py: convert(): raise MissingUnitsException if quantity doesn't have units. MissingUnitsException: Take Quantity input instead of str.