Source code for dragonfly_energy.opendss.lib.wires
"""Library of wires that come standard with dragonfly."""
import os
import json
from ..wire import Wire
# load the  defaults
_wires = {}
_data_path = os.path.join(os.path.dirname(__file__), 'extended_catalog.json')
with open(_data_path) as json_file:
    _default_data = json.load(json_file)['WIRES']['WIRES CATALOG']
for _t_dict in _default_data:
    _t_obj = Wire.from_electrical_database_dict(_t_dict)
    _t_obj.lock()
    _wires[_t_dict['nameclass']] = _t_obj
WIRES = tuple(_wires.keys())
[docs]
def wire_by_identifier(wire_identifier):
    """Get wire properties from the library given the identifier.
    Args:
        wire_identifier: A text string for the identifier of the wire.
    """
    try:
        return _wires[wire_identifier]
    except KeyError:
        raise ValueError(
            '"{}" was not found in the wire library.'.format(wire_identifier))