epicsarchiver.common.validation =============================== .. py:module:: epicsarchiver.common.validation .. autoapi-nested-parse:: Validation functions and exceptions for archiver retrieval. Exceptions ---------- .. autoapisummary:: epicsarchiver.common.validation.ValidationError epicsarchiver.common.validation.PVNameError epicsarchiver.common.validation.TimePeriodError epicsarchiver.common.validation.ProcessorBinSizeError Functions --------- .. autoapisummary:: epicsarchiver.common.validation.validate_pv epicsarchiver.common.validation.validate_start_end epicsarchiver.common.validation.validate_processor Module Contents --------------- .. py:exception:: ValidationError Bases: :py:obj:`Exception` Base class for all validation-related exceptions. .. py:exception:: PVNameError Bases: :py:obj:`ValidationError` Exception raised for invalid PV names. .. py:function:: validate_pv(pv: str) -> None Validate the PV name. :param pv: The process variable name to validate. :type pv: str :raises PVNameError: If the PV name is empty or not a string. .. py:exception:: TimePeriodError(start: datetime.datetime, end: datetime.datetime) Bases: :py:obj:`ValidationError` Exception raised for invalid time periods. .. py:function:: validate_start_end(start: datetime.datetime, end: datetime.datetime) -> None Validate the start and end datetime objects. :param start: The start time of the period. :type start: datetime.datetime :param end: The end time of the period. :type end: datetime.datetime :raises TimePeriodError: If the start time is not before the end time. .. py:exception:: ProcessorBinSizeError(bin_size: int) Bases: :py:obj:`ValidationError` Exception raised for invalid processor bin size. .. py:function:: validate_processor(processor: epicsarchiver.retrieval.archiver_retrieval.processor.Processor | None) -> None Validate the processor. :param processor: The processor to validate. :type processor: Processor | None :raises ProcessorBinSizeError: If the processor's bin size set to a value less than 1.