#!/usr/bin/env python3 """ Filter selector (abstract) implementation To be used as a base class (interface) for any concrete Filter selector class """ import sys # from sockets_tele/ sys.path.append("..") # from src_socket/client/ #import src.core.pyros_django.utils.celme as celme sys.path.append("../../..") import src.core.celme as celme # Local application imports #from device_controller.abstract_component.base import * sys.path.append("../..") from device_controller.abstract_component.base import * # Default timeouts TIMEOUT_SEND = 10 TIMEOUT_RECEIVE = 10 #class SocketClientTelescopeAbstract(SocketClientAbstract): class DeviceControllerDetectorSensor(DeviceControllerAbstract): # @abstract (to be overriden) _cmd_device_concrete = {} _cmd_device_abstract = {} #TODO: remplacer PROTOCOL par "SOCKET-TCP", "SOCKET-UDP", "SERIAL", ou "USB" def __init__(self, device_host:str="localhost", device_port:int=11110, PROTOCOL:str="TCP", buffer_size=1024, DEBUG=False): ''' :param device_host: server IP or hostname :param device_port: server port :param PROTOCOL: "UDP" or "TCP" ''' super().__init__(device_host, device_port, PROTOCOL, buffer_size, DEBUG) # overwrite abstract _cmd dictionary with subclass native _cmd_native dictionary: #self._cmd = {**self._cmd, **self._cmd_native} ''' **************************** **************************** GENERIC TELESCOPE COMMANDS (abstract methods) **************************** **************************** ''' ''' **************************** GENERIC GET & SET commands **************************** ''' ''' **************************** GENERIC DO commands **************************** '''