Commit b187ecbc2b160e92aa74558b848ba36741a830e6

Authored by Etienne Pallier
1 parent 8d0fc742
Exists in dev

refactorisation goes on...

src/device_controller/concrete_component/gemini/server_udp_or_tcp_gemini.py deleted
... ... @@ -1,115 +0,0 @@
1   -#!/usr/bin/env python3
2   -
3   -from device_controller.concrete_component.device_simulator_common.server_udp_or_tcp import get_SocketServer_UDP_TCP
4   -
5   -
6   -
7   -###STAMP = '01000000'
8   -#STAMP = '0100000000000000'
9   -#HOST, PORT = "localhost", 11110
10   -#HOST, PORT = "localhost", 9999
11   -#HOST, PORT = "localhost", 20001
12   -
13   -# stamp is 8 digits long
14   -STAMP_LENGTH = 8
15   -
16   -# COMMON CONSTANTS WITH CLIENT
17   -TERMINATOR = '\x00'
18   -COMMAND5 = '050000'
19   -#COMMAND6_SIMPLE = '6'
20   -COMMAND6 = '\x00\x06\x00'
21   -
22   -
23   -class UnknownCommandException(Exception):
24   - pass
25   -
26   -
27   -class Memo:
28   -
29   - @classmethod
30   - def get(cls, var):
31   - return cls._variables[var]
32   -
33   - @classmethod
34   - def set(cls, var, value):
35   - cls._variables[var] = value
36   -
37   - _variables = {
38   - "C" : '10/10/19',
39   - "L" : '10:20:36',
40   - "g" : '+10',
41   - "t" : '+45:00:00',
42   - }
43   -
44   -
45   -
46   -
47   -# @override superclass method
48   -def make_answer_for_request(request_bytes:bytes):
49   - #if request == STAMP + ":GD#": return STAMP + "+12:28"
50   - #if request == b'0100000000000000:GD#': return bytes(STAMP + "+12:28", "utf-8")
51   - print("Request received is", request_bytes)
52   -
53   - '''
54   - 3 types of commands:
55   - - TYPE1: '06' or '050000'
56   - - TYPE2: ':cde#' (mainly ':??#' - i.e : ':GD#', ':GR#', ...)
57   - - TYPE3: 'b?#' (bC# = Cold Start, bW# = selecting Warm Start, bR# = selecting Warm Restart)
58   - '''
59   -
60   - # Convert to string
61   - request = request_bytes.decode("utf-8")
62   - if len(request) < STAMP_LENGTH+2+1: raise UnknownCommandException(request)
63   -
64   - # Remove TERMINATOR
65   - request = request[0:-1]
66   -
67   - # Remove leading stamp
68   - stamp = request[0:STAMP_LENGTH]
69   - command = request[STAMP_LENGTH:]
70   - print("Command received is", repr(command))
71   -
72   - # TYPE1
73   - if command not in (COMMAND5, COMMAND6):
74   - # TYPE2 or 3
75   - if len(command) < 3: raise UnknownCommandException()
76   - if not (command[-1]=='#'): raise UnknownCommandException()
77   - if not (command[0]==':') and command not in ('bC#','bW#','bR#'): raise UnknownCommandException()
78   -
79   - command_start = command[1:3]
80   - if command == COMMAND6: answer = "G"
81   - elif command == COMMAND5: answer = COMMAND5
82   -
83   - #gr_request = STAMP + ':GR#' + END
84   - #return bytes(stamp + "15:01:48#" + TERMINATOR, "utf-8")
85   - elif command == ':GR#': answer = "15:01:49"
86   -
87   - #gd_request = STAMP + ':GD#' + END
88   - #if request == bytes(gd_request, "utf-8"): return bytes(STAMP + "+12:28#", "utf-8")
89   - #elif useful_request == 'GD': answer = "+12:28"
90   - elif command == ':GD#': answer = "+12:29"
91   - elif command == ':SG+00#': answer = "1"
92   - elif command == ':GG#': answer = "+00"
93   - elif command_start == 'Gv': answer = 'T'
94   - elif command_start in ('GC','GL', 'Gg', 'Gt'):
95   - answer = Memo.get(command_start[1])
96   - # Gemini telescope replaces "*" with ":"
97   - if command_start in ('Gg','Gt'): answer = answer.replace('*',':')
98   - else:
99   - # Remove ending '#'
100   - command = command[0:-1]
101   - if command_start in ('SC', 'SL', 'Sg', 'St'): Memo.set(command_start[1],command[3:])
102   - if command[0] == ':': command = command[1:]
103   - answer = command.upper()
104   -
105   - full_answer_in_bytes = bytes(stamp + answer + '#' + TERMINATOR, "utf-8")
106   - #print("request str upper is", str(request).upper())
107   - print("Answer sent is", full_answer_in_bytes)
108   - return full_answer_in_bytes
109   -
110   -
111   -
112   -def get_SocketServer_UDP_TCP_gemini(myhost:str="localhost", myport:int=11110, PROTOCOL:str="TCP"):
113   - #return get_SocketServer_UDP_TCP(myhost, myport, PROTOCOL)
114   - return get_SocketServer_UDP_TCP(myhost, myport, PROTOCOL, make_answer_for_request)
115   -