Source code for qumas.LensmodelWrapper.lensmodel_wrapper

import os
import stat
import subprocess

module_dir = os.path.dirname(os.path.abspath(__file__))

[docs] def run_lensmodel(modeling_path,run_name): try: path_to_run = os.path.join(modeling_path,f"{run_name}.dat") where_we_are = os.getcwd() path_to_lensmodel = f"{module_dir}/lensmodel/lensmodel" #print(path_to_lensmodel) st = os.stat(path_to_lensmodel) # Get permissions and make the file executable os.chmod(path_to_lensmodel, st.st_mode | stat.S_IEXEC) # Change the current working directory to work_pad os.chdir(os.path.join(module_dir,f"{module_dir}/lensmodel")) with open(path_to_run, 'r') as f: proc = subprocess.Popen([path_to_lensmodel], stdin = f, stdout=subprocess.DEVNULL,stderr=subprocess.DEVNULL) proc.wait() os.chdir(where_we_are) except KeyboardInterrupt: os.chdir(where_we_are) #just remove the files in lensmodel [os.remove(os.path.join(f"{module_dir}/lensmodel",i) )for i in os.listdir(f"{module_dir}/lensmodel") if "lensmodel" not in i]
#print("Execution stopped by the user.")