def FindUnitTypes(): """ returns a mapping of all the unit names to the unit types raises an exception if there is more than one option -- this will check the unit database for duplicated names """ unit_types = {} for unit_type in ConvertDataUnits.keys(): if unit_type == "Oil Concentration" or unit_type == "Concentration In Water": continue # skipping Oil Concentration, 'cause this is really length -- lots of duplicate units! # skipping Concentration in water, cause this has lots of duplicate units for PrimaryName, data in ConvertDataUnits[unit_type].items(): # strip out whitespace and capitalization #Pname = Simplify(PrimaryName) Pname = PrimaryName # add the primary name: unit_types[Pname] = unit_type # now the synonyms: for n in data[1]: if unit_type == "Volume" and n == 'oz': continue # skip, "oz" is only mass if unit_types.has_key(n): raise ValueError("Duplicate name in units table: %s" % n) unit_types[n] = unit_type return unit_types
def GetUnitTypes(): """ returns a list of all the unit types available a unit type is something like "mass", "velocity", etc. """ return ConvertDataUnits.keys()
def FindUnitTypes(): """ returns a mapping of all the unit names to the unit types raises an exception if there is more than one option -- this will check the unit database for duplicated names Usually not called from user code. """ unit_types = {} for unit_type in ConvertDataUnits.keys(): if unit_type == "Oil Concentration" or unit_type == "Concentration In Water": continue # skipping Oil Concentration, 'cause this is really length -- lots of duplicate units! # skipping Concentration in water, cause this has lots of duplicate units for PrimaryName, data in ConvertDataUnits[unit_type].items(): # strip out whitespace and capitalization #Pname = Simplify(PrimaryName) Pname = PrimaryName # add the primary name: unit_types[Pname] = unit_type # now the synonyms: for n in data[1]: if unit_type == "Volume" and n == 'oz': continue # skip, "oz" is only mass if unit_types.has_key(n): raise ValueError("Duplicate name in units table: %s"%n) unit_types[n] = unit_type return unit_types
def GetUnitTypes(): return ConvertDataUnits.keys()
@classmethod def ToMass(self, Volume, VolUnits, Density, DensityUnits, MassUnits): Density = convert("Density", DensityUnits, "kg/m^3", Density) #print "Density in kg/m^3", Density Volume = convert("Volume", VolUnits, "m^3", Volume) #print "Volume in m^3", Volume Mass = Volume * Density #print "Mass in kg", Mass Mass = convert("Mass", "kg", MassUnits, Mass) #print "Mass in %s"%MassUnits, Mass return Mass # create the converter objects Converters = {} for (unittype, data) in ConvertDataUnits.items(): if unittype.lower() == 'temperature': Converters["temperature"] = TempConverterClass(unittype, data) elif unittype.lower() == 'density': Converters["density"] = DensityConverterClass(unittype, data) else: Converters[Simplify(unittype)] = ConverterClass(unittype, data) def convert(UnitType, FromUnit, ToUnit, Value): UnitType = Simplify(UnitType) try: Converter = Converters[UnitType] except: raise InvalidUnitTypeError(UnitType) return Converter.Convert(FromUnit, ToUnit, Value)
:param MassUnits: unit of mass desired for output """ Density = convert("Density", DensityUnits, "kg/m^3", Density) #print "Density in kg/m^3", Density Volume = convert("Volume", VolUnits, "m^3", Volume) #print "Volume in m^3", Volume Mass = Volume * Density #print "Mass in kg", Mass Mass = convert("Mass", "kg", MassUnits, Mass) #print "Mass in %s"%MassUnits, Mass return Mass # create the converter objects Converters = {} for (unittype,data) in ConvertDataUnits.items(): if unittype.lower() == 'temperature': Converters["temperature"] = TempConverterClass(unittype, data) elif unittype.lower() == 'density': Converters["density"] = DensityConverterClass(unittype, data) else: Converters[Simplify(unittype)] = ConverterClass(unittype, data) def convert(UnitType, FromUnit, ToUnit, Value): """ Convert(FromUnit, ToUnit, Value) returns a new value, in the units of ToUnit. :param FromUnit: the unit the original value is in :param ToUnit: the unit you want the value converted to