NaxToPy 1.5.1__tar.gz → 1.5.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.
Files changed (50) hide show
  1. {NaxToPy-1.5.1/src/NaxToPy.egg-info → NaxToPy-1.5.2}/PKG-INFO +6 -1
  2. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/README.md +5 -0
  3. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/pyproject.toml +1 -1
  4. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Constants/Constants.py +1 -1
  5. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Reference_Finder/__Reference_Finder.py +52 -18
  6. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Modules/N2PtoEXE/N2PtoEXE.py +16 -5
  7. {NaxToPy-1.5.1 → NaxToPy-1.5.2/src/NaxToPy.egg-info}/PKG-INFO +6 -1
  8. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/LICENSE +0 -0
  9. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/setup.cfg +0 -0
  10. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/setup.py +0 -0
  11. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Classes/AllClasses.py +0 -0
  12. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Classes/N2PComponent.py +0 -0
  13. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Classes/N2PConnector.py +0 -0
  14. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Classes/N2PCoord.py +0 -0
  15. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Classes/N2PElement.py +0 -0
  16. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Classes/N2PFreeBody.py +0 -0
  17. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Classes/N2PIncrement.py +0 -0
  18. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Classes/N2PLoadCase.py +0 -0
  19. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Classes/N2PMaterial.py +0 -0
  20. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Classes/N2PModelInputData.py +0 -0
  21. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Classes/N2PNode.py +0 -0
  22. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Classes/N2PProperty.py +0 -0
  23. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Classes/N2PReport.py +0 -0
  24. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Classes/N2PResult.py +0 -0
  25. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Classes/N2PSection.py +0 -0
  26. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Classes/N2PSet.py +0 -0
  27. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Classes/ProgresBar.py +0 -0
  28. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Classes/__init__.py +0 -0
  29. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Constants/__init__.py +0 -0
  30. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Constants/librerias.py +0 -0
  31. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Errors/N2PColors.py +0 -0
  32. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Errors/N2PFileHandler.py +0 -0
  33. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Errors/N2PLog.py +0 -0
  34. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Errors/__init__.py +0 -0
  35. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/N2PModelContent.py +0 -0
  36. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/Reference_Finder/__init__.py +0 -0
  37. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/_AuxFunc/_NetToPython.py +0 -0
  38. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/_AuxFunc/__init__.py +0 -0
  39. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Core/__init__.py +0 -0
  40. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Modules/N2PEnvelope/N2PEnvelope.py +0 -0
  41. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Modules/N2PEnvelope/__init__.py +0 -0
  42. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Modules/N2PtoEXE/__init__.py +0 -0
  43. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/Modules/__init__.py +0 -0
  44. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/NaxToPy.ico +0 -0
  45. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/__init__.py +0 -0
  46. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy/user_functions.txt +0 -0
  47. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy.egg-info/SOURCES.txt +0 -0
  48. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy.egg-info/dependency_links.txt +0 -0
  49. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy.egg-info/requires.txt +0 -0
  50. {NaxToPy-1.5.1 → NaxToPy-1.5.2}/src/NaxToPy.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: NaxToPy
3
- Version: 1.5.1
3
+ Version: 1.5.2
4
4
  Summary: Package for postprocessing FEM results in Python
5
5
  Home-page: https://www.idaerosolutions.com/Home/NaxToPy
6
6
  Download-URL: https://apps.microsoft.com/detail/XP9MMH0KDKGRJN?hl=en-US&gl=US
@@ -232,6 +232,11 @@ To see previous version see the pre-release versions in https://test.pypi.org/pr
232
232
  1. Bug Fix. If the name for a derivated load case is repeated for a second time, the name is changed.
233
233
  2. Bug Fix. Now is possible to change the criteria for a new envelope load case.
234
234
 
235
+ ### v1.5.2
236
+ 1. Bug fix: A bug has been resolved that previously prevented the generation of a .log file while executing the N2PtoEXE module.
237
+ 2. Bug fix: An internal error related to finding the libraries has been resolved.
238
+ 3. The option to include a splash image in an executable has been added.
239
+
235
240
  # Documentation
236
241
 
237
242
  **NaxToPy** is a package developed by Idaero Solutions© as a part of the **NaxTo** software.
@@ -108,6 +108,11 @@ To see previous version see the pre-release versions in https://test.pypi.org/pr
108
108
  1. Bug Fix. If the name for a derivated load case is repeated for a second time, the name is changed.
109
109
  2. Bug Fix. Now is possible to change the criteria for a new envelope load case.
110
110
 
111
+ ### v1.5.2
112
+ 1. Bug fix: A bug has been resolved that previously prevented the generation of a .log file while executing the N2PtoEXE module.
113
+ 2. Bug fix: An internal error related to finding the libraries has been resolved.
114
+ 3. The option to include a splash image in an executable has been added.
115
+
111
116
  # Documentation
112
117
 
113
118
  **NaxToPy** is a package developed by Idaero Solutions© as a part of the **NaxTo** software.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "NaxToPy"
7
- version = "1.5.1"
7
+ version = "1.5.2"
8
8
  license = {file = "LICENSE"}
9
9
  authors = [ { name = "Idaero Solutions", email = "manuel.sanchez@idaerosolutions.com" }, ]
10
10
  requires-python = ">=3.9"
@@ -1,7 +1,7 @@
1
1
  """Constants of the NaxToPy package"""
2
2
 
3
3
  # NaxToPy Version
4
- VERSION = "1.5.0"
4
+ VERSION = "1.5.2"
5
5
 
6
6
  # Supported for Naxto:
7
7
  NAXTO_VERSION = '2024R0'
@@ -24,11 +24,11 @@ def py_ver_comp() -> None:
24
24
  def vizzer_libs() -> list[str, ...]:
25
25
  """Funcion que devuelve las rutas donde se encuentran las librerias de VizzerClasses. Si hay varias versiones
26
26
  puede haber varias rutas.
27
+
27
28
  ----------
28
29
  Returns:
29
30
  vizzer_libs: str
30
31
  Ruta a las librerias de NaxTo
31
- ----------
32
32
  """
33
33
  vizzer_libs = []
34
34
 
@@ -67,7 +67,7 @@ def vizzer_libs() -> list[str, ...]:
67
67
 
68
68
  # ---------------------------------------------------------------------------------------------
69
69
  def open_idaero_key() -> winreg.HKEYType:
70
- """Returns the Windows Register Key for the IDAERO software (NAXTOVIEW)
70
+ """Returns the Windows Register Key for the IDAERO software (NAXTOVIEW) in CURRENT_USER
71
71
 
72
72
  Returns:
73
73
  naxto_key: winreg.HKEYType
@@ -85,35 +85,57 @@ def open_idaero_key() -> winreg.HKEYType:
85
85
  return naxto_key
86
86
 
87
87
 
88
+ def open_localmachine_key() -> winreg.HKEYType:
89
+ """Returns the Windows Register Key for the IDAERO software (NAXTOVIEW) in LOCAL_MACHINE
90
+
91
+ Returns:
92
+ naxto_key: winreg.HKEYType
93
+
94
+ """
95
+ reg_path = r"SOFTWARE\IDAERO"
96
+
97
+ # Se crea o se abre la clave LOCAL_MACHINE\SOFTWARE\IDAERO\NAXTOVIEW_202XRY donde X e Y serán los que corresponda
98
+ naxto_key = winreg.CreateKey(winreg.HKEY_LOCAL_MACHINE, reg_path + r"\NAXTOVIEW_" + NAXTO_VERSION)
99
+
100
+ # Se devuelve la clave de NAXTOVIEW que es donde se busca el valor Path
101
+ return naxto_key
88
102
  # ---------------------------------------------------------------------------------------------
89
- def change_register() -> None:
90
- """Function that changes or create a path variable in the register.
103
+
104
+
105
+ def create_register() -> None:
106
+ """Function that creates a path variable in the register.
91
107
 
92
108
  By default, NaxToPy uses the NaxTo that is installed. If NaxToPy from .exe or from developer is used, the register
93
- don't have the path variable, it must be created at Software/Idaero/NaxToView
109
+ don't have the path variable, and NaxTo is not installed it must be created at Software/Idaero/NaxToView
94
110
 
95
111
  Returns:
96
112
  None.
97
113
  """
98
114
  try:
99
115
  naxto_key = open_idaero_key()
100
-
101
- # La ruta que vamos a meter es la de la carpeta en la que esta una carpeta llamada bin. En ella
102
- # estan las bibliotecas de NaxTo. Debe funcionar esta carpeta para los ejecutables y para las
103
- # versiones de desarrollo. En las salidas normales este path no debe estar.
104
- naxtopy_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))
105
-
106
- winreg.SetValueEx(naxto_key, "Path", 0, winreg.REG_SZ, naxtopy_path + "\\")
107
-
108
- N2PLog.Warning.W102(naxtopy_path)
116
+ try:
117
+ path = winreg.QueryValueEx(naxto_key, "Path")
118
+
119
+ except FileNotFoundError:
120
+ try:
121
+ naxto_machine = open_localmachine_key()
122
+ path = winreg.QueryValueEx(naxto_machine, "Path")
123
+ except:
124
+ path = ""
125
+
126
+ if not path:
127
+ # La ruta que vamos a meter es la de la carpeta en la que esta una carpeta llamada bin. En ella
128
+ # estan las bibliotecas de NaxTo. Debe funcionar esta carpeta para los ejecutables y para las
129
+ # versiones de desarrollo. En las salidas normales este path no debe estar.
130
+ naxtopy_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))
131
+ winreg.SetValueEx(naxto_key, "Path", 0, winreg.REG_SZ, naxtopy_path + "\\")
132
+ N2PLog.Warning.W102(naxtopy_path)
109
133
 
110
134
  except Exception as e:
111
-
112
135
  N2PLog.Error.E112(e)
113
136
  # ----------------------------------------------------------------------------------------------------------------------
114
137
 
115
138
 
116
- # ----------------------------------------------------------------------------------------------------------------------
117
139
  def destroy_register() -> None:
118
140
  """Function that destroy the register path for developers or .exe files of NaxToPy.
119
141
 
@@ -147,6 +169,13 @@ def compatible_vizzer(vizzer_libs: list) -> str:
147
169
  # ---------------------------------------------------------------------------------------------
148
170
 
149
171
 
172
+ def _naxto_gen(vizzer: str) -> str:
173
+ dir_viz = os.path.dirname(vizzer)
174
+ if "GIT_REPOSITORIES" in dir_viz:
175
+ return os.path.join(r"C:\GIT_REPOSITORIES\NAXTO\NAXTOLibsDebug\NAXLicense\v.3.0", "IdaeroLicense.dll")
176
+ return os.path.join(dir_viz, "IdaeroLicense.dll")
177
+
178
+
150
179
  # Inicializador para encontrar la libreria de VizzerClasses
151
180
  def __reference_finder():
152
181
  # La ruta cambia si se tiene el repositorio de NaxToView
@@ -155,14 +184,15 @@ def __reference_finder():
155
184
  # Si se crea un .exe queremos que encuentre unas nuevas librerias distribuibles, que estarán en la carpeta temporal que se
156
185
  # crea cuando se ejecuta el .exe. Tampoco se ejecutan los modulos del reference finder
157
186
  if getattr(sys, 'frozen', False):
158
- change_register()
187
+ create_register()
159
188
  exe_dir = sys._MEIPASS
160
189
  vizzer_path = exe_dir + "\\libraries\\VizzerClasses.dll"
161
190
  N2PLog.Info.I107()
162
191
 
163
192
  elif os.path.isfile(developer_vizzer):
164
193
  if VERSION.split(".")[-1][0:3] == "dev":
165
- change_register()
194
+ create_register()
195
+
166
196
  vizzer_path = developer_vizzer
167
197
  N2PLog.Info.I108()
168
198
 
@@ -180,7 +210,11 @@ def __reference_finder():
180
210
  clr.AddReference(vizzer_path)
181
211
  N2PLog.Info.I109()
182
212
  N2PLog.Debug.D101(vizzer_path)
213
+ naxto_c = _naxto_gen(vizzer_path)
214
+ clr.AddReference(naxto_c)
183
215
  except:
184
216
  N2PLog.Critical.C103()
185
217
  # sys.exit("C103: THE LIBRARY 'VizzerClasses.dll' COULDN'T BE LOADED CORRECTLY")
218
+
219
+ N2PLog.Info.I100()
186
220
  # ---------------------------------------------------------------------------------------------
@@ -16,7 +16,7 @@ def __ico_path() -> str:
16
16
  icon_path: str
17
17
  """
18
18
  try:
19
- ico_path = resource_filename('mypackage', 'icon.ico')
19
+ ico_path = resource_filename('NaxToPy', 'NaxToPy.ico')
20
20
  N2PLog.Info.I200()
21
21
  return ico_path
22
22
 
@@ -112,7 +112,8 @@ def __list_ext_libs(libs_path, solver, abq_ver) -> list[str]:
112
112
 
113
113
 
114
114
  # Funcion principal que usa PyInstaller para generar el .exe -----------------------------------------------------------
115
- def n2ptoexe(path: str, console: bool = True, solver: str = "ALL", abaqusversion: list[str] = None) -> None:
115
+ def n2ptoexe(path: str, console: bool = True, solver: str = "ALL", abaqusversion: list[str] = None,
116
+ splash: str="") -> None:
116
117
  """Function that creates .exe files of programs that use NaxToPy
117
118
 
118
119
  Args:
@@ -128,8 +129,16 @@ def n2ptoexe(path: str, console: bool = True, solver: str = "ALL", abaqusversion
128
129
  ABAQUS version are aviable. Posible abaqus versions:
129
130
  ['2016', '2017', '2018', '2019', '2020', '2021', '2022', '6.11', '6.12',
130
131
  '6.13', '6.14']
132
+ splash: str -> Optional. Path to the splash image. If used, the user must introduce pyi_splash.close() at the
133
+ beginning of the execution of the module. Import pyi_splash first. The splash image will appear during the
134
+ .exe unpacking. Image should be png and smaller than 500x500 pixels.
131
135
  """
132
136
 
137
+ # 0 ) Genera el archivo .log y añade los logs de la importación ------------------------------------------------
138
+ # Configura el logger para que escriba automaticamente los logs ------------------------------------------------
139
+ N2PLog._N2PLog__fh.write_buffered_records()
140
+ N2PLog._N2PLog__fh.immediate_logging()
141
+
133
142
  # Paso todoo a mayusculas para que no haya errores
134
143
  solver.upper()
135
144
 
@@ -168,12 +177,14 @@ def n2ptoexe(path: str, console: bool = True, solver: str = "ALL", abaqusversion
168
177
  pyinstaller_cmd = [path] + [consl]
169
178
  pyinstaller_cmd += dll_list
170
179
  if icon == -1:
171
- pyinstaller_cmd += ["--onefile", "--collect-all", "NaxToPy"] # "--onefile",
180
+ pyinstaller_cmd += ["--onefile", "--collect-all", "NaxToPy"]
172
181
  # pyinstaller_cmd += ["--collect-all", "NaxToPy"] # "--onefile",
173
182
  N2PLog.Warning.W200()
174
183
  else:
175
- pyinstaller_cmd += ["--onefile", "--collect-all", "NaxToPy", '--icon', icon] # "--onefile",
176
- # pyinstaller_cmd += ["--collect-all", "NaxToPy", '--icon', icon] # "--onefile",
184
+ pyinstaller_cmd += ["--onefile", "--collect-all", "NaxToPy", '--icon', icon]
185
+
186
+ if splash:
187
+ pyinstaller_cmd += ['--splash', splash]
177
188
 
178
189
  PyIns.run(pyinstaller_cmd)
179
190
  N2PLog.Info.I201(os.getcwd())
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: NaxToPy
3
- Version: 1.5.1
3
+ Version: 1.5.2
4
4
  Summary: Package for postprocessing FEM results in Python
5
5
  Home-page: https://www.idaerosolutions.com/Home/NaxToPy
6
6
  Download-URL: https://apps.microsoft.com/detail/XP9MMH0KDKGRJN?hl=en-US&gl=US
@@ -232,6 +232,11 @@ To see previous version see the pre-release versions in https://test.pypi.org/pr
232
232
  1. Bug Fix. If the name for a derivated load case is repeated for a second time, the name is changed.
233
233
  2. Bug Fix. Now is possible to change the criteria for a new envelope load case.
234
234
 
235
+ ### v1.5.2
236
+ 1. Bug fix: A bug has been resolved that previously prevented the generation of a .log file while executing the N2PtoEXE module.
237
+ 2. Bug fix: An internal error related to finding the libraries has been resolved.
238
+ 3. The option to include a splash image in an executable has been added.
239
+
235
240
  # Documentation
236
241
 
237
242
  **NaxToPy** is a package developed by Idaero Solutions© as a part of the **NaxTo** software.
File without changes
File without changes
File without changes
File without changes
File without changes