This PR refactors the launch_shell_job function by extracting the input preparation logic into a new helper function, prepare_shell_job_inputs. The launch_shell_job function now calls this helper function to prepare the inputs before submitting or running the job. This allows others to reuse the input preparation logic elsewhere if needed.
Use case:
In aiida-workgraph, we use the prepare_for_shell_task function to prepare inputs for the ShellJob task, as in the launch_shell_job. The challenge, however, is that we need to keep the prepare_for_shell_task function up to date with any changes made to launch_shell_job. By extracting the input logic into prepare_shell_job_inputs, we can now directly reuse this function in aiida-workgraph, ensuring consistency.
This PR refactors the
launch_shell_job
function by extracting the input preparation logic into a new helper function,prepare_shell_job_inputs
. The launch_shell_job function now calls this helper function to prepare the inputs before submitting or running the job. This allows others to reuse the input preparation logic elsewhere if needed.Use case: In
aiida-workgraph
, we use the prepare_for_shell_task function to prepare inputs for theShellJob
task, as in thelaunch_shell_job
. The challenge, however, is that we need to keep theprepare_for_shell_task
function up to date with any changes made tolaunch_shell_job
. By extracting the input logic intoprepare_shell_job_inputs
, we can now directly reuse this function in aiida-workgraph, ensuring consistency.