Source code for ewoksbm08.tasks.save_xas

import os

from ewokscore.model import BaseInputModel
from ewokscore.model import BaseOutputModel
from ewokscore.task import Task
from pydantic import Field

from ..io.save_xas import save_xdi_data
from ..io.types import XdiData


[docs] class InputModel(BaseInputModel): filename: str = Field(..., description="XDI file name.", examples=[]) xdi_data: XdiData = Field(..., description="XDI data to be saved.", examples=[])
[docs] class OutputModel(BaseOutputModel): output_filename: str = Field(..., description="XDI file name.")
[docs] class SaveXasXdi(Task, input_model=InputModel, output_model=OutputModel): """Save one XAS scan as an XDI file."""
[docs] def run(self): save_xdi_data(self.inputs.xdi_data, self.inputs.filename) self.outputs.output_filename = os.path.abspath(self.inputs.filename)