From ecd67e4eabf8e54aa830800e1bdf0e2d87c1536e Mon Sep 17 00:00:00 2001 From: k-harris27 <120191386+k-harris27@users.noreply.github.com> Date: Fri, 28 Feb 2025 13:37:59 +0000 Subject: [PATCH] Use setdefault for dictionary defaults Co-authored-by: Jacob Wilkins <46597752+oerc0122@users.noreply.github.com> --- janus_core/calculations/geom_opt.py | 11 ++++------- janus_core/cli/geomopt.py | 7 ++----- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/janus_core/calculations/geom_opt.py b/janus_core/calculations/geom_opt.py index 55c68637..6db16e80 100644 --- a/janus_core/calculations/geom_opt.py +++ b/janus_core/calculations/geom_opt.py @@ -239,13 +239,10 @@ def __init__( ).absolute() if self.write_traj: - if "filename" not in self.traj_kwargs: - self.traj_kwargs["filename"] = self._build_filename( - "traj.extxyz" - ).absolute() - if "trajectory" not in self.opt_kwargs: - # Overwrite .traj binary with .extxyz by default. - self.opt_kwargs["trajectory"] = str(self.traj_kwargs["filename"]) + self.traj_kwargs.setdefault( + "filename", self._build_filename("traj.extxyz").absolute() + ) + self.opt_kwargs.setdefault("trajectory", str(self.traj_kwargs["filename"])) elif self.traj_kwargs: raise ValueError("traj_kwargs given, but trajectory writing not enabled.") elif "trajectory" in self.opt_kwargs: diff --git a/janus_core/cli/geomopt.py b/janus_core/cli/geomopt.py index d92e9e4b..4adb89bd 100644 --- a/janus_core/cli/geomopt.py +++ b/janus_core/cli/geomopt.py @@ -44,11 +44,8 @@ def _set_minimize_kwargs( Scalar pressure when optimizing cell geometry, in GPa. Passed to the filter function if either `opt_cell_lengths` or `opt_cell_fully` is True. """ - if "opt_kwargs" not in minimize_kwargs: - minimize_kwargs["opt_kwargs"] = {} - - if "traj_kwargs" not in minimize_kwargs: - minimize_kwargs["traj_kwargs"] = {} + minimize_kwargs.setdefault("opt_kwargs", {}) + minimize_kwargs.setdefault("traj_kwargs", {}) # Check hydrostatic_strain and scalar pressure not duplicated if "filter_kwargs" in minimize_kwargs: