foamlib 0.3.14__py3-none-any.whl → 0.3.16__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.
foamlib/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  """A Python interface for interacting with OpenFOAM."""
2
2
 
3
- __version__ = "0.3.14"
3
+ __version__ = "0.3.16"
4
4
 
5
5
  from ._cases import AsyncFoamCase, FoamCase, FoamCaseBase
6
6
  from ._files import FoamDict, FoamFieldFile, FoamFile
foamlib/_cases/_base.py CHANGED
@@ -183,13 +183,16 @@ class FoamCaseBase(Sequence["FoamCaseBase.TimeDirectory"]):
183
183
  all_clean = self.path / "Allclean"
184
184
 
185
185
  if clean.is_file():
186
- file = clean
186
+ script = clean
187
187
  elif all_clean.is_file():
188
- file = all_clean
188
+ script = all_clean
189
189
  else:
190
190
  return None
191
191
 
192
- return file if Path(__file__).absolute() != file.absolute() else None
192
+ if sys.argv and Path(sys.argv[0]).absolute() == script.absolute():
193
+ return None
194
+
195
+ return script if Path(sys.argv[0]).absolute() != script.absolute() else None
193
196
 
194
197
  def _run_script(self, *, parallel: Optional[bool] = None) -> Optional[Path]:
195
198
  """Return the path to the (All)run script, or None if no run script is found."""
@@ -201,23 +204,28 @@ class FoamCaseBase(Sequence["FoamCaseBase.TimeDirectory"]):
201
204
  if run.is_file() or all_run.is_file():
202
205
  if run_parallel.is_file() or all_run_parallel.is_file():
203
206
  if parallel:
204
- file = run_parallel if run_parallel.is_file() else all_run_parallel
207
+ script = (
208
+ run_parallel if run_parallel.is_file() else all_run_parallel
209
+ )
205
210
  elif parallel is False:
206
- file = run if run.is_file() else all_run
211
+ script = run if run.is_file() else all_run
207
212
  else:
208
213
  raise ValueError(
209
214
  "Both (All)run and (All)run-parallel scripts are present. Please specify parallel argument."
210
215
  )
211
216
  else:
212
- file = run if run.is_file() else all_run
217
+ script = run if run.is_file() else all_run
213
218
  elif parallel is not False and (
214
219
  run_parallel.is_file() or all_run_parallel.is_file()
215
220
  ):
216
- file = run_parallel if run_parallel.is_file() else all_run_parallel
221
+ script = run_parallel if run_parallel.is_file() else all_run_parallel
217
222
  else:
218
223
  return None
219
224
 
220
- return file if Path(__file__).absolute() != file.absolute() else None
225
+ if sys.argv and Path(sys.argv[0]).absolute() == script.absolute():
226
+ return None
227
+
228
+ return script
221
229
 
222
230
  def _run_cmds(
223
231
  self,
foamlib/_files/_io.py CHANGED
@@ -43,7 +43,6 @@ class FoamFileIO:
43
43
  if self.__defer_io == 0 and self.__dirty:
44
44
  assert self.__contents is not None
45
45
  self._write(self.__contents)
46
- assert not self.__dirty
47
46
 
48
47
  def _read(self) -> Tuple[bytes, Parsed]:
49
48
  if not self.__defer_io:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: foamlib
3
- Version: 0.3.14
3
+ Version: 0.3.16
4
4
  Summary: A Python interface for interacting with OpenFOAM
5
5
  Author-email: "Gabriel S. Gerlero" <ggerlero@cimec.unl.edu.ar>
6
6
  Project-URL: Homepage, https://github.com/gerlero/foamlib
@@ -1,18 +1,18 @@
1
- foamlib/__init__.py,sha256=uPhMP7K4i6gm8fffNcr0Y90mlWAC-_38X9_YtJeLbvI,432
1
+ foamlib/__init__.py,sha256=a4a9sO9XCFmXj_flrKg-4kY1qyf4obb3iTXfkuLKgfY,432
2
2
  foamlib/_util.py,sha256=vL03aAzpWdZyYIhe2WTxHiz9b4lnttVnRuzqUmZvXXk,3047
3
3
  foamlib/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  foamlib/_cases/__init__.py,sha256=4bHQRLtYh0IBOuuCSwUbipZEPqIF0sypU2xtoc6YW3c,166
5
5
  foamlib/_cases/_async.py,sha256=Rfbq3rerYZdt4lX7YxnStj4LSqwH2j0rAmbPkSDHhP0,4995
6
- foamlib/_cases/_base.py,sha256=zzONzJjSaHiK4uBVz_NWL9f1qHgcEXxEpzpGbd7RE1E,11596
6
+ foamlib/_cases/_base.py,sha256=6_zkF_TjKrwhsTZvqhmpaHQPVHIgZqmUfG5-9PV6gg4,11807
7
7
  foamlib/_cases/_sync.py,sha256=irMprDmcvjvdIj82griGhXvDU_L9UnyAbyJjS74Z3ug,3961
8
8
  foamlib/_files/__init__.py,sha256=vDkPj8u8bX_I_m2YfeKvXBgwg8D1ufyFCfHGHKN3JPQ,140
9
9
  foamlib/_files/_base.py,sha256=YA5a-i5HZuA3JslCD6r-DwZzpSA8r42dqSXef286Ako,2050
10
10
  foamlib/_files/_files.py,sha256=4rZb3HMJADmJBGmRpChiujJNX1UIxhgHI5YPEmEOWvE,10784
11
- foamlib/_files/_io.py,sha256=pGYMoLI5Dz2Y90EB1CtklZiffpDTGuQbbbkyqRe0JAo,2115
11
+ foamlib/_files/_io.py,sha256=hlcqQqU-1cdIbDc3YqxnMfxALo4SFAEcRIoZM2vMtnE,2083
12
12
  foamlib/_files/_parsing.py,sha256=-IgvCOFMAERNOrpw2NaHtVXubBg4Ey6xR55bzEZb2B4,7696
13
13
  foamlib/_files/_serialization.py,sha256=LCeaLWtNvkcs0dfowL7nViiByxw7U_fvgueVjFliipU,3462
14
- foamlib-0.3.14.dist-info/LICENSE.txt,sha256=5Dte9TUnLZzPRs4NQzl-Jc2-Ljd-t_v0ZR5Ng5r0UsY,35131
15
- foamlib-0.3.14.dist-info/METADATA,sha256=-CO5n1nQVcdG7jtfwF1Cd2e1rDaTj1FWKqQ6K62Msig,5458
16
- foamlib-0.3.14.dist-info/WHEEL,sha256=HiCZjzuy6Dw0hdX5R3LCFPDmFS4BWl8H-8W39XfmgX4,91
17
- foamlib-0.3.14.dist-info/top_level.txt,sha256=ZdVYtetXGwPwyfL-WhlhbTFQGAwKX5P_gXxtH9JYFPI,8
18
- foamlib-0.3.14.dist-info/RECORD,,
14
+ foamlib-0.3.16.dist-info/LICENSE.txt,sha256=5Dte9TUnLZzPRs4NQzl-Jc2-Ljd-t_v0ZR5Ng5r0UsY,35131
15
+ foamlib-0.3.16.dist-info/METADATA,sha256=n_H2qQGKIewzGdVrfEKgk8QycZrDDHPbvk9qY-cnDTE,5458
16
+ foamlib-0.3.16.dist-info/WHEEL,sha256=nCVcAvsfA9TDtwGwhYaRrlPhTLV9m-Ga6mdyDtuwK18,91
17
+ foamlib-0.3.16.dist-info/top_level.txt,sha256=ZdVYtetXGwPwyfL-WhlhbTFQGAwKX5P_gXxtH9JYFPI,8
18
+ foamlib-0.3.16.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (72.2.0)
2
+ Generator: setuptools (73.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5