def get_type(self, record: shapefile._Record):
     record_dict = record.as_dict()
     for key, value in record_dict.items():
         if 'type' == key.lower():
             for esdl_type in esdl.eClassifiers:
                 t: EClass = esdl.getEClassifier(esdl_type).eClass
                 if esdl.EnergyAsset.eClass in t.eAllSuperTypes():
                     # print('checking', esdl_type)
                     if value.lower() in esdl_type.lower():
                         print('Using {} as type for this shape'.format(
                             esdl_type))
                         return esdl.getEClassifier(esdl_type)
     return esdl.GenericProducer
Example #2
0
    def categorize_object_attributes_and_references(self, object, attributes,
                                                    references):
        attr_dict = {attr['name']: attr for attr in attributes}
        ref_dict = {ref['name']: ref for ref in references}
        view_mode = get_session('mapeditor_view_mode')

        this_view_mode_config = view_modes_config[view_mode]

        categorized_list = dict()
        for key in this_view_mode_config:
            categorized_list[key] = list()

            for objtype in this_view_mode_config[key]:
                if isinstance(object, esdl.getEClassifier(objtype)):
                    for feature in this_view_mode_config[key][objtype]:
                        if feature in attr_dict:
                            attr_info = deepcopy(attr_dict[feature])
                            del attr_dict[feature]
                            categorized_list[key].append(attr_info)
                        elif feature in ref_dict:
                            ref_info = deepcopy(ref_dict[feature])
                            del ref_dict[feature]
                            categorized_list[key].append(ref_info)

        categorized_list['Advanced'] = list()
        for feature in attr_dict:
            attr_info = deepcopy(attr_dict[feature])
            categorized_list['Advanced'].append(attr_info)
        for feature in ref_dict:
            attr_info = deepcopy(ref_dict[feature])
            categorized_list['Advanced'].append(attr_info)

        return categorized_list
Example #3
0
    def get_esdl_objects_of_type(self, asset_type):
        asset_list = list()
        active_es_id = get_session('active_es_id')
        esh = get_handler()
        es = esh.get_energy_system(active_es_id)

        # module = importlib.import_module('esdl.esdl')
        # esdl_asset_class = getattr(module, asset_type)

        for asset in es.instance[0].area.asset:
            if isinstance(asset, esdl.getEClassifier(asset_type)):
                asset_list.append(asset)

        return asset_list