fmu-manipulation-toolbox 1.8.2.2__py3-none-any.whl → 1.8.3__py3-none-any.whl

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.
@@ -1 +1 @@
1
- 'V1.8.2.2'
1
+ 'V1.8.3'
@@ -146,7 +146,7 @@ class ContainerPort:
146
146
  return f"Port {self.fmu.name}/{self.port.name}"
147
147
 
148
148
  def __hash__(self):
149
- return hash(f"{self.fmu.name}/{self.port.name}")
149
+ return hash("{self.fmu.name}/{self.port.name}")
150
150
 
151
151
  def __eq__(self, other):
152
152
  return str(self) == str(other)
@@ -300,13 +300,14 @@ class FMUContainer:
300
300
 
301
301
  self.start_values[cport] = value
302
302
 
303
- def find_input(self, port_to_connect: FMUPort) -> Optional[ContainerPort]:
303
+ def find_inputs(self, port_to_connect: FMUPort) -> List[ContainerPort]:
304
+ candidates = []
304
305
  for fmu in self.execution_order:
305
306
  for port in fmu.ports.values():
306
307
  if (port.causality == 'input' and port.name == port_to_connect.name
307
308
  and port.type_name == port_to_connect.type_name):
308
- return ContainerPort(fmu, port.name)
309
- return None
309
+ candidates.append(ContainerPort(fmu, port.name))
310
+ return candidates
310
311
 
311
312
  def add_implicit_rule(self, auto_input=True, auto_output=True, auto_link=True, auto_parameter=False,
312
313
  auto_local=False):
@@ -321,14 +322,14 @@ class FMUContainer:
321
322
  self.inputs[parameter_name] = cport
322
323
  self.mark_ruled(cport, 'PARAMETER')
323
324
  elif cport.port.causality == 'output':
324
- candidate_cport = self.find_input(cport.port)
325
- if auto_link and candidate_cport:
326
- local = Local(cport)
327
- local.add_target(candidate_cport)
328
- logger.info(f"AUTO LINK: {cport} -> {candidate_cport}")
325
+ candidates_cport_list = self.find_inputs(cport.port)
326
+ if auto_link and candidates_cport_list:
327
+ self.locals[cport] = Local(cport)
329
328
  self.mark_ruled(cport, 'LINK')
330
- self.mark_ruled(candidate_cport, 'LINK')
331
- self.locals[cport] = local
329
+ for candidate_cport in candidates_cport_list:
330
+ self.locals[cport].add_target(candidate_cport)
331
+ self.mark_ruled(candidate_cport, 'LINK')
332
+ logger.info(f"AUTO LINK: {cport} -> {candidate_cport}")
332
333
  elif auto_output:
333
334
  self.mark_ruled(cport, 'OUTPUT')
334
335
  self.outputs[port_name] = cport
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmu_manipulation_toolbox
3
- Version: 1.8.2.2
3
+ Version: 1.8.3
4
4
  Summary: FMU Manipulation Toobox is a python application which help to modify a Functional Mock-up Units (FMUs) without recompilation or to group them into FMU Containers
5
5
  Home-page: https://github.com/grouperenault/fmu_manipulation_toolbox/
6
6
  Author: Nicolas.LAURENT@Renault.com
@@ -1,10 +1,10 @@
1
1
  fmu_manipulation_toolbox/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
2
2
  fmu_manipulation_toolbox/__main__.py,sha256=mAzrtkil506DS0F3g3CEbHdtZsZotzntcNhIn_lNJkw,344
3
- fmu_manipulation_toolbox/__version__.py,sha256=ZmwMmmqLfOucUilq7TffGXkEyo_UIsEcgO0NvL9PaIA,11
3
+ fmu_manipulation_toolbox/__version__.py,sha256=8C5Hk6kSlcHowaFN8G9Y4v7KCSKcDnapqlpRI783z-k,9
4
4
  fmu_manipulation_toolbox/assembly.py,sha256=pAAE_eWPfD-8BzZ7gvaHARhQt4-IV2jVvsMnJXeAtLI,25541
5
5
  fmu_manipulation_toolbox/checker.py,sha256=lE2MpH4BAKCDjUvbr06N56u7ao8hWXaJgMKaLvmhFTQ,2272
6
6
  fmu_manipulation_toolbox/cli.py,sha256=2p5T1qp7kTcMlScwmvXyUfEmAIGSJsld96ObY216QMA,10616
7
- fmu_manipulation_toolbox/fmu_container.py,sha256=n_PBIpB_8vUKtEUKjXSDelreW_cu7HZrhP_nouyE80s,28927
7
+ fmu_manipulation_toolbox/fmu_container.py,sha256=1aUFobeZ1Oww_T9Vt0Aw563A-sNS0xTePq27l1q1Ae4,29035
8
8
  fmu_manipulation_toolbox/fmu_operations.py,sha256=WE-lCNNOYr3pakMkwzpsp_lBhb2P4s7Ez5HnxQLbVdk,15814
9
9
  fmu_manipulation_toolbox/gui.py,sha256=bGG4iPddGsT4tLBv1zjSpbIkyctHVfbRt0kGxdTTrTc,29219
10
10
  fmu_manipulation_toolbox/gui_style.py,sha256=jjDhzSw5hu_6-bOOhsvI_MxQZOqt9SjpKK6T83Gubr4,2926
@@ -39,14 +39,14 @@ fmu_manipulation_toolbox/resources/linux32/server_sm,sha256=1TLGqNPyM5UVOrCfzNqW
39
39
  fmu_manipulation_toolbox/resources/linux64/client_sm.so,sha256=EhY1XHo1YcQn6yqZ7wk5okqtZyp0MrcCsGcudqE-aIM,37000
40
40
  fmu_manipulation_toolbox/resources/linux64/container.so,sha256=BUOjgUqczpPVqVJYDUTiAGfEedk5NNwb_LAJ3fBo6_8,46080
41
41
  fmu_manipulation_toolbox/resources/linux64/server_sm,sha256=ulfoPvmaYe9nInYcVEyj7mD9zDzGk56OUoWx1mPKLiE,22768
42
- fmu_manipulation_toolbox/resources/win32/client_sm.dll,sha256=9SIR_sMWsQoFcTXA4LnLhc2DZurXq8bXM0NydxVoZBY,17920
43
- fmu_manipulation_toolbox/resources/win32/server_sm.exe,sha256=p6J_w56qDlortkzGQeYBgPHlOU8l5Ojchi08tcbvEb4,15872
44
- fmu_manipulation_toolbox/resources/win64/client_sm.dll,sha256=aoT6FYurl8VUPedAbzUdNhcB60p7TPaIdfcA2U8UQ28,22016
45
- fmu_manipulation_toolbox/resources/win64/container.dll,sha256=xMTPDvfBhlSHHuPafX-6opHancrhChIpWqfUDmczNhQ,37888
46
- fmu_manipulation_toolbox/resources/win64/server_sm.exe,sha256=ultqGaqnF1m58BqkMJuv_FLksYtVHTFyZKTC8DCt5Bc,19456
47
- fmu_manipulation_toolbox-1.8.2.2.dist-info/licenses/LICENSE.txt,sha256=c_862mzyk6ownO3Gt6cVs0-53IXLi_-ZEQFNDVabESw,1285
48
- fmu_manipulation_toolbox-1.8.2.2.dist-info/METADATA,sha256=RxqQOa8BudLur3X7aHCXTJ9Q7kg_iszk-WCtYHX-gtU,1087
49
- fmu_manipulation_toolbox-1.8.2.2.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
50
- fmu_manipulation_toolbox-1.8.2.2.dist-info/entry_points.txt,sha256=jCPLMBdS-eOvmRfDv7n0wHZSbJHccHviW03mz5vwO-Q,124
51
- fmu_manipulation_toolbox-1.8.2.2.dist-info/top_level.txt,sha256=9D_h-5BMjSqf9z-XFkbJL_bMppR2XNYW3WNuPkXou0k,25
52
- fmu_manipulation_toolbox-1.8.2.2.dist-info/RECORD,,
42
+ fmu_manipulation_toolbox/resources/win32/client_sm.dll,sha256=BdnHqp3jEsIYg2M4Yik0t6SnJDdfVlFRM5rkqr0k-DU,17920
43
+ fmu_manipulation_toolbox/resources/win32/server_sm.exe,sha256=06RaspVClqARD14I0Dzqymn_8NN9apuqGvp4bBjVShI,15872
44
+ fmu_manipulation_toolbox/resources/win64/client_sm.dll,sha256=iIaGJ9-kgMeIf4miVhbPITfPXJqwaN73Zg_MDCXXch0,22016
45
+ fmu_manipulation_toolbox/resources/win64/container.dll,sha256=jcDy5KlUejrYcBTKUysP1se7-5IsnM7TXmOUQKtXfxU,37888
46
+ fmu_manipulation_toolbox/resources/win64/server_sm.exe,sha256=_2AURMGJAME0vX0A2N_a_DUylFOH4IJOCQz_PU58Huk,19456
47
+ fmu_manipulation_toolbox-1.8.3.dist-info/licenses/LICENSE.txt,sha256=c_862mzyk6ownO3Gt6cVs0-53IXLi_-ZEQFNDVabESw,1285
48
+ fmu_manipulation_toolbox-1.8.3.dist-info/METADATA,sha256=_3d_22q1-T63JB2NEO7N4dzDzHJUZZAPNHPH2PHBc6o,1085
49
+ fmu_manipulation_toolbox-1.8.3.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
50
+ fmu_manipulation_toolbox-1.8.3.dist-info/entry_points.txt,sha256=jCPLMBdS-eOvmRfDv7n0wHZSbJHccHviW03mz5vwO-Q,124
51
+ fmu_manipulation_toolbox-1.8.3.dist-info/top_level.txt,sha256=9D_h-5BMjSqf9z-XFkbJL_bMppR2XNYW3WNuPkXou0k,25
52
+ fmu_manipulation_toolbox-1.8.3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (77.0.3)
2
+ Generator: setuptools (78.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5