resqpy 4.16.1__tar.gz → 4.16.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {resqpy-4.16.1 → resqpy-4.16.2}/PKG-INFO +1 -1
- {resqpy-4.16.1 → resqpy-4.16.2}/pyproject.toml +1 -1
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/__init__.py +1 -1
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/property/attribute_property_set.py +36 -3
- {resqpy-4.16.1 → resqpy-4.16.2}/LICENSE +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/README.md +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/crs.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/__init__.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_add_edges_per_column_property_array.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_add_faults.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_add_one_blocked_well_property.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_add_one_grid_property_array.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_add_single_cell_grid.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_add_wells_from_ascii_file.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_add_zone_by_layer_property.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_coarsened_grid.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_common.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_copy_grid.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_drape_to_surface.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_extract_box.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_extract_box_for_well.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_fault_throw_scaling.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_gather_ensemble.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_interpolated_grid.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_local_depth_adjustment.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_refined_grid.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_tilted_grid.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_unsplit_grid.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_zonal_grid.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_zone_layer_ranges_from_array.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/fault/__init__.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/fault/_gcs_functions.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/fault/_grid_connection_set.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid/__init__.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid/_cell_properties.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid/_connection_sets.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid/_create_grid_xml.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid/_defined_geometry.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid/_extract_functions.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid/_face_functions.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid/_faults.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid/_grid.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid/_grid_types.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid/_intervals_info.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid/_moved_functions.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid/_pillars.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid/_pixel_maps.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid/_points_functions.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid/_regular_grid.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid/_transmissibility.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid/_write_hdf5_from_caches.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid/_write_nexus_corp.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid/_xyz.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid_surface/__init__.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid_surface/_blocked_well_populate.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid_surface/_find_faces.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid_surface/_grid_skin.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid_surface/_grid_surface.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid_surface/_trajectory_intersects.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/grid_surface/grid_surface_cuda.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/lines/__init__.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/lines/_common.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/lines/_polyline.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/lines/_polyline_set.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/model/__init__.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/model/_catalogue.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/model/_context.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/model/_forestry.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/model/_grids.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/model/_hdf5.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/model/_model.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/model/_xml.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/multi_processing/__init__.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/multi_processing/_multiprocessing.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/multi_processing/wrappers/__init__.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/multi_processing/wrappers/blocked_well_mp.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/multi_processing/wrappers/grid_surface_mp.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/multi_processing/wrappers/mesh_mp.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/__init__.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/ab_toolbox.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/base.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/box_utilities.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/class_dict.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/consolidation.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/data/build.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/data/properties.json +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/dataframe.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/exceptions.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/factors.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/fine_coarse.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/grid_functions.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/intersection.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/keyword_files.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/load_data.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/point_inclusion.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/random_seed.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/read_nexus_fault.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/relperm.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/simple_lines.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/time.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/trademark.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/transmission.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/triangulation.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/uuid.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/vdb.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/vector_utilities.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/volume.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/wellspec_keywords.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/write_data.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/write_hdf5.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/xml_et.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/xml_namespaces.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/olio/zmap_reader.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/__init__.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/_utils.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/boundary_feature.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/boundary_feature_interpretation.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/earth_model_interpretation.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/fault_interpretation.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/fluid_boundary_feature.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/frontier_feature.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/generic_interpretation.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/genetic_boundary_feature.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/geobody_boundary_interpretation.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/geobody_feature.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/geobody_interpretation.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/geologic_unit_feature.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/horizon_interpretation.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/organization_feature.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/rock_fluid_unit_feature.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/structural_organization_interpretation.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/tectonic_boundary_feature.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/wellbore_feature.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/organize/wellbore_interpretation.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/property/__init__.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/property/_collection_add_part.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/property/_collection_create_xml.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/property/_collection_get_attributes.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/property/_collection_support.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/property/_property.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/property/grid_property_collection.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/property/property_collection.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/property/property_common.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/property/property_kind.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/property/string_lookup.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/property/well_interval_property.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/property/well_interval_property_collection.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/property/well_log.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/property/well_log_collection.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/rq_import/__init__.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/rq_import/_add_ab_properties.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/rq_import/_add_surfaces.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/rq_import/_grid_from_cp.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/rq_import/_import_nexus.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/rq_import/_import_vdb_all_grids.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/rq_import/_import_vdb_ensemble.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/strata/__init__.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/strata/_binary_contact_interpretation.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/strata/_geologic_unit_interpretation.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/strata/_strata_common.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/strata/_stratigraphic_column.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/strata/_stratigraphic_column_rank.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/strata/_stratigraphic_unit_feature.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/strata/_stratigraphic_unit_interpretation.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/surface/__init__.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/surface/_base_surface.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/surface/_combined_surface.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/surface/_mesh.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/surface/_pointset.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/surface/_surface.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/surface/_tri_mesh.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/surface/_tri_mesh_stencil.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/surface/_triangulated_patch.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/time_series/__init__.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/time_series/_any_time_series.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/time_series/_from_nexus_summary.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/time_series/_functions.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/time_series/_geologic_time_series.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/time_series/_time_duration.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/time_series/_time_series.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/unstructured/__init__.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/unstructured/_hexa_grid.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/unstructured/_prism_grid.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/unstructured/_pyramid_grid.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/unstructured/_tetra_grid.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/unstructured/_unstructured_grid.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/weights_and_measures/__init__.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/weights_and_measures/nexus_units.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/weights_and_measures/weights_and_measures.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/well/__init__.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/well/_blocked_well.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/well/_deviation_survey.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/well/_md_datum.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/well/_trajectory.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/well/_wellbore_frame.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/well/_wellbore_marker.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/well/_wellbore_marker_frame.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/well/blocked_well_frame.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/well/well_object_funcs.py +0 -0
- {resqpy-4.16.1 → resqpy-4.16.2}/resqpy/well/well_utils.py +0 -0
@@ -183,7 +183,14 @@ class ApsProperty:
|
|
183
183
|
class AttributePropertySet(rqp.PropertyCollection):
|
184
184
|
"""Class for set of RESQML properties for any supporting representation, using attribute syntax."""
|
185
185
|
|
186
|
-
def __init__(self,
|
186
|
+
def __init__(self,
|
187
|
+
model = None,
|
188
|
+
support = None,
|
189
|
+
property_set_uuid = None,
|
190
|
+
realization = None,
|
191
|
+
key_mode = 'pk',
|
192
|
+
indexable = None,
|
193
|
+
multiple_handling = 'warn'):
|
187
194
|
"""Initialise an empty property set, optionally populate properties from a supporting representation.
|
188
195
|
|
189
196
|
arguments:
|
@@ -198,6 +205,11 @@ class AttributePropertySet(rqp.PropertyCollection):
|
|
198
205
|
if None, then the collection is either covering a whole ensemble (individual properties can each be flagged with a
|
199
206
|
realisation number), or is for properties that do not have multiple realizations
|
200
207
|
key_mode (str, default 'pk'): either 'pk' (for property kind) or 'title', identifying the basis of property attribute keys
|
208
|
+
indexable (str, optional): if present and key_mode is 'pk', properties with indexable element other than this will
|
209
|
+
have their indexable element included in their key
|
210
|
+
multiple_handling (str, default 'warn'): either 'ignore', 'warn' ,or 'exception'; if 'warn' or 'ignore', and properties
|
211
|
+
exist that generate the same key, then only the first is visible in the attribute property set (and a warning is given
|
212
|
+
for each of the others in the case of 'warn'); if 'exception', a KeyError is raised if there are any duplicate keys
|
201
213
|
|
202
214
|
note:
|
203
215
|
at present, if the collection is being initialised from a property set, the support argument must also be specified;
|
@@ -214,9 +226,12 @@ class AttributePropertySet(rqp.PropertyCollection):
|
|
214
226
|
property_set_root = None
|
215
227
|
else:
|
216
228
|
property_set_root = model.root_for_uuid(property_set_uuid)
|
229
|
+
assert multiple_handling in ['ignore', 'warn', 'exception']
|
217
230
|
|
218
231
|
super().__init__(support = support, property_set_root = property_set_root, realization = realization)
|
219
232
|
self.key_mode = key_mode
|
233
|
+
self.indexable_mode = indexable
|
234
|
+
self.multiple_handling = multiple_handling
|
220
235
|
self._make_attributes()
|
221
236
|
|
222
237
|
def keys(self):
|
@@ -241,12 +256,21 @@ class AttributePropertySet(rqp.PropertyCollection):
|
|
241
256
|
title = self.citation_title_for_part(part),
|
242
257
|
facet = self.facet_for_part(part),
|
243
258
|
time_index = self.time_index_for_part(part),
|
244
|
-
realization = self.realization_for_part(part)
|
259
|
+
realization = self.realization_for_part(part),
|
260
|
+
indexable_mode = self.indexable_mode,
|
261
|
+
indexable = self.indexable_for_part(part))
|
245
262
|
|
246
263
|
def _make_attributes(self):
|
247
264
|
"""Setup individual properties with attribute style read access to metadata."""
|
248
265
|
for part in self.parts():
|
249
266
|
key = self._key(part)
|
267
|
+
if getattr(self, key, None) is not None:
|
268
|
+
if self.multiple_handling == 'warn':
|
269
|
+
log.warning(f'duplicate key in AttributePropertySet; only first instance included: {key}')
|
270
|
+
continue
|
271
|
+
if self.multiple_handling == 'ignore':
|
272
|
+
continue
|
273
|
+
raise KeyError(f'duplicate key in attribute property set: {key}')
|
250
274
|
aps_property = ApsProperty(self, part)
|
251
275
|
setattr(self, key, aps_property)
|
252
276
|
|
@@ -255,11 +279,20 @@ class AttributePropertySet(rqp.PropertyCollection):
|
|
255
279
|
return self.number_of_parts()
|
256
280
|
|
257
281
|
|
258
|
-
def make_aps_key(key_mode,
|
282
|
+
def make_aps_key(key_mode,
|
283
|
+
property_kind = None,
|
284
|
+
title = None,
|
285
|
+
facet = None,
|
286
|
+
time_index = None,
|
287
|
+
realization = None,
|
288
|
+
indexable_mode = None,
|
289
|
+
indexable = None):
|
259
290
|
"""Contructs the key (attribute name) for a property based on metadata items."""
|
260
291
|
if key_mode == 'pk':
|
261
292
|
assert property_kind is not None
|
262
293
|
key = property_kind
|
294
|
+
if indexable_mode is not None and indexable is not None and indexable != indexable_mode:
|
295
|
+
key += f'_{indexable}'
|
263
296
|
if facet is not None:
|
264
297
|
key += f'_{facet}'
|
265
298
|
else:
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{resqpy-4.16.1 → resqpy-4.16.2}/resqpy/derived_model/_add_edges_per_column_property_array.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|