Module olca.units
Expand source code
import csv
import os.path as path
from typing import Optional
import olca
_unit_refs = None
_group_refs = None
_prop_refs = None
def _init():
global _unit_refs, _group_refs, _prop_refs
_unit_refs = {}
_group_refs = {}
_prop_refs = {}
fpath = path.join(path.dirname(__file__), 'units.csv')
with open(fpath, 'r', encoding='utf-8') as f:
r = csv.reader(f)
next(r)
for row in r:
unit = row[0]
_unit_refs[unit] = olca.ref(olca.Unit, row[1], unit)
_group_refs[unit] = olca.ref(olca.UnitGroup, row[3], row[2])
_prop_refs[unit] = olca.ref(olca.FlowProperty, row[5], row[4])
def unit_ref(symbol: str) -> Optional[olca.Ref]:
"""Get the unit reference (an instance of olca.Ref) for the given unit
symbol (a string like 'kg'). Returns `None` if the given unit is
unknown."""
if _unit_refs is None:
_init()
return _unit_refs.get(symbol)
def group_ref(symbol: str) -> Optional[olca.Ref]:
"""Get the unit group reference (an instance of olca.Ref) for the given
unit symbol (a string like 'kg'). Returns `None` if the given unit is
unknown."""
if _group_refs is None:
_init()
return _group_refs.get(symbol)
def property_ref(symbol: str) -> Optional[olca.Ref]:
"""Get the reference (an instance of olca.Ref) to the default flow property
(quantity) for the given unit symbol (a string like 'kg'). Returns
`None` if the given unit is unknown."""
if _prop_refs is None:
_init()
return _prop_refs.get(symbol)
Functions
def group_ref(symbol: str) ‑> Optional[Ref]
-
Get the unit group reference (an instance of olca.Ref) for the given unit symbol (a string like 'kg'). Returns
None
if the given unit is unknown.Expand source code
def group_ref(symbol: str) -> Optional[olca.Ref]: """Get the unit group reference (an instance of olca.Ref) for the given unit symbol (a string like 'kg'). Returns `None` if the given unit is unknown.""" if _group_refs is None: _init() return _group_refs.get(symbol)
def property_ref(symbol: str) ‑> Optional[Ref]
-
Get the reference (an instance of olca.Ref) to the default flow property (quantity) for the given unit symbol (a string like 'kg'). Returns
None
if the given unit is unknown.Expand source code
def property_ref(symbol: str) -> Optional[olca.Ref]: """Get the reference (an instance of olca.Ref) to the default flow property (quantity) for the given unit symbol (a string like 'kg'). Returns `None` if the given unit is unknown.""" if _prop_refs is None: _init() return _prop_refs.get(symbol)
def unit_ref(symbol: str) ‑> Optional[Ref]
-
Get the unit reference (an instance of olca.Ref) for the given unit symbol (a string like 'kg'). Returns
None
if the given unit is unknown.Expand source code
def unit_ref(symbol: str) -> Optional[olca.Ref]: """Get the unit reference (an instance of olca.Ref) for the given unit symbol (a string like 'kg'). Returns `None` if the given unit is unknown.""" if _unit_refs is None: _init() return _unit_refs.get(symbol)