Source code for labscheduler.sila_server.server

# Generating by sila2.code_generator; sila2.__version__: 0.7.3

from uuid import UUID

from sila2.server import SilaServer

from labscheduler.scheduler_implementation import Scheduler

from .feature_implementations.labconfigurationcontroller_impl import LabConfigurationControllerImpl
from .feature_implementations.schedulingservice_impl import SchedulingServiceImpl
from .generated.labconfigurationcontroller import LabConfigurationControllerFeature
from .generated.schedulingservice import SchedulingServiceFeature


[docs] class Server(SilaServer): scheduler_interface: Scheduler def __init__(self, server_uuid: UUID | None = None, lab_config_path: str | None = None): super().__init__( server_name="Scheduler", server_type="SchedulerServer", server_version="0.1", server_description="A server providing schedules", server_vendor_url="https://gitlab.com/SiLA2/sila_python", server_uuid=server_uuid, ) self.scheduler_interface = Scheduler(labconfig_path=lab_config_path) self.labconfigurationcontroller = LabConfigurationControllerImpl(self, self.scheduler_interface) self.schedulingservice = SchedulingServiceImpl(self, self.scheduler_interface) self.set_feature_implementation(LabConfigurationControllerFeature, self.labconfigurationcontroller) self.set_feature_implementation(SchedulingServiceFeature, self.schedulingservice)