Example #1
0
 def test_to_from_json(self):
     """Test the json methods of the AnalysisPeriod."""
     ap = AnalysisPeriod(st_month=2)
     ap_json = ap.to_json()
     rebuilt_ap = AnalysisPeriod.from_json(ap_json)
     assert rebuilt_ap.st_month == 2
     assert rebuilt_ap.to_json() == ap_json
Example #2
0
    def from_json(cls, data):
        """Create a RunManager object from a dictionary
        Args:
            data: {
                epw_file: list of Typology objects
                district: dragonfly district disct
                epw_site_par: epw site parameter dict
                boundary_layer_par: boundary layer parameter dict
                analysis_period: ladybug analysis period dict
                sim_timestep: simulation timestep in seconds
            }
        """

        required_keys = ('epw_file', 'district')
        nullable_keys = ('epw_site_par', 'boundary_layer_par',
                         'analysis_period', 'sim_timestep')

        for key in required_keys:
            assert key in data.keys(), "{} is a required value".format(key)

        for key in nullable_keys:
            if key not in data:
                data[key] = None

        return cls(epw_file=data['epw_file'],
                   district=District.from_json(data['district']),
                   epw_site_par=RefEPWSitePar.from_json(data['epw_site_par']),
                   boundary_layer_par=BoundaryLayerPar.from_json(
                       data['boundary_layer_par']),
                   analysis_period=AnalysisPeriod.from_json(
                       data['analysis_period']),
                   sim_timestep=data['sim_timestep'])