Source code for ewoksscxrd.tasks.createrunfiles

import os
import logging
from ewokscore import Task
from .utils import create_run_file

logger = logging.getLogger(__name__)


[docs] class CreateRunFiles( Task, input_names=["output", "run_parameters"], output_names=["saved_files_path"], ):
[docs] def run(self): args = self.inputs saved_files = [] scans = [ [ args.run_parameters, ], ] # Compute the destination basename using the provided logic. destination_basename = os.path.basename(args.output) destination_dir = os.path.dirname(args.output) destination = os.path.join(destination_dir, destination_basename) logger.info( f"Starting CreateRunFiles task for file: {destination_basename}.run" ) logger.debug(f"Computed destination: {destination}") create_run_file( scans, destination_dir, destination_basename ) # This doesn't take the .run ext saved_files.append(destination + ".run") logger.info(f"Created {destination}.run") self.outputs.saved_files_path = saved_files logger.info( "CreateRunFiles task completed. Saved files: " + ", ".join(saved_files) )