Source code for honeybee_doe2.properties.model

# coding=utf-8
"""Model DOE-2 Properties."""


[docs]class ModelDoe2Properties(object): """DOE-2 Properties for Honeybee Model. Args: host: A honeybee_core Model object that hosts these properties. Properties: * host """ def __init__(self, host): """Initialize ModelDoe2Properties.""" self._host = host @property def host(self): """Get the Model object hosting these properties.""" return self._host
[docs] def to_dict(self): """Return Model DOE-2 properties as a dictionary.""" return {'doe2': {'type': 'ModelDoe2Properties'}}
[docs] def apply_properties_from_dict(self, data): """Apply the energy properties of a dictionary to the host Model of this object. Args: data: A dictionary representation of an entire honeybee-core Model. Note that this dictionary must have ModelEnergyProperties in order for this method to successfully apply the energy properties. """ assert 'doe2' in data['properties'], \ 'Dictionary possesses no ModelDoe2Properties.' room_doe2_dicts = [] if 'rooms' in data and data['rooms'] is not None: for room_dict in data['rooms']: try: room_doe2_dicts.append(room_dict['properties']['doe2']) except KeyError: room_doe2_dicts.append(None) for room, r_dict in zip(self.host.rooms, room_doe2_dicts): if r_dict is not None: room.properties.doe2.apply_properties_from_dict(r_dict)
[docs] def ToString(self): return self.__repr__()
def __repr__(self): return 'Model DOE2 Properties: [host: {}]'.format(self.host.display_name)