From 47a712ed59a3be3430d1a5ac5a80a3a008aec56c Mon Sep 17 00:00:00 2001 From: Robert Izzard <r.izzard@surrey.ac.uk> Date: Wed, 13 Oct 2021 21:01:19 +0100 Subject: [PATCH] try to rearrange symlinking --- binarycpython/utils/grid.py | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/binarycpython/utils/grid.py b/binarycpython/utils/grid.py index 00ce11cbe..545d02175 100644 --- a/binarycpython/utils/grid.py +++ b/binarycpython/utils/grid.py @@ -2677,19 +2677,22 @@ class Population: # perhaps create symlink to latest gridcode: note, we use os.replace() # in case the symlink already exists if self.grid_options['symlink latest gridcode']: - ftmp = os.path.join(self.grid_options['tmp_dir'], - 'binary_c_grid-latest-tmp-symlink') - fsym = os.path.join(self.grid_options['tmp_dir'], - 'binary_c_grid-latest') - os.symlink(gridcode_filename,ftmp) - os.replace(ftmp,'binary_c_grid-latest-tmp') - verbose_print( - "{}Symlinked grid code to {} {}".format(self.ANSI_colours['blue'], - ftmp, - self.ANSI_colours['reset']), - self.grid_options["verbosity"], - 1, - ) + symlink = os.path.join(self.grid_options['tmp_dir'], + 'binary_c_grid-latest') + os.unlink(symlink) + + try: + os.symlink(gridcode_filename,symlink) + verbose_print( + "{}Symlinked grid code to {} {}".format(self.ANSI_colours['blue'], + symlink, + self.ANSI_colours['reset']), + self.grid_options["verbosity"], + 1, + ) + except OSError: + print("symlink failed") + def _write_gridcode_system_call(self, grid_variable, dry_run, branchpoint, branchcode): ################################################################################# -- GitLab