From b187ecbc2b160e92aa74558b848ba36741a830e6 Mon Sep 17 00:00:00 2001 From: Etienne Pallier Date: Thu, 10 Oct 2019 12:08:39 +0200 Subject: [PATCH] refactorisation goes on... --- src/device_controller/concrete_component/gemini/server_udp_or_tcp_gemini.py | 115 ------------------------------------------------------------------------------------------------------------------- 1 file changed, 0 insertions(+), 115 deletions(-) delete mode 100755 src/device_controller/concrete_component/gemini/server_udp_or_tcp_gemini.py diff --git a/src/device_controller/concrete_component/gemini/server_udp_or_tcp_gemini.py b/src/device_controller/concrete_component/gemini/server_udp_or_tcp_gemini.py deleted file mode 100755 index b0457e1..0000000 --- a/src/device_controller/concrete_component/gemini/server_udp_or_tcp_gemini.py +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/bin/env python3 - -from device_controller.concrete_component.device_simulator_common.server_udp_or_tcp import get_SocketServer_UDP_TCP - - - -###STAMP = '01000000' -#STAMP = '0100000000000000' -#HOST, PORT = "localhost", 11110 -#HOST, PORT = "localhost", 9999 -#HOST, PORT = "localhost", 20001 - -# stamp is 8 digits long -STAMP_LENGTH = 8 - -# COMMON CONSTANTS WITH CLIENT -TERMINATOR = '\x00' -COMMAND5 = '050000' -#COMMAND6_SIMPLE = '6' -COMMAND6 = '\x00\x06\x00' - - -class UnknownCommandException(Exception): - pass - - -class Memo: - - @classmethod - def get(cls, var): - return cls._variables[var] - - @classmethod - def set(cls, var, value): - cls._variables[var] = value - - _variables = { - "C" : '10/10/19', - "L" : '10:20:36', - "g" : '+10', - "t" : '+45:00:00', - } - - - - -# @override superclass method -def make_answer_for_request(request_bytes:bytes): - #if request == STAMP + ":GD#": return STAMP + "+12:28" - #if request == b'0100000000000000:GD#': return bytes(STAMP + "+12:28", "utf-8") - print("Request received is", request_bytes) - - ''' - 3 types of commands: - - TYPE1: '06' or '050000' - - TYPE2: ':cde#' (mainly ':??#' - i.e : ':GD#', ':GR#', ...) - - TYPE3: 'b?#' (bC# = Cold Start, bW# = selecting Warm Start, bR# = selecting Warm Restart) - ''' - - # Convert to string - request = request_bytes.decode("utf-8") - if len(request) < STAMP_LENGTH+2+1: raise UnknownCommandException(request) - - # Remove TERMINATOR - request = request[0:-1] - - # Remove leading stamp - stamp = request[0:STAMP_LENGTH] - command = request[STAMP_LENGTH:] - print("Command received is", repr(command)) - - # TYPE1 - if command not in (COMMAND5, COMMAND6): - # TYPE2 or 3 - if len(command) < 3: raise UnknownCommandException() - if not (command[-1]=='#'): raise UnknownCommandException() - if not (command[0]==':') and command not in ('bC#','bW#','bR#'): raise UnknownCommandException() - - command_start = command[1:3] - if command == COMMAND6: answer = "G" - elif command == COMMAND5: answer = COMMAND5 - - #gr_request = STAMP + ':GR#' + END - #return bytes(stamp + "15:01:48#" + TERMINATOR, "utf-8") - elif command == ':GR#': answer = "15:01:49" - - #gd_request = STAMP + ':GD#' + END - #if request == bytes(gd_request, "utf-8"): return bytes(STAMP + "+12:28#", "utf-8") - #elif useful_request == 'GD': answer = "+12:28" - elif command == ':GD#': answer = "+12:29" - elif command == ':SG+00#': answer = "1" - elif command == ':GG#': answer = "+00" - elif command_start == 'Gv': answer = 'T' - elif command_start in ('GC','GL', 'Gg', 'Gt'): - answer = Memo.get(command_start[1]) - # Gemini telescope replaces "*" with ":" - if command_start in ('Gg','Gt'): answer = answer.replace('*',':') - else: - # Remove ending '#' - command = command[0:-1] - if command_start in ('SC', 'SL', 'Sg', 'St'): Memo.set(command_start[1],command[3:]) - if command[0] == ':': command = command[1:] - answer = command.upper() - - full_answer_in_bytes = bytes(stamp + answer + '#' + TERMINATOR, "utf-8") - #print("request str upper is", str(request).upper()) - print("Answer sent is", full_answer_in_bytes) - return full_answer_in_bytes - - - -def get_SocketServer_UDP_TCP_gemini(myhost:str="localhost", myport:int=11110, PROTOCOL:str="TCP"): - #return get_SocketServer_UDP_TCP(myhost, myport, PROTOCOL) - return get_SocketServer_UDP_TCP(myhost, myport, PROTOCOL, make_answer_for_request) - -- libgit2 0.21.2