Skip to content

Commit f03b4be

Browse files
committed
refactor: implement __getitem__ magick method
1 parent 4f2033c commit f03b4be

File tree

15 files changed

+39
-39
lines changed

15 files changed

+39
-39
lines changed

examples/core-modify-scene.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
# +
6363
for sensor_i in my_scene.get().sensors:
6464
print(sensor_i) # Print instance data model
65-
print(speos.client.get_item(key=sensor_i.sensor_guid)) # Print template data model
65+
print(speos.client[sensor_i.sensor_guid]) # Print template data model
6666
print("\n")
6767
# -
6868

@@ -72,7 +72,7 @@
7272
for sensor_i in my_scene.get().sensors:
7373
if sensor_i.HasField("camera_properties"):
7474
print(sensor_i) # Print instance data model
75-
print(speos.client.get_item(key=sensor_i.sensor_guid)) # Print template data model
75+
print(speos.client[sensor_i.sensor_guid]) # Print template data model
7676
print("\n")
7777
# -
7878

@@ -104,7 +104,7 @@
104104
new_distortion_file = os.path.join(tests_data_path, os.path.join("CameraInputFiles", "CameraDistortion_150deg.OPTDistortion"))
105105

106106
# Retrieve SensorTemplateLink corresponding to camera_i_0.sensor_guid
107-
camera_t_0 = speos.client.get_item(camera_i_0.sensor_guid)
107+
camera_t_0 = speos.client[camera_i_0.sensor_guid]
108108
assert isinstance(camera_t_0, core.SensorTemplateLink)
109109

110110
# get() = retrieve datamodel corresponding to camera_t_0 from database

src/ansys/speos/core/client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ def jobs(self) -> JobStub:
290290
self._jobDB = JobStub(self._channel)
291291
return self._jobDB
292292

293-
def get_item(
293+
def __get_item__(
294294
self, key: str
295295
) -> Union[
296296
SOPTemplateLink,

src/ansys/speos/script/intensity.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ def __init__(
292292
self.set_cos(N=1) # By default will be lambertian (cos with N =1)
293293
else:
294294
# Retrieve IntensityTemplate
295-
self.intensity_template_link = speos_client.get_item(key=key)
295+
self.intensity_template_link = speos_client[key]
296296
self._intensity_template = self.intensity_template_link.get()
297297

298298
def set_library(self) -> Intensity.Library:

src/ansys/speos/script/opt_prop.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -413,9 +413,9 @@ def delete(self) -> OptProp:
413413
def _fill(self, mat_inst):
414414
self._unique_id = mat_inst.metadata["UniqueId"]
415415
self._material_instance = mat_inst
416-
self.vop_template_link = self._project.client.get_item(key=mat_inst.vop_guid)
416+
self.vop_template_link = self._project.client[mat_inst.vop_guid]
417417
if len(mat_inst.sop_guids) > 0:
418-
self.sop_template_link = self._project.client.get_item(key=mat_inst.sop_guids[0])
418+
self.sop_template_link = self._project.client[mat_inst.sop_guids[0]]
419419
else: # Specific case for ambient material
420420
self._sop_template = None
421421
self.reset()

src/ansys/speos/script/project.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -493,7 +493,7 @@ def _fill_bodies(self, body_guids: List[str], feat_host: Union[part.Part, part.P
493493
def _add_unique_ids(self):
494494
scene_data = self.scene_link.get()
495495

496-
root_part_link = self.client.get_item(key=scene_data.part_guid)
496+
root_part_link = self.client[scene_data.part_guid]
497497
root_part = root_part_link.get()
498498
update_rp = False
499499
for sub_part in root_part.parts:
@@ -527,7 +527,7 @@ def _fill_features(self):
527527

528528
scene_data = self.scene_link.get()
529529

530-
root_part_link = self.client.get_item(key=scene_data.part_guid)
530+
root_part_link = self.client[scene_data.part_guid]
531531
root_part_data = root_part_link.get()
532532
root_part_feats = self.find(name="", feature_type=part.Part)
533533
root_part_feat = None
@@ -547,7 +547,7 @@ def _fill_features(self):
547547
if sp.description.startswith("UniqueId_"):
548548
idx = sp.description.find("_")
549549
sp_feat._unique_id = sp.description[idx + 1 :]
550-
sp_feat.part_link = self.client.get_item(key=sp.part_guid)
550+
sp_feat.part_link = self.client[sp.part_guid]
551551
part_data = sp_feat.part_link.get()
552552
sp_feat._part_instance = sp
553553
sp_feat._part = part_data # instead of sp_feat.reset() - this avoid a useless read in server
@@ -577,7 +577,7 @@ def _fill_features(self):
577577
self._features.append(ssr_feat)
578578

579579
for sim_inst in scene_data.simulations:
580-
simulation_template_link = self.client.get_item(key=sim_inst.simulation_guid).get()
580+
simulation_template_link = self.client[sim_inst.simulation_guid].get()
581581
if simulation_template_link.HasField("direct_mc_simulation_template"):
582582
sim_feat = simulation.Direct(project=self, name=sim_inst.name, simulation_instance=sim_inst, default_values=False)
583583
elif simulation_template_link.HasField("inverse_mc_simulation_template"):
@@ -631,9 +631,9 @@ def local2absolute(local_vertice: np.ndarray, coordinates) -> np.ndarray:
631631
part_coordinate = part_coordinate_info
632632
part_mesh_info = None
633633
for body_idx, body_guid in enumerate(part_data.body_guids):
634-
body_item_data = self.client.get_item(body_guid).get()
634+
body_item_data = self.client[body_guid].get()
635635
for face_idx, face_guid in enumerate(body_item_data.face_guids):
636-
face_item_data = self.client.get_item(face_guid).get()
636+
face_item_data = self.client[face_guid].get()
637637
vertices = np.array(face_item_data.vertices)
638638
facets = np.array(face_item_data.facets)
639639
vertices = vertices.reshape(-1, 3)
@@ -668,12 +668,12 @@ def _create_preview(self, viz_args=None) -> pv.Plotter:
668668
viz_args = {}
669669
_preview_mesh = pv.PolyData()
670670
# Retrieve root part
671-
root_part_data = self.client.get_item(self.scene_link.get().part_guid).get()
671+
root_part_data = self.client[self.scene_link.get().part_guid].get()
672672

673673
# Loop on all sub parts to retrieve their mesh
674674
if len(root_part_data.parts) != 0:
675675
for part_idx, part_item in enumerate(root_part_data.parts):
676-
part_item_data = self.client.get_item(part_item.part_guid).get()
676+
part_item_data = self.client[part_item.part_guid].get()
677677
poly_data = self.__extract_part_mesh_info(part_data=part_item_data, part_coordinate_info=part_item.axis_system)
678678
if poly_data is not None:
679679
_preview_mesh = _preview_mesh.append_polydata(poly_data)

src/ansys/speos/script/proto_message_utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def _replace_guid_elt(speos_client: SpeosClient, json_dict: dict, ignore_simple_
5858
# If we are in the case of key "xxx_guid", with a guid non empty and that the key is not to ignore
5959
if k.endswith("_guid") and v != "" and k != ignore_simple_key:
6060
# Retrieve the item from db and transform it to dictionary
61-
new_v = protobuf_message_to_dict(message=speos_client.get_item(key=v).get())
61+
new_v = protobuf_message_to_dict(message=speos_client[v].get())
6262

6363
# This item can potentially have some "xxx_guid" fields to replace
6464
_replace_guid_elt(speos_client=speos_client, json_dict=new_v, ignore_simple_key=ignore_simple_key)
@@ -71,7 +71,7 @@ def _replace_guid_elt(speos_client: SpeosClient, json_dict: dict, ignore_simple_
7171
new_value_list = []
7272
for iv in v:
7373
# Retrieve the item from db and transform it to dictionary
74-
new_v = protobuf_message_to_dict(message=speos_client.get_item(key=iv).get())
74+
new_v = protobuf_message_to_dict(message=speos_client[iv].get())
7575

7676
# This item can potentially have some "xxx_guid" fields to replace
7777
_replace_guid_elt(speos_client=speos_client, json_dict=new_v, ignore_simple_key=ignore_simple_key)

src/ansys/speos/script/sensor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ def __init__(
8585
self._sensor_instance = core.Scene.SensorInstance(name=name, description=description, metadata=metadata)
8686
else:
8787
self._unique_id = sensor_instance.metadata["UniqueId"]
88-
self.sensor_template_link = self._project.client.get_item(key=sensor_instance.sensor_guid)
88+
self.sensor_template_link = self._project.client[sensor_instance.sensor_guid]
8989
# reset will fill _sensor_instance and _sensor_template from respectively project (using _unique_id) and sensor_template_link
9090
self.reset()
9191

src/ansys/speos/script/simulation.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ def __init__(
136136
self._simulation_instance = core.Scene.SimulationInstance(name=name, description=description, metadata=metadata)
137137
else:
138138
self._unique_id = simulation_instance.metadata["UniqueId"]
139-
self.simulation_template_link = self._project.client.get_item(key=simulation_instance.simulation_guid)
139+
self.simulation_template_link = self._project.client[simulation_instance.simulation_guid]
140140
self.reset()
141141

142142
# Create local Job
@@ -433,7 +433,7 @@ def delete(self) -> BaseSimulation:
433433
def _fill(self, sim_inst):
434434
self._unique_id = sim_inst.metadata["UniqueId"]
435435
self._simulation_instance = sim_inst
436-
self.simulation_template_link = self._project.client.get_item(key=sim_inst.simulation_guid)
436+
self.simulation_template_link = self._project.client[sim_inst.simulation_guid]
437437
self.reset()
438438

439439

src/ansys/speos/script/source.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def __init__(
8484
self._source_instance = core.Scene.SourceInstance(name=name, description=description, metadata=metadata)
8585
else:
8686
self._unique_id = source_instance.metadata["UniqueId"]
87-
self.source_template_link = self._project.client.get_item(key=source_instance.source_guid)
87+
self.source_template_link = self._project.client[source_instance.source_guid]
8888
self._reset()
8989

9090
class _Spectrum:
@@ -292,7 +292,7 @@ def _delete(self) -> BaseSource:
292292
def _fill(self, src_inst):
293293
self._unique_id = src_inst.metadata["UniqueId"]
294294
self._source_instance = src_inst
295-
self.source_template_link = self._project.client.get_item(key=src_inst.source_guid)
295+
self.source_template_link = self._project.client[src_inst.source_guid]
296296
self._reset()
297297

298298
def commit(self) -> BaseSource:

src/ansys/speos/script/spectrum.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def __init__(
6969
self.set_monochromatic() # By default will be monochromatic
7070
else:
7171
# Retrieve Spectrum
72-
self.spectrum_link = speos_client.get_item(key=key)
72+
self.spectrum_link = speos_client[key]
7373
self._spectrum = self.spectrum_link.get()
7474

7575
def set_monochromatic(self, wavelength: float = 555.0) -> Spectrum:

0 commit comments

Comments
 (0)