Source code for bw2regional.validate

from bw2data.validate import maybe_uncertainty, valid_tuple
from voluptuous import Any, Invalid, Schema

[docs] _maybe_uncertainty = Schema(maybe_uncertainty)
[docs] _loading_value = Schema(Any(str, valid_tuple))
[docs] def uncertainty_list(obj): try: assert len(obj) == 2 assert isinstance(obj, list) _maybe_uncertainty(obj[0]) _loading_value(obj[1]) except: raise Invalid("%s is not a valid loading value" % obj) return obj
[docs] def float_as_last(obj): try: assert isinstance(obj, list) assert len(obj) == 3 assert isinstance(obj[2], (float, int)) except: raise Invalid("%s is not a valid intersection value" % obj) return obj
[docs] def xtable_data(obj): try: assert isinstance(obj, (tuple, list)) assert isinstance(obj[0], float) assert isinstance(obj[1][0], str) assert isinstance(obj[1][1], (str, int)) except: raise Invalid("%s is not a valid xtable value" % obj) return obj
[docs] loading_validator = Schema([uncertainty_list])
[docs] intersection_validator = Schema([float_as_last])
[docs] xtable_validator = Schema([xtable_data])