From e3b4529ceb3d477f325d320e376a7c5b2411726a Mon Sep 17 00:00:00 2001 From: Colton Hicks Date: Wed, 17 Jul 2024 16:28:55 -0700 Subject: [PATCH] Moved program_version collection outside of try block to correctly collect program version even if a calculation fails. --- CHANGELOG.md | 2 ++ qcop/adapters/base.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 52e945e..45f5412 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ### Changed - Only respect `collect_file` for for `Adapter.compute` if the adapter has `.uses_files=True`. +- - Moved the `program_version = self.program_version(stdout)` call from `BaseAdapter.compute(...)` to outside the `try` block so that program version is collected even if the calculation fails. +- Cleaned up `xtb` cached version implementation. ## [0.7.4] - 2024-07-16 diff --git a/qcop/adapters/base.py b/qcop/adapters/base.py index 7a27fe1..c5ec22b 100644 --- a/qcop/adapters/base.py +++ b/qcop/adapters/base.py @@ -168,7 +168,6 @@ def compute( # None value covers FileInput case # TODO: Is there a type safe way to handle this?? output_dict["success"] = True - program_version = self.program_version(stdout) # Optionally collect wavefunction file if collect_wfn and not collect_files: @@ -186,6 +185,7 @@ def compute( output_dict["traceback"] = traceback.format_exc() wall_time = time() - start + program_version = self.program_version(stdout) # Construct Provenance object provenance = construct_provenance(