""" Update Input files before execution =================================== This snippet calls executes roxie, overwriting input files set in the datafile with local files Download Input files * :download:`dipole_iron.data <../../../../../examples/input_files/dipole_iron.data>` * :download:`roxie.cadata <../../../../../examples/input_files/roxie.cadata>` * :download:`roxie.bhdata <../../../../../examples/input_files/roxie.bhdata>` * :download:`dipole_iron.iron <../../../../../examples/input_files/dipole_iron.iron>` """ # %% # Executing roxie # ---------- # Set up paths, datafile and execute Roxie as a process # import pathlib import tempfile from roxieapi.tool_adapter.RoxieToolAdapter import TerminalRoxieToolAdapter input_files = [ pathlib.Path("../input_files/dipole_iron.data"), pathlib.Path("../input_files/roxie.cadata"), pathlib.Path("../input_files/roxie.bhdata"), pathlib.Path("../input_files/dipole_iron.iron"), ] runner = TerminalRoxieToolAdapter(input_files=input_files, run_in_tmp_folder=True) result = runner.run() print(f"Run executed with return code {result}") # %% # Check output and errors # ------------- print(runner.output) # %% # List Artefacts and download # --------------------------- print(runner.get_artefact_list()) with tempfile.TemporaryDirectory() as tmp_folder_name: tmp_folder_path = pathlib.Path(tmp_folder_name) print(tmp_folder_path) print(tmp_folder_path.is_dir()) runner.download_artefacts(tmp_folder_path) for file in tmp_folder_path.iterdir(): print(f"Downloaded file: {file.name}") # %%