Project

General

Profile

« Previous | Next » 

Revision 1476

units.py: convert(): raise MissingUnitsException if quantity doesn't have units. MissingUnitsException: Take Quantity input instead of str.

View differences:

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