Browse Source

Updated for Python3, and to get image format directly

Requesting the correct image format direcly makes the request faster,
as PNG is much smaller. This also removes the external dependency on
the Pillow library.
Simon Larsson 6 years ago
parent
commit
444538b2c4

+ 50
- 48
OscScreenGrabLAN.py View File

3
 from telnetlib_receive_all import Telnet
3
 from telnetlib_receive_all import Telnet
4
 from Rigol_functions import *
4
 from Rigol_functions import *
5
 import time
5
 import time
6
-from PIL import Image
7
-import StringIO
8
 import sys
6
 import sys
9
 import os
7
 import os
10
 import platform
8
 import platform
74
 
72
 
75
 
73
 
76
 def print_help():
74
 def print_help():
77
-    print
78
-    print "Usage:"
79
-    print "    " + "python " + script_name + " png|bmp|csv [oscilloscope_IP [save_path]]"
80
-    print
81
-    print "Usage examples:"
82
-    print "    " + "python " + script_name + " png"
83
-    print "    " + "python " + script_name + " csv 192.168.1.3"
84
-    print
85
-    print "The following usage cases are not yet implemented:"
86
-    print "    " + "python " + script_name + " bmp 192.168.1.3 my_place_for_captures"
87
-    print
88
-    print "This program captures either the waveform or the whole screen"
89
-    print "    of a Rigol DS1000Z series oscilloscope, then save it on the computer"
90
-    print "    as a CSV, PNG or BMP file with a timestamp in the file name."
91
-    print
92
-    print "    The program is using LXI protocol, so the computer"
93
-    print "    must have LAN connection with the oscilloscope."
94
-    print "    USB and/or GPIB connections are not used by this software."
95
-    print
96
-    print "    No VISA, IVI or Rigol drivers are needed."
97
-    print
75
+    print ()
76
+    print ("Usage:")
77
+    print ("    " + "python " + script_name + " png|bmp|csv [oscilloscope_IP [save_path]]")
78
+    print ()
79
+    print ("Usage examples:")
80
+    print ("    " + "python " + script_name + " png")
81
+    print ("    " + "python " + script_name + " csv 192.168.1.3")
82
+    print ()
83
+    print ("The following usage cases are not yet implemented:")
84
+    print ("    " + "python " + script_name + " bmp 192.168.1.3 my_place_for_captures")
85
+    print ()
86
+    print ("This program captures either the waveform or the whole screen")
87
+    print ("    of a Rigol DS1000Z series oscilloscope, then save it on the computer")
88
+    print ("    as a CSV, PNG or BMP file with a timestamp in the file name.")
89
+    print ()
90
+    print ("    The program is using LXI protocol, so the computer")
91
+    print ("    must have LAN connection with the oscilloscope.")
92
+    print ("    USB and/or GPIB connections are not used by this software.")
93
+    print ()
94
+    print ("    No VISA, IVI or Rigol drivers are needed.")
95
+    print ()
98
 
96
 
99
 # Read/verify file type
97
 # Read/verify file type
100
 if len(sys.argv) <= 1:
98
 if len(sys.argv) <= 1:
102
     sys.exit("Warning - wrong command line parameters.")
100
     sys.exit("Warning - wrong command line parameters.")
103
 elif sys.argv[1].lower() not in ["png", "bmp", "csv"]:
101
 elif sys.argv[1].lower() not in ["png", "bmp", "csv"]:
104
     print_help()
102
     print_help()
105
-    print "This file type is not supported: ", sys.argv[1]
103
+    print ("This file type is not supported: ", sys.argv[1])
106
     sys.exit("ERROR")
104
     sys.exit("ERROR")
107
 
105
 
108
 file_format = sys.argv[1].lower()
106
 file_format = sys.argv[1].lower()
118
     response = os.system("ping -c 1 " + IP_DS1104Z + " > /dev/null")
116
     response = os.system("ping -c 1 " + IP_DS1104Z + " > /dev/null")
119
 
117
 
120
 if response != 0:
118
 if response != 0:
121
-    print
122
-    print "WARNING! No response pinging " + IP_DS1104Z
123
-    print "Check network cables and settings."
124
-    print "You should be able to ping the oscilloscope."
119
+    print ()
120
+    print ("WARNING! No response pinging " + IP_DS1104Z)
121
+    print ("Check network cables and settings.")
122
+    print ("You should be able to ping the oscilloscope.")
125
 
123
 
126
 # Open a modified telnet session
124
 # Open a modified telnet session
127
 # The default telnetlib drops 0x00 characters,
125
 # The default telnetlib drops 0x00 characters,
128
 #   so a modified library 'telnetlib_receive_all' is used instead
126
 #   so a modified library 'telnetlib_receive_all' is used instead
129
 tn = Telnet(IP_DS1104Z, port)
127
 tn = Telnet(IP_DS1104Z, port)
130
-instrument_id = command(tn, "*IDN?")    # ask for instrument ID
128
+instrument_id = command(tn, "*IDN?").decode()    # ask for instrument ID
131
 
129
 
132
 # Check if instrument is set to accept LAN commands
130
 # Check if instrument is set to accept LAN commands
133
 if instrument_id == "command error":
131
 if instrument_id == "command error":
134
-    print "Instrument reply:", instrument_id
135
-    print "Check the oscilloscope settings."
136
-    print "Utility -> IO Setting -> RemoteIO -> LAN must be ON"
132
+    print ("Instrument reply:", instrument_id)
133
+    print ("Check the oscilloscope settings.")
134
+    print ("Utility -> IO Setting -> RemoteIO -> LAN must be ON")
137
     sys.exit("ERROR")
135
     sys.exit("ERROR")
138
 
136
 
139
 # Check if instrument is indeed a Rigol DS1000Z series
137
 # Check if instrument is indeed a Rigol DS1000Z series
140
 id_fields = instrument_id.split(",")
138
 id_fields = instrument_id.split(",")
141
 if (id_fields[company] != "RIGOL TECHNOLOGIES") or \
139
 if (id_fields[company] != "RIGOL TECHNOLOGIES") or \
142
         (id_fields[model][:3] != "DS1") or (id_fields[model][-1] != "Z"):
140
         (id_fields[model][:3] != "DS1") or (id_fields[model][-1] != "Z"):
143
-    print "Found instrument model", "'" + id_fields[model] + "'", "from", "'" + id_fields[company] + "'"
144
-    print "WARNING: No Rigol from series DS1000Z found at", IP_DS1104Z
145
-    print
141
+    print ("Found instrument model '{}' from '{}'".format(id_fields[model], id_fields[company]))
142
+    print ("WARNING: No Rigol from series DS1000Z found at", IP_DS1104Z)
143
+    print ()
146
     typed = raw_input("ARE YOU SURE YOU WANT TO CONTINUE? (No/Yes):")
144
     typed = raw_input("ARE YOU SURE YOU WANT TO CONTINUE? (No/Yes):")
147
     if typed != 'Yes':
145
     if typed != 'Yes':
148
         sys.exit('Nothing done. Bye!')
146
         sys.exit('Nothing done. Bye!')
149
 
147
 
150
-print "Instrument ID:",
151
-print instrument_id
148
+print ("Instrument ID:", instrument_id)
152
 
149
 
153
 # Prepare filename as C:\MODEL_SERIAL_YYYY-MM-DD_HH.MM.SS
150
 # Prepare filename as C:\MODEL_SERIAL_YYYY-MM-DD_HH.MM.SS
154
 timestamp = time.strftime("%Y-%m-%d_%H.%M.%S", time.localtime())
151
 timestamp = time.strftime("%Y-%m-%d_%H.%M.%S", time.localtime())
156
 
153
 
157
 if file_format in ["png", "bmp"]:
154
 if file_format in ["png", "bmp"]:
158
     # Ask for an oscilloscope display print screen
155
     # Ask for an oscilloscope display print screen
159
-    print "Receiving screen capture..."
160
-    buff = command(tn, ":DISP:DATA?")
156
+    print ("Receiving screen capture...")
157
+
158
+    if file_format == "png":
159
+    	buff = command(tn, ":DISP:DATA? ON,OFF,PNG")
160
+    else:
161
+    	buff = command(tn, ":DISP:DATA? ON,OFF,BMP8")
161
 
162
 
162
     expectedBuffLen = expected_buff_bytes(buff)
163
     expectedBuffLen = expected_buff_bytes(buff)
163
     # Just in case the transfer did not complete in the expected time, read the remaining 'buff' chunks
164
     # Just in case the transfer did not complete in the expected time, read the remaining 'buff' chunks
164
     while len(buff) < expectedBuffLen:
165
     while len(buff) < expectedBuffLen:
165
         logging.warning("Received LESS data then expected! (" +
166
         logging.warning("Received LESS data then expected! (" +
166
                         str(len(buff)) + " out of " + str(expectedBuffLen) + " expected 'buff' bytes.)")
167
                         str(len(buff)) + " out of " + str(expectedBuffLen) + " expected 'buff' bytes.)")
167
-        tmp = tn.read_until("\n", smallWait)
168
+        tmp = tn.read_until(b"\n", smallWait)
168
         if len(tmp) == 0:
169
         if len(tmp) == 0:
169
             break
170
             break
170
         buff += tmp
171
         buff += tmp
180
     expectedDataLen = expected_data_bytes(buff)
181
     expectedDataLen = expected_data_bytes(buff)
181
     buff = buff[tmcHeaderLen: tmcHeaderLen+expectedDataLen]
182
     buff = buff[tmcHeaderLen: tmcHeaderLen+expectedDataLen]
182
 
183
 
183
-    # Save as PNG or BMP according to file_format
184
-    im = Image.open(StringIO.StringIO(buff))
185
-    im.save(filename + "." + file_format, file_format)
186
-    print "Saved file:", "'" + filename + "." + file_format + "'"
184
+    # Write raw data to file
185
+    full_file_name = filename + '.' + file_format
186
+    with open(full_file_name, 'wb') as f:
187
+    	f.write(buff)
188
+    print('Saved raw data to {}'.format(full_file_name))
187
 
189
 
188
 # TODO: Change WAV:FORM from ASC to BYTE
190
 # TODO: Change WAV:FORM from ASC to BYTE
189
 elif file_format == "csv":
191
 elif file_format == "csv":
214
 
216
 
215
     # for each active channel
217
     # for each active channel
216
     for channel in chanList:
218
     for channel in chanList:
217
-        print
219
+        print ()
218
 
220
 
219
         # Set WAVE parameters
221
         # Set WAVE parameters
220
         command(tn, ":WAV:SOUR " + channel)
222
         command(tn, ":WAV:SOUR " + channel)
226
             command(tn, ":WAV:STOP 1200")
228
             command(tn, ":WAV:STOP 1200")
227
 
229
 
228
         buff = ""
230
         buff = ""
229
-        print "Data from channel '" + str(channel) + "', points " + str(1) + "-" + str(1200) + ": Receiving..."
231
+        print ("Data from channel '" + str(channel) + "', points " + str(1) + "-" + str(1200) + ": Receiving...")
230
         buffChunk = command(tn, ":WAV:DATA?")
232
         buffChunk = command(tn, ":WAV:DATA?")
231
 
233
 
232
         # Just in case the transfer did not complete in the expected time
234
         # Just in case the transfer did not complete in the expected time
234
             logging.warning("The data transfer did not complete in the expected time of " +
236
             logging.warning("The data transfer did not complete in the expected time of " +
235
                             str(smallWait) + " second(s).")
237
                             str(smallWait) + " second(s).")
236
 
238
 
237
-            tmp = tn.read_until("\n", smallWait)
239
+            tmp = tn.read_until(b"\n", smallWait)
238
             if len(tmp) == 0:
240
             if len(tmp) == 0:
239
                 break
241
                 break
240
             buffChunk += tmp
242
             buffChunk += tmp
278
     scr_file.write(csv_buff)
280
     scr_file.write(csv_buff)
279
     scr_file.close()
281
     scr_file.close()
280
 
282
 
281
-    print "Saved file:", "'" + filename + "." + file_format + "'"
283
+    print ("Saved file:", "'" + filename + "." + file_format + "'")
282
 
284
 
283
 tn.close()
285
 tn.close()

+ 6
- 6
Rigol_functions.py View File

17
     logging.info("SCPI to be sent: " + scpi)
17
     logging.info("SCPI to be sent: " + scpi)
18
     answer_wait_s = 1
18
     answer_wait_s = 1
19
     response = ""
19
     response = ""
20
-    while response != "1\n":
20
+    while response != b"1\n":
21
         tn.write("*OPC?\n")  # previous operation(s) has completed ?
21
         tn.write("*OPC?\n")  # previous operation(s) has completed ?
22
         logging.info("Send SCPI: *OPC? # May I send a command? 1==yes")
22
         logging.info("Send SCPI: *OPC? # May I send a command? 1==yes")
23
-        response = tn.read_until("\n", 1)  # wait max 1s for an answer
24
-        logging.info("Received response: " + response)
23
+        response = tn.read_until(b"\n", 1)  # wait max 1s for an answer
24
+        logging.info("Received response!")
25
 
25
 
26
     tn.write(scpi + "\n")
26
     tn.write(scpi + "\n")
27
     logging.info("Sent SCPI: " + scpi)
27
     logging.info("Sent SCPI: " + scpi)
28
-    response = tn.read_until("\n", answer_wait_s)
29
-    logging.info("Received response: " + response)
28
+    response = tn.read_until(b"\n", answer_wait_s)
29
+    logging.info("Received response!")
30
     return response
30
     return response
31
 
31
 
32
 
32
 
36
 #   The integer will be the length of the data stream (in bytes)
36
 #   The integer will be the length of the data stream (in bytes)
37
 # after all the data bytes, the last char is '\n'
37
 # after all the data bytes, the last char is '\n'
38
 def tmc_header_bytes(buff):
38
 def tmc_header_bytes(buff):
39
-    return 2 + int(buff[1])
39
+    return 2 + int(buff[1:2])
40
 
40
 
41
 
41
 
42
 def expected_data_bytes(buff):
42
 def expected_data_bytes(buff):

BIN
captures/DS1104Z_DS1ZA164658712_2015-05-10_23.14.43.png View File


BIN
captures/DS1104Z_DS1ZA164658712_2015-05-10_23.40.57.png View File


BIN
captures/DS1104Z_DS1ZA164658712_2015-05-25_00.48.34.png View File


+ 0
- 802
captures/DS1104Z_DS1ZA164658712_2015-05-25_00.49.07.csv View File

1
-chan1,chan4,math
2
-3.039992e+00,3.079998e+00,-1.799976e+01
3
-2.879992e+00,2.959998e+00,-2.279975e+01
4
-3.039992e+00,2.959998e+00,-3.359975e+01
5
-2.879992e+00,3.119998e+00,-3.359975e+01
6
-3.039992e+00,2.959998e+00,-3.479975e+01
7
-2.879992e+00,3.079998e+00,-4.679980e+01
8
-3.039992e+00,3.039998e+00,-3.679976e+01
9
-2.879992e+00,2.959998e+00,-5.079981e+01
10
-3.039992e+00,3.079998e+00,-4.079977e+01
11
--7.271767e-06,-1.788139e-07,-4.279978e+01
12
-7.999273e-02,-4.000018e-02,-4.759980e+01
13
--8.000727e-02,7.999982e-02,-4.279978e+01
14
--8.000727e-02,7.999982e-02,-6.879988e+01
15
-7.999273e-02,-4.000018e-02,-4.359978e+01
16
-7.999273e-02,7.999982e-02,-4.959981e+01
17
--8.000727e-02,-4.000018e-02,-4.879980e+01
18
-7.999273e-02,-4.000018e-02,-4.559979e+01
19
--8.000727e-02,7.999982e-02,-6.079985e+01
20
--8.000727e-02,-8.000018e-02,-4.679980e+01
21
-2.959992e+00,3.039998e+00,-5.679984e+01
22
-3.039992e+00,3.079998e+00,-4.959981e+01
23
-2.879992e+00,2.959998e+00,-4.959981e+01
24
-3.039992e+00,3.079998e+00,-5.679984e+01
25
-2.879992e+00,2.959998e+00,-4.879980e+01
26
-3.039992e+00,3.079998e+00,-6.559987e+01
27
-2.879992e+00,2.959998e+00,-4.959981e+01
28
-3.039992e+00,3.079998e+00,-5.359982e+01
29
-2.879992e+00,2.959998e+00,-5.479983e+01
30
-3.039992e+00,3.079998e+00,-5.079981e+01
31
-7.999273e-02,-1.788139e-07,-7.079989e+01
32
-7.999273e-02,7.999982e-02,-5.079981e+01
33
--8.000727e-02,-4.000018e-02,-5.759984e+01
34
-7.999273e-02,-4.000018e-02,-5.359982e+01
35
--8.000727e-02,7.999982e-02,-5.279982e+01
36
--8.000727e-02,-4.000018e-02,-6.159985e+01
37
-7.999273e-02,7.999982e-02,-5.159982e+01
38
-7.999273e-02,7.999982e-02,-6.359986e+01
39
--8.000727e-02,-4.000018e-02,-5.279982e+01
40
--8.000727e-02,-4.000018e-02,-5.559983e+01
41
-2.959992e+00,3.039998e+00,-5.879984e+01
42
-3.039992e+00,3.079998e+00,-5.279982e+01
43
-2.879992e+00,2.959998e+00,-8.279993e+01
44
-3.039992e+00,3.079998e+00,-5.279982e+01
45
-2.879992e+00,2.959998e+00,-5.679984e+01
46
-3.039992e+00,2.959998e+00,-5.479983e+01
47
-2.879992e+00,3.079998e+00,-6.679987e+01
48
-3.039992e+00,2.959998e+00,-5.359982e+01
49
-2.879992e+00,3.079998e+00,-6.279986e+01
50
-3.039992e+00,3.079998e+00,-5.559983e+01
51
--7.271767e-06,3.999982e-02,-5.679984e+01
52
-7.999273e-02,-4.000018e-02,-6.159985e+01
53
--8.000727e-02,7.999982e-02,-5.479983e+01
54
-7.999273e-02,7.999982e-02,-7.159989e+01
55
--8.000727e-02,-4.000018e-02,-5.479983e+01
56
--8.000727e-02,-4.000018e-02,-5.879984e+01
57
-7.999273e-02,7.999982e-02,-5.879984e+01
58
-7.999273e-02,7.999982e-02,-5.559983e+01
59
--8.000727e-02,-4.000018e-02,-7.359990e+01
60
--8.000727e-02,-4.000018e-02,-5.479983e+01
61
-2.959992e+00,3.039998e+00,-6.079985e+01
62
-3.039992e+00,3.079998e+00,-5.679984e+01
63
-2.879992e+00,2.959998e+00,-5.679984e+01
64
-2.879992e+00,3.079998e+00,-6.559987e+01
65
-3.039992e+00,2.959998e+00,-5.359982e+01
66
-3.039992e+00,3.079998e+00,-6.759988e+01
67
-2.879992e+00,2.959998e+00,-5.479983e+01
68
-3.039992e+00,3.079998e+00,-5.759984e+01
69
-2.879992e+00,2.959998e+00,-5.959985e+01
70
-3.039992e+00,3.079998e+00,-5.479983e+01
71
--7.271767e-06,3.999982e-02,-7.879992e+01
72
-7.999273e-02,7.999982e-02,-5.359982e+01
73
--8.000727e-02,-4.000018e-02,-5.879984e+01
74
--8.000727e-02,-4.000018e-02,-5.559983e+01
75
-7.999273e-02,7.999982e-02,-5.359982e+01
76
--8.000727e-02,7.999982e-02,-6.559987e+01
77
-7.999273e-02,-4.000018e-02,-5.279982e+01
78
-7.999273e-02,-4.000018e-02,-6.159985e+01
79
--8.000727e-02,7.999982e-02,-5.359982e+01
80
--8.000727e-02,-4.000018e-02,-5.359982e+01
81
-2.959992e+00,3.079998e+00,-5.959985e+01
82
-3.039992e+00,2.959998e+00,-5.159982e+01
83
-2.879992e+00,3.079998e+00,-6.879988e+01
84
-3.039992e+00,2.999998e+00,-5.159982e+01
85
-2.879992e+00,3.079998e+00,-5.359982e+01
86
-3.039992e+00,3.079998e+00,-5.479983e+01
87
-2.879992e+00,2.959998e+00,-7.079989e+01
88
-3.039992e+00,2.959998e+00,-4.879980e+01
89
-2.879992e+00,3.079998e+00,-5.479983e+01
90
-3.039992e+00,3.079998e+00,-4.959981e+01
91
-7.999273e-02,-1.788139e-07,-4.759980e+01
92
-7.999273e-02,7.999982e-02,-5.559983e+01
93
--8.000727e-02,-4.000018e-02,-4.479979e+01
94
-7.999273e-02,-4.000018e-02,-5.559983e+01
95
--8.000727e-02,7.999982e-02,-4.359978e+01
96
-7.999273e-02,7.999982e-02,-4.479979e+01
97
--8.000727e-02,-4.000018e-02,-4.559979e+01
98
--8.000727e-02,7.999982e-02,-3.879977e+01
99
-7.999273e-02,-4.000018e-02,-6.959988e+01
100
--8.000727e-02,-4.000018e-02,-3.359975e+01
101
-2.959992e+00,3.039998e+00,-3.359975e+01
102
-3.039992e+00,3.079998e+00,-2.199975e+01
103
-2.879992e+00,2.999998e+00,-2.279975e+01
104
-3.039992e+00,3.079998e+00,-4.359978e+01
105
-2.879992e+00,2.959998e+00,-3.359975e+01
106
-3.039992e+00,2.959998e+00,-4.559979e+01
107
-2.879992e+00,3.079998e+00,-3.959977e+01
108
-3.039992e+00,3.079998e+00,-4.279978e+01
109
-2.879992e+00,2.959998e+00,-4.959981e+01
110
-3.039992e+00,3.079998e+00,-4.279978e+01
111
--7.271767e-06,-1.788139e-07,-6.159985e+01
112
-7.999273e-02,7.999982e-02,-4.559979e+01
113
--8.000727e-02,-4.000018e-02,-4.959981e+01
114
--8.000727e-02,7.999982e-02,-5.079981e+01
115
-7.999273e-02,-4.000018e-02,-4.759980e+01
116
--8.000727e-02,-4.000018e-02,-6.959988e+01
117
-7.999273e-02,7.999982e-02,-4.879980e+01
118
--8.000727e-02,7.999982e-02,-5.559983e+01
119
-7.999273e-02,-4.000018e-02,-5.159982e+01
120
--8.000727e-02,-4.000018e-02,-5.159982e+01
121
-2.959992e+00,3.039998e+00,-6.079985e+01
122
-3.039992e+00,3.079998e+00,-5.079981e+01
123
-2.879992e+00,2.959998e+00,-6.359986e+01
124
-3.039992e+00,2.959998e+00,-5.279982e+01
125
-2.879992e+00,3.119998e+00,-5.559983e+01
126
-3.039992e+00,2.999998e+00,-5.879984e+01
127
-2.879992e+00,3.079998e+00,-5.279982e+01
128
-3.039992e+00,2.959998e+00,-8.879996e+01
129
-2.879992e+00,3.079998e+00,-5.879984e+01
130
-3.039992e+00,3.079998e+00,-5.679984e+01
131
--7.271767e-06,-1.788139e-07,-5.559983e+01
132
-7.999273e-02,7.999982e-02,-6.759988e+01
133
--8.000727e-02,-4.000018e-02,-5.479983e+01
134
--8.000727e-02,-4.000018e-02,-6.359986e+01
135
-7.999273e-02,7.999982e-02,-5.679984e+01
136
-7.999273e-02,-4.000018e-02,-5.759984e+01
137
--8.000727e-02,7.999982e-02,-6.359986e+01
138
--8.000727e-02,7.999982e-02,-5.559983e+01
139
-7.999273e-02,-4.000018e-02,-7.759991e+01
140
--8.000727e-02,-4.000018e-02,-5.679984e+01
141
-2.959992e+00,3.039998e+00,-6.079985e+01
142
-3.039992e+00,3.079998e+00,-6.079985e+01
143
-2.879992e+00,2.959998e+00,-5.759984e+01
144
-3.039992e+00,2.959998e+00,-7.559991e+01
145
-2.879992e+00,3.079998e+00,-5.759984e+01
146
-2.879992e+00,3.079998e+00,-6.559987e+01
147
-3.039992e+00,2.959998e+00,-5.959985e+01
148
-3.039992e+00,3.079998e+00,-5.959985e+01
149
-2.879992e+00,2.959998e+00,-6.759988e+01
150
-3.039992e+00,3.079998e+00,-5.759984e+01
151
--7.271767e-06,-1.788139e-07,-7.279990e+01
152
-7.999273e-02,7.999982e-02,-6.079985e+01
153
--8.000727e-02,-4.000018e-02,-6.079985e+01
154
-7.999273e-02,7.999982e-02,-6.279986e+01
155
--8.000727e-02,-4.000018e-02,-5.959985e+01
156
--8.000727e-02,-4.000018e-02,-8.279993e+01
157
-7.999273e-02,7.999982e-02,-5.879984e+01
158
--8.000727e-02,-4.000018e-02,-6.559987e+01
159
-7.999273e-02,7.999982e-02,-6.159985e+01
160
--8.000727e-02,-4.000018e-02,-6.079985e+01
161
-2.959992e+00,3.079998e+00,-7.159989e+01
162
-3.039992e+00,2.959998e+00,-5.959985e+01
163
-2.879992e+00,3.079998e+00,-7.279990e+01
164
-3.039992e+00,3.079998e+00,-6.079985e+01
165
-2.879992e+00,2.959998e+00,-6.359986e+01
166
-3.039992e+00,3.079998e+00,-6.679987e+01
167
-2.879992e+00,2.959998e+00,-6.079985e+01
168
-2.879992e+00,2.959998e+00,-7.959992e+01
169
-3.039992e+00,3.079998e+00,-6.279986e+01
170
-3.039992e+00,3.079998e+00,-6.479987e+01
171
--7.271767e-06,3.999982e-02,-6.279986e+01
172
-7.999273e-02,-4.000018e-02,-8.079993e+01
173
--8.000727e-02,7.999982e-02,-6.159985e+01
174
-7.999273e-02,-4.000018e-02,-6.959988e+01
175
--8.000727e-02,7.999982e-02,-6.279986e+01
176
-7.999273e-02,-4.000018e-02,-6.479987e+01
177
--8.000727e-02,7.999982e-02,-6.959988e+01
178
-7.999273e-02,7.999982e-02,-6.159985e+01
179
--8.000727e-02,-4.000018e-02,-7.759991e+01
180
--8.000727e-02,-4.000018e-02,-6.359986e+01
181
-2.959992e+00,2.999998e+00,-6.679987e+01
182
-3.039992e+00,3.079998e+00,-6.679987e+01
183
-2.879992e+00,2.959998e+00,-6.279986e+01
184
-3.039992e+00,3.079998e+00,-7.559991e+01
185
-2.879992e+00,2.959998e+00,-6.359986e+01
186
-3.039992e+00,2.999998e+00,-6.959988e+01
187
-2.879992e+00,3.079998e+00,-6.679987e+01
188
-3.039992e+00,3.079998e+00,-6.479987e+01
189
-2.879992e+00,2.959998e+00,-7.479990e+01
190
-3.039992e+00,3.079998e+00,-6.359986e+01
191
--7.271767e-06,3.999982e-02,-7.479990e+01
192
-7.999273e-02,7.999982e-02,-6.479987e+01
193
--8.000727e-02,-4.000018e-02,-6.679987e+01
194
-7.999273e-02,7.999982e-02,-6.959988e+01
195
--8.000727e-02,-4.000018e-02,-6.359986e+01
196
-7.999273e-02,7.999982e-02,-8.959996e+01
197
--8.000727e-02,-4.000018e-02,-6.359986e+01
198
--8.000727e-02,-4.000018e-02,-6.959988e+01
199
-7.999273e-02,7.999982e-02,-6.679987e+01
200
--8.000727e-02,-4.000018e-02,-6.679987e+01
201
-2.959992e+00,3.039998e+00,-8.359994e+01
202
-3.039992e+00,3.079998e+00,-6.559987e+01
203
-2.879992e+00,2.959998e+00,-6.479987e+01
204
-3.039992e+00,2.959998e+00,-6.359986e+01
205
-2.879992e+00,3.079998e+00,-6.479987e+01
206
-3.039992e+00,2.959998e+00,-7.079989e+01
207
-2.879992e+00,3.079998e+00,-6.679987e+01
208
-3.039992e+00,3.079998e+00,-7.759991e+01
209
-2.879992e+00,2.959998e+00,-6.559987e+01
210
-3.039992e+00,3.079998e+00,-6.879988e+01
211
--7.271767e-06,7.999982e-02,-6.959988e+01
212
-7.999273e-02,-4.000018e-02,-6.359986e+01
213
--8.000727e-02,7.999982e-02,-6.479987e+01
214
--8.000727e-02,-4.000018e-02,-7.959992e+01
215
-7.999273e-02,7.999982e-02,-6.879988e+01
216
-7.999273e-02,7.999982e-02,-6.879988e+01
217
--8.000727e-02,-4.000018e-02,-7.279990e+01
218
--8.000727e-02,-4.000018e-02,-6.679987e+01
219
-7.999273e-02,7.999982e-02,-7.759991e+01
220
--8.000727e-02,-4.000018e-02,-6.759988e+01
221
-2.959992e+00,3.039998e+00,-7.159989e+01
222
-3.039992e+00,2.959998e+00,-7.079989e+01
223
-2.879992e+00,3.079998e+00,-7.079989e+01
224
-3.039992e+00,2.959998e+00,-7.879992e+01
225
-2.879992e+00,3.079998e+00,-6.959988e+01
226
-3.039992e+00,3.079998e+00,-7.159989e+01
227
-2.879992e+00,2.959998e+00,-6.959988e+01
228
-3.039992e+00,2.999998e+00,-7.159989e+01
229
-2.879992e+00,3.079998e+00,-8.959996e+01
230
-3.039992e+00,3.079998e+00,-6.879988e+01
231
--7.271767e-06,-1.788139e-07,-7.879992e+01
232
-7.999273e-02,-4.000018e-02,-7.079989e+01
233
--8.000727e-02,7.999982e-02,-7.359990e+01
234
--8.000727e-02,7.999982e-02,-7.679991e+01
235
-7.999273e-02,-4.000018e-02,-7.079989e+01
236
-7.999273e-02,-4.000018e-02,-7.159989e+01
237
--8.000727e-02,7.999982e-02,-6.679987e+01
238
--8.000727e-02,-4.000018e-02,-7.359990e+01
239
-7.999273e-02,7.999982e-02,-7.279990e+01
240
--8.000727e-02,-4.000018e-02,-7.079989e+01
241
-2.959992e+00,3.039998e+00,-7.679991e+01
242
-3.039992e+00,2.999998e+00,-7.159989e+01
243
-2.879992e+00,3.079998e+00,-7.479990e+01
244
-3.039992e+00,2.959998e+00,-7.359990e+01
245
-2.879992e+00,3.079998e+00,-7.359990e+01
246
-3.039992e+00,2.959998e+00,-8.479994e+01
247
-2.879992e+00,3.079998e+00,-7.279990e+01
248
-3.039992e+00,3.079998e+00,-7.559991e+01
249
-2.879992e+00,2.959998e+00,-7.759991e+01
250
-3.039992e+00,3.079998e+00,-6.959988e+01
251
--7.271767e-06,-1.788139e-07,-7.559991e+01
252
-7.999273e-02,-4.000018e-02,-6.759988e+01
253
--8.000727e-02,7.999982e-02,-7.359990e+01
254
-7.999273e-02,7.999982e-02,-7.159989e+01
255
--8.000727e-02,-4.000018e-02,-8.159993e+01
256
--8.000727e-02,7.999982e-02,-7.159989e+01
257
-7.999273e-02,-4.000018e-02,-7.159989e+01
258
-7.999273e-02,-4.000018e-02,-8.679995e+01
259
--8.000727e-02,7.999982e-02,-8.079993e+01
260
--8.000727e-02,-4.000018e-02,-7.279990e+01
261
-2.959992e+00,3.039998e+00,-7.759991e+01
262
-3.039992e+00,3.079998e+00,-7.359990e+01
263
-2.879992e+00,2.959998e+00,-8.479994e+01
264
-2.879992e+00,3.079998e+00,-8.879996e+01
265
-3.039992e+00,2.959998e+00,-7.679991e+01
266
-3.039992e+00,3.079998e+00,-8.159993e+01
267
-2.879992e+00,2.959998e+00,-7.879992e+01
268
-3.039992e+00,3.079998e+00,-7.679991e+01
269
-2.879992e+00,2.959998e+00,-9.559998e+01
270
-3.039992e+00,3.079998e+00,-7.359990e+01
271
-7.999273e-02,3.999982e-02,-8.279993e+01
272
-7.999273e-02,7.999982e-02,-8.079993e+01
273
--8.000727e-02,-4.000018e-02,-7.279990e+01
274
-7.999273e-02,-4.000018e-02,-8.479994e+01
275
--8.000727e-02,7.999982e-02,-7.359990e+01
276
--8.000727e-02,-4.000018e-02,-7.959992e+01
277
-7.999273e-02,7.999982e-02,-6.959988e+01
278
--8.000727e-02,-4.000018e-02,-7.479990e+01
279
-7.999273e-02,7.999982e-02,-8.279993e+01
280
--8.000727e-02,-4.000018e-02,-6.759988e+01
281
-2.959992e+00,3.039998e+00,-7.559991e+01
282
-3.039992e+00,3.079998e+00,-6.479987e+01
283
-2.879992e+00,2.959998e+00,-7.079989e+01
284
-3.039992e+00,3.079998e+00,-6.679987e+01
285
-2.879992e+00,2.959998e+00,-6.679987e+01
286
-3.039992e+00,3.079998e+00,-7.879992e+01
287
-2.879992e+00,2.959998e+00,-6.279986e+01
288
-3.039992e+00,3.079998e+00,-7.079989e+01
289
-2.879992e+00,2.959998e+00,-6.279986e+01
290
-3.039992e+00,3.079998e+00,-6.079985e+01
291
-7.999273e-02,-1.788139e-07,-6.359986e+01
292
-7.999273e-02,1.199998e-01,-5.879984e+01
293
--8.000727e-02,-4.000018e-02,-7.879992e+01
294
-7.999273e-02,-4.000018e-02,-5.679984e+01
295
--8.000727e-02,7.999982e-02,-5.959985e+01
296
--8.000727e-02,-4.000018e-02,-5.759984e+01
297
-7.999273e-02,7.999982e-02,-6.559987e+01
298
--8.000727e-02,-4.000018e-02,-4.759980e+01
299
-7.999273e-02,7.999982e-02,-5.279982e+01
300
--8.000727e-02,-4.000018e-02,-4.359978e+01
301
-2.959992e+00,3.079998e+00,-3.759976e+01
302
-3.039992e+00,2.959998e+00,-2.959974e+01
303
-2.879992e+00,3.079998e+00,-3.279974e+01
304
-3.039992e+00,3.079998e+00,-5.559983e+01
305
-2.879992e+00,2.959998e+00,-4.359978e+01
306
-3.039992e+00,3.079998e+00,-4.959981e+01
307
-2.879992e+00,2.959998e+00,-5.279982e+01
308
-3.039992e+00,2.959998e+00,-4.959981e+01
309
-2.879992e+00,3.119998e+00,-9.279997e+01
310
-3.039992e+00,3.119998e+00,-5.079981e+01
311
--7.271767e-06,3.999982e-02,-5.879984e+01
312
-7.999273e-02,-4.000018e-02,-5.559983e+01
313
--8.000727e-02,7.999982e-02,-5.479983e+01
314
--8.000727e-02,7.999982e-02,-6.679987e+01
315
-7.999273e-02,-4.000018e-02,-5.479983e+01
316
-7.999273e-02,7.999982e-02,-6.559987e+01
317
--8.000727e-02,-4.000018e-02,-5.679984e+01
318
--8.000727e-02,7.999982e-02,-5.879984e+01
319
-7.999273e-02,-4.000018e-02,-6.159985e+01
320
--8.000727e-02,-4.000018e-02,-5.679984e+01
321
-2.959992e+00,3.039998e+00,-8.159993e+01
322
-3.039992e+00,3.079998e+00,-5.759984e+01
323
-2.879992e+00,2.959998e+00,-6.359986e+01
324
-3.039992e+00,3.079998e+00,-6.359986e+01
325
-2.879992e+00,2.959998e+00,-5.879984e+01
326
-3.039992e+00,3.079998e+00,-7.959992e+01
327
-2.879992e+00,2.959998e+00,-5.879984e+01
328
-3.039992e+00,2.959998e+00,-6.879988e+01
329
-2.879992e+00,3.079998e+00,-6.079985e+01
330
-3.039992e+00,3.079998e+00,-6.279986e+01
331
--7.271767e-06,-1.788139e-07,-6.959988e+01
332
-7.999273e-02,-4.000018e-02,-5.879984e+01
333
--8.000727e-02,7.999982e-02,-7.159989e+01
334
--8.000727e-02,7.999982e-02,-5.959985e+01
335
-7.999273e-02,-4.000018e-02,-6.559987e+01
336
-7.999273e-02,7.999982e-02,-6.359986e+01
337
--8.000727e-02,-4.000018e-02,-6.359986e+01
338
--8.000727e-02,-4.000018e-02,-7.279990e+01
339
-7.999273e-02,7.999982e-02,-6.879988e+01
340
--8.000727e-02,-4.000018e-02,-6.559987e+01
341
-2.959992e+00,3.039998e+00,-6.279986e+01
342
-3.039992e+00,3.079998e+00,-6.959988e+01
343
-2.879992e+00,2.959998e+00,-6.279986e+01
344
-3.039992e+00,2.959998e+00,-7.279990e+01
345
-2.879992e+00,3.079998e+00,-6.279986e+01
346
-3.039992e+00,3.119998e+00,-6.679987e+01
347
-2.879992e+00,2.959998e+00,-6.959988e+01
348
-3.039992e+00,3.079998e+00,-6.279986e+01
349
-2.879992e+00,2.959998e+00,-7.879992e+01
350
-3.039992e+00,3.079998e+00,-6.359986e+01
351
--7.271767e-06,-1.788139e-07,-6.559987e+01
352
-7.999273e-02,7.999982e-02,-6.479987e+01
353
--8.000727e-02,-4.000018e-02,-6.359986e+01
354
--8.000727e-02,7.999982e-02,-6.959988e+01
355
-7.999273e-02,-4.000018e-02,-6.359986e+01
356
--8.000727e-02,-4.000018e-02,-7.559991e+01
357
-7.999273e-02,7.999982e-02,-6.559987e+01
358
--8.000727e-02,-4.000018e-02,-6.559987e+01
359
-7.999273e-02,7.999982e-02,-7.359990e+01
360
--8.000727e-02,-4.000018e-02,-6.159985e+01
361
-2.959992e+00,2.999998e+00,-8.279993e+01
362
-3.039992e+00,3.079998e+00,-6.359986e+01
363
-2.879992e+00,2.959998e+00,-7.279990e+01
364
-3.039992e+00,3.079998e+00,-6.879988e+01
365
-2.879992e+00,2.959998e+00,-6.879988e+01
366
-3.039992e+00,3.079998e+00,-7.879992e+01
367
-2.879992e+00,2.959998e+00,-6.759988e+01
368
-3.039992e+00,2.999998e+00,-6.879988e+01
369
-2.879992e+00,3.079998e+00,-6.679987e+01
370
-3.039992e+00,3.079998e+00,-6.759988e+01
371
--7.271767e-06,-1.788139e-07,-7.479990e+01
372
-7.999273e-02,-4.000018e-02,-6.759988e+01
373
--8.000727e-02,7.999982e-02,-7.479990e+01
374
-7.999273e-02,-4.000018e-02,-6.879988e+01
375
--8.000727e-02,7.999982e-02,-6.479987e+01
376
--8.000727e-02,-4.000018e-02,-6.759988e+01
377
-7.999273e-02,7.999982e-02,-6.679987e+01
378
-7.999273e-02,7.999982e-02,-8.279993e+01
379
--8.000727e-02,-4.000018e-02,-6.759988e+01
380
--8.000727e-02,-4.000018e-02,-7.079989e+01
381
-2.959992e+00,3.039998e+00,-6.679987e+01
382
-3.039992e+00,2.959998e+00,-7.559991e+01
383
-2.879992e+00,3.079998e+00,-6.879988e+01
384
-3.039992e+00,2.959998e+00,-6.959988e+01
385
-2.879992e+00,3.079998e+00,-6.679987e+01
386
-3.039992e+00,2.959998e+00,-6.679987e+01
387
-2.879992e+00,3.079998e+00,-7.359990e+01
388
-3.039992e+00,3.079998e+00,-6.479987e+01
389
-2.879992e+00,2.959998e+00,-8.079993e+01
390
-3.039992e+00,3.079998e+00,-6.679987e+01
391
-7.999273e-02,3.999982e-02,-7.159989e+01
392
-7.999273e-02,7.999982e-02,-6.959988e+01
393
--8.000727e-02,-4.000018e-02,-6.879988e+01
394
--8.000727e-02,-4.000018e-02,-7.559991e+01
395
-7.999273e-02,7.999982e-02,-7.279990e+01
396
--8.000727e-02,-4.000018e-02,-7.279990e+01
397
-7.999273e-02,7.999982e-02,-7.159989e+01
398
--8.000727e-02,-4.000018e-02,-6.879988e+01
399
-7.999273e-02,7.999982e-02,-7.759991e+01
400
--8.000727e-02,-4.000018e-02,-7.079989e+01
401
-2.959992e+00,2.999998e+00,-9.880000e+01
402
-3.039992e+00,3.079998e+00,-6.559987e+01
403
-2.879992e+00,2.959998e+00,-5.879984e+01
404
-3.039992e+00,3.039998e+00,-6.759988e+01
405
-2.879992e+00,2.959998e+00,-6.559987e+01
406
-2.879992e+00,3.079998e+00,-7.359990e+01
407
-3.039992e+00,2.959998e+00,-6.279986e+01
408
-3.039992e+00,3.079998e+00,-8.159993e+01
409
-2.879992e+00,2.959998e+00,-7.359990e+01
410
-3.039992e+00,3.079998e+00,-6.679987e+01
411
-7.999273e-02,7.999982e-02,-8.279993e+01
412
-7.999273e-02,-4.000018e-02,-6.359986e+01
413
--8.000727e-02,7.999982e-02,-7.479990e+01
414
--8.000727e-02,-4.000018e-02,-6.759988e+01
415
-7.999273e-02,7.999982e-02,-6.679987e+01
416
-7.999273e-02,-4.000018e-02,-6.959988e+01
417
--8.000727e-02,7.999982e-02,-6.479987e+01
418
-7.999273e-02,-4.000018e-02,-7.959992e+01
419
--8.000727e-02,7.999982e-02,-6.679987e+01
420
--8.000727e-02,-4.000018e-02,-7.959992e+01
421
-2.959992e+00,2.999998e+00,-7.359990e+01
422
-3.039992e+00,3.079998e+00,-6.679987e+01
423
-2.879992e+00,2.959998e+00,-8.279993e+01
424
-3.039992e+00,2.959998e+00,-7.359990e+01
425
-2.879992e+00,3.079998e+00,-6.759988e+01
426
-3.039992e+00,2.959998e+00,-6.959988e+01
427
-2.879992e+00,3.079998e+00,-6.959988e+01
428
-2.879992e+00,3.119998e+00,-6.879988e+01
429
-3.039992e+00,2.959998e+00,-7.279990e+01
430
-3.039992e+00,3.119998e+00,-6.359986e+01
431
--7.271767e-06,-1.788139e-07,-8.079993e+01
432
-7.999273e-02,7.999982e-02,-7.279990e+01
433
--8.000727e-02,-4.000018e-02,-6.559987e+01
434
-7.999273e-02,-4.000018e-02,-7.279990e+01
435
--8.000727e-02,7.999982e-02,-6.959988e+01
436
--8.000727e-02,-4.000018e-02,-8.159993e+01
437
-7.999273e-02,7.999982e-02,-7.159989e+01
438
-7.999273e-02,-4.000018e-02,-7.479990e+01
439
--8.000727e-02,7.999982e-02,-7.079989e+01
440
--8.000727e-02,-4.000018e-02,-8.079993e+01
441
-2.959992e+00,3.039998e+00,-7.279990e+01
442
-3.039992e+00,3.079998e+00,-7.679991e+01
443
-2.879992e+00,2.959998e+00,-7.279990e+01
444
-3.039992e+00,3.079998e+00,-8.279993e+01
445
-2.879992e+00,2.959998e+00,-6.679987e+01
446
-3.039992e+00,3.039998e+00,-8.679995e+01
447
-2.879992e+00,2.959998e+00,-6.679987e+01
448
-3.039992e+00,2.959998e+00,-7.559991e+01
449
-2.879992e+00,3.079998e+00,-7.879992e+01
450
-3.039992e+00,3.079998e+00,-7.159989e+01
451
--7.271767e-06,3.999982e-02,-7.959992e+01
452
-7.999273e-02,-4.000018e-02,-6.959988e+01
453
--8.000727e-02,7.999982e-02,-7.479990e+01
454
--8.000727e-02,-4.000018e-02,-7.879992e+01
455
-7.999273e-02,7.999982e-02,-7.479990e+01
456
--8.000727e-02,-4.000018e-02,-8.279993e+01
457
-7.999273e-02,7.999982e-02,-7.159989e+01
458
--8.000727e-02,7.999982e-02,-7.759991e+01
459
-7.999273e-02,-4.000018e-02,-8.079993e+01
460
--8.000727e-02,-4.000018e-02,-7.959992e+01
461
-2.959992e+00,3.039998e+00,-7.879992e+01
462
-3.039992e+00,3.079998e+00,-8.159993e+01
463
-2.879992e+00,2.959998e+00,-7.879992e+01
464
-3.039992e+00,3.079998e+00,-7.079989e+01
465
-2.879992e+00,2.959998e+00,-8.159993e+01
466
-3.039992e+00,2.959998e+00,-6.959988e+01
467
-2.879992e+00,3.079998e+00,-7.159989e+01
468
-3.039992e+00,2.959998e+00,-7.079989e+01
469
-2.879992e+00,3.079998e+00,-7.159989e+01
470
-3.039992e+00,3.119998e+00,-6.959988e+01
471
--7.271767e-06,-1.788139e-07,-7.479990e+01
472
-7.999273e-02,1.199998e-01,-7.479990e+01
473
--8.000727e-02,-4.000018e-02,-7.559991e+01
474
--8.000727e-02,7.999982e-02,-7.679991e+01
475
-7.999273e-02,-4.000018e-02,-7.679991e+01
476
--8.000727e-02,-4.000018e-02,-8.359994e+01
477
-7.999273e-02,7.999982e-02,-8.679995e+01
478
--8.000727e-02,-4.000018e-02,-8.159993e+01
479
-7.999273e-02,7.999982e-02,-7.879992e+01
480
--8.000727e-02,-4.000018e-02,-7.479990e+01
481
-2.959992e+00,3.079998e+00,-7.679991e+01
482
-3.039992e+00,3.079998e+00,-7.159989e+01
483
-2.879992e+00,2.959998e+00,-7.879992e+01
484
-3.039992e+00,3.079998e+00,-6.759988e+01
485
-2.879992e+00,2.959998e+00,-7.079989e+01
486
-3.039992e+00,2.959998e+00,-7.079989e+01
487
-2.879992e+00,3.079998e+00,-7.079989e+01
488
-3.039992e+00,2.959998e+00,-6.959988e+01
489
-2.879992e+00,3.079998e+00,-7.559991e+01
490
-3.039992e+00,3.079998e+00,-6.359986e+01
491
--7.271767e-06,-1.788139e-07,-6.959988e+01
492
-7.999273e-02,-4.000018e-02,-6.159985e+01
493
--8.000727e-02,7.999982e-02,-6.359986e+01
494
-7.999273e-02,7.999982e-02,-5.959985e+01
495
--8.000727e-02,-4.000018e-02,-5.959985e+01
496
--8.000727e-02,-4.000018e-02,-6.359986e+01
497
-7.999273e-02,7.999982e-02,-5.559983e+01
498
--8.000727e-02,-4.000018e-02,-6.879988e+01
499
-7.999273e-02,7.999982e-02,-5.159982e+01
500
--8.000727e-02,-4.000018e-02,-5.359982e+01
501
-2.959992e+00,3.079998e+00,-5.079981e+01
502
-3.039992e+00,3.079998e+00,-3.959977e+01
503
-2.879992e+00,2.959998e+00,-3.359975e+01
504
-3.039992e+00,3.079998e+00,-3.879977e+01
505
-2.879992e+00,2.959998e+00,-4.959981e+01
506
-3.039992e+00,3.079998e+00,-5.159982e+01
507
-2.879992e+00,2.959998e+00,-4.959981e+01
508
-3.039992e+00,3.079998e+00,-5.279982e+01
509
-2.879992e+00,2.959998e+00,-6.279986e+01
510
-3.039992e+00,3.079998e+00,-5.559983e+01
511
-7.999273e-02,-1.788139e-07,-5.679984e+01
512
-7.999273e-02,-4.000018e-02,-5.959985e+01
513
--8.000727e-02,7.999982e-02,-5.679984e+01
514
--8.000727e-02,7.999982e-02,-6.959988e+01
515
-7.999273e-02,-4.000018e-02,-5.759984e+01
516
--8.000727e-02,-4.000018e-02,-6.479987e+01
517
-7.999273e-02,7.999982e-02,-6.159985e+01
518
--8.000727e-02,-4.000018e-02,-6.079985e+01
519
-7.999273e-02,7.999982e-02,-7.079989e+01
520
--8.000727e-02,-4.000018e-02,-6.159985e+01
521
-2.959992e+00,3.039998e+00,-6.679987e+01
522
-3.039992e+00,3.079998e+00,-6.559987e+01
523
-2.879992e+00,2.959998e+00,-6.159985e+01
524
-3.039992e+00,2.959998e+00,-7.079989e+01
525
-2.879992e+00,3.079998e+00,-6.079985e+01
526
-3.039992e+00,2.959998e+00,-7.479990e+01
527
-2.879992e+00,3.119998e+00,-6.359986e+01
528
-3.039992e+00,2.959998e+00,-6.479987e+01
529
-2.879992e+00,3.079998e+00,-6.759988e+01
530
-3.039992e+00,3.079998e+00,-6.279986e+01
531
--7.271767e-06,-1.788139e-07,-7.359990e+01
532
-7.999273e-02,-4.000018e-02,-6.559987e+01
533
--8.000727e-02,7.999982e-02,-6.759988e+01
534
-7.999273e-02,-4.000018e-02,-7.159989e+01
535
--8.000727e-02,7.999982e-02,-6.159985e+01
536
-7.999273e-02,-4.000018e-02,-7.879992e+01
537
--8.000727e-02,7.999982e-02,-6.159985e+01
538
-7.999273e-02,-4.000018e-02,-6.559987e+01
539
--8.000727e-02,7.999982e-02,-5.959985e+01
540
--8.000727e-02,-4.000018e-02,-6.959988e+01
541
-2.959992e+00,3.039998e+00,-6.759988e+01
542
-2.879992e+00,3.079998e+00,-6.479987e+01
543
-3.039992e+00,2.959998e+00,-7.479990e+01
544
-3.039992e+00,3.079998e+00,-6.279986e+01
545
-2.879992e+00,2.959998e+00,-6.879988e+01
546
-3.039992e+00,3.079998e+00,-6.559987e+01
547
-2.879992e+00,2.959998e+00,-6.679987e+01
548
-3.039992e+00,3.079998e+00,-7.159989e+01
549
-2.879992e+00,2.959998e+00,-6.679987e+01
550
-3.039992e+00,3.079998e+00,-6.559987e+01
551
--7.271767e-06,3.999982e-02,-6.679987e+01
552
-7.999273e-02,7.999982e-02,-6.759988e+01
553
--8.000727e-02,-4.000018e-02,-6.679987e+01
554
--8.000727e-02,7.999982e-02,-8.559995e+01
555
-7.999273e-02,-4.000018e-02,-6.879988e+01
556
--8.000727e-02,-4.000018e-02,-6.759988e+01
557
-7.999273e-02,7.999982e-02,-6.479987e+01
558
-7.999273e-02,-4.000018e-02,-7.359990e+01
559
--8.000727e-02,7.999982e-02,-7.959992e+01
560
--8.000727e-02,-4.000018e-02,-7.359990e+01
561
-2.959992e+00,3.039998e+00,-6.879988e+01
562
-3.039992e+00,2.959998e+00,-7.079989e+01
563
-2.879992e+00,3.079998e+00,-6.759988e+01
564
-3.039992e+00,3.079998e+00,-7.959992e+01
565
-2.879992e+00,2.959998e+00,-6.159985e+01
566
-3.039992e+00,3.039998e+00,-7.479990e+01
567
-2.879992e+00,2.959998e+00,-6.759988e+01
568
-2.879992e+00,3.079998e+00,-6.559987e+01
569
-3.039992e+00,2.959998e+00,-6.679987e+01
570
-3.039992e+00,3.079998e+00,-6.759988e+01
571
-7.999273e-02,-1.788139e-07,-6.879988e+01
572
-7.999273e-02,-4.000018e-02,-6.359986e+01
573
--8.000727e-02,7.999982e-02,-7.559991e+01
574
-7.999273e-02,-4.000018e-02,-6.479987e+01
575
--8.000727e-02,7.999982e-02,-6.679987e+01
576
--8.000727e-02,7.999982e-02,-7.279990e+01
577
-7.999273e-02,-4.000018e-02,-6.959988e+01
578
-7.999273e-02,7.999982e-02,-8.359994e+01
579
--8.000727e-02,-4.000018e-02,-7.159989e+01
580
--8.000727e-02,-4.000018e-02,-6.759988e+01
581
-2.959992e+00,3.039998e+00,-7.159989e+01
582
-3.039992e+00,3.079998e+00,-7.359990e+01
583
-2.879992e+00,2.959998e+00,-7.279990e+01
584
-3.039992e+00,2.999998e+00,-7.279990e+01
585
-2.879992e+00,3.079998e+00,-6.679987e+01
586
-3.039992e+00,3.079998e+00,-6.879988e+01
587
-2.879992e+00,2.959998e+00,-7.079989e+01
588
-3.039992e+00,2.999998e+00,-7.479990e+01
589
-2.879992e+00,3.119998e+00,-7.159989e+01
590
-3.039992e+00,3.079998e+00,-7.359990e+01
591
--7.271767e-06,3.999982e-02,-7.359990e+01
592
-7.999273e-02,7.999982e-02,-7.679991e+01
593
--8.000727e-02,-4.000018e-02,-6.759988e+01
594
--8.000727e-02,-4.000018e-02,-7.079989e+01
595
-7.999273e-02,7.999982e-02,-7.479990e+01
596
--8.000727e-02,-4.000018e-02,-6.759988e+01
597
-7.999273e-02,7.999982e-02,-7.159989e+01
598
-7.999273e-02,-4.000018e-02,-6.759988e+01
599
--8.000727e-02,7.999982e-02,-7.159989e+01
600
--8.000727e-02,-4.000018e-02,-7.679991e+01
601
-2.959992e+00,2.999998e+00,-7.359990e+01
602
-3.039992e+00,2.959998e+00,-6.159985e+01
603
-2.879992e+00,3.079998e+00,-5.679984e+01
604
-3.039992e+00,3.079998e+00,-7.359990e+01
605
-2.879992e+00,2.959998e+00,-6.679987e+01
606
-3.039992e+00,2.959998e+00,-7.879992e+01
607
-2.879992e+00,3.079998e+00,-7.359990e+01
608
-3.039992e+00,2.959998e+00,-6.559987e+01
609
-2.879992e+00,3.119998e+00,-7.159989e+01
610
-3.039992e+00,3.079998e+00,-6.479987e+01
611
-7.999273e-02,-1.788139e-07,-7.479990e+01
612
-7.999273e-02,-4.000018e-02,-6.759988e+01
613
--8.000727e-02,7.999982e-02,-6.759988e+01
614
-7.999273e-02,-4.000018e-02,-7.079989e+01
615
--8.000727e-02,7.999982e-02,-6.759988e+01
616
-7.999273e-02,7.999982e-02,-7.479990e+01
617
--8.000727e-02,-4.000018e-02,-6.959988e+01
618
--8.000727e-02,7.999982e-02,-7.159989e+01
619
-7.999273e-02,-4.000018e-02,-6.679987e+01
620
--8.000727e-02,-4.000018e-02,-7.759991e+01
621
-2.959992e+00,3.039998e+00,-7.079989e+01
622
-3.039992e+00,3.079998e+00,-6.879988e+01
623
-2.879992e+00,2.959998e+00,-7.159989e+01
624
-3.039992e+00,3.119998e+00,-7.159989e+01
625
-2.879992e+00,2.959998e+00,-6.759988e+01
626
-3.039992e+00,2.959998e+00,-7.559991e+01
627
-2.879992e+00,3.119998e+00,-6.479987e+01
628
-3.039992e+00,3.119998e+00,-7.879992e+01
629
-2.879992e+00,2.959998e+00,-6.679987e+01
630
-3.039992e+00,3.079998e+00,-7.959992e+01
631
--7.271767e-06,-1.788139e-07,-6.959988e+01
632
-7.999273e-02,7.999982e-02,-6.759988e+01
633
--8.000727e-02,-4.000018e-02,-7.879992e+01
634
--8.000727e-02,7.999982e-02,-7.279990e+01
635
-7.999273e-02,-4.000018e-02,-6.759988e+01
636
--8.000727e-02,7.999982e-02,-7.079989e+01
637
-7.999273e-02,-4.000018e-02,-7.279990e+01
638
--8.000727e-02,7.999982e-02,-6.479987e+01
639
-7.999273e-02,-4.000018e-02,-8.679995e+01
640
--8.000727e-02,-4.000018e-02,-6.479987e+01
641
-2.959992e+00,3.039998e+00,-7.679991e+01
642
-3.039992e+00,3.079998e+00,-6.559987e+01
643
-2.879992e+00,2.959998e+00,-7.159989e+01
644
-3.039992e+00,3.079998e+00,-7.079989e+01
645
-2.959992e+00,2.959998e+00,-6.879988e+01
646
-3.039992e+00,3.079998e+00,-7.559991e+01
647
-2.879992e+00,2.959998e+00,-7.159989e+01
648
-3.039992e+00,3.079998e+00,-7.279990e+01
649
-2.879992e+00,2.959998e+00,-7.479990e+01
650
-3.039992e+00,3.079998e+00,-6.479987e+01
651
-7.999273e-02,3.999982e-02,-7.159989e+01
652
-7.999273e-02,-4.000018e-02,-7.879992e+01
653
--8.000727e-02,7.999982e-02,-7.359990e+01
654
-7.999273e-02,-4.000018e-02,-7.279990e+01
655
--8.000727e-02,7.999982e-02,-7.159989e+01
656
-7.999273e-02,-4.000018e-02,-7.159989e+01
657
--8.000727e-02,7.999982e-02,-6.879988e+01
658
--8.000727e-02,-4.000018e-02,-7.359990e+01
659
-7.999273e-02,7.999982e-02,-7.279990e+01
660
--8.000727e-02,-4.000018e-02,-6.479987e+01
661
-2.959992e+00,3.039998e+00,-7.559991e+01
662
-3.039992e+00,2.999998e+00,-6.479987e+01
663
-2.879992e+00,3.079998e+00,-7.279990e+01
664
-3.039992e+00,3.079998e+00,-8.559995e+01
665
-2.879992e+00,2.959998e+00,-6.679987e+01
666
-3.039992e+00,3.079998e+00,-7.359990e+01
667
-2.879992e+00,2.959998e+00,-6.679987e+01
668
-3.039992e+00,2.959998e+00,-7.359990e+01
669
-2.879992e+00,3.079998e+00,-7.079989e+01
670
-3.039992e+00,3.079998e+00,-6.759988e+01
671
-7.999273e-02,-1.788139e-07,-7.079989e+01
672
-7.999273e-02,7.999982e-02,-6.879988e+01
673
--8.000727e-02,-4.000018e-02,-7.279990e+01
674
--8.000727e-02,-4.000018e-02,-6.479987e+01
675
-7.999273e-02,7.999982e-02,-7.079989e+01
676
--8.000727e-02,7.999982e-02,-6.759988e+01
677
-7.999273e-02,-4.000018e-02,-6.759988e+01
678
--8.000727e-02,7.999982e-02,-6.959988e+01
679
-7.999273e-02,-4.000018e-02,-7.759991e+01
680
--8.000727e-02,-4.000018e-02,-6.959988e+01
681
-2.959992e+00,3.039998e+00,-6.879988e+01
682
-3.039992e+00,2.999998e+00,-6.479987e+01
683
-2.879992e+00,3.079998e+00,-7.079989e+01
684
-3.039992e+00,2.959998e+00,-8.079993e+01
685
-2.879992e+00,3.079998e+00,-6.879988e+01
686
-3.039992e+00,2.959998e+00,-7.079989e+01
687
-2.879992e+00,3.079998e+00,-6.559987e+01
688
-3.039992e+00,3.079998e+00,-6.879988e+01
689
-2.879992e+00,2.959998e+00,-7.359990e+01
690
-3.039992e+00,3.079998e+00,-6.559987e+01
691
--7.271767e-06,-1.788139e-07,-7.479990e+01
692
-7.999273e-02,-4.000018e-02,-6.279986e+01
693
--8.000727e-02,7.999982e-02,-6.679987e+01
694
--8.000727e-02,-4.000018e-02,-6.559987e+01
695
-7.999273e-02,7.999982e-02,-5.959985e+01
696
-7.999273e-02,-4.000018e-02,-7.079989e+01
697
--8.000727e-02,7.999982e-02,-5.959985e+01
698
-7.999273e-02,-4.000018e-02,-5.959985e+01
699
--8.000727e-02,7.999982e-02,-5.759984e+01
700
--8.000727e-02,-4.000018e-02,-5.079981e+01
701
-2.959992e+00,3.039998e+00,-6.359986e+01
702
-3.039992e+00,3.079998e+00,-3.879977e+01
703
-2.879992e+00,2.959998e+00,-3.479975e+01
704
-3.039992e+00,2.999998e+00,-4.359978e+01
705
-2.879992e+00,3.079998e+00,-4.759980e+01
706
-3.039992e+00,3.079998e+00,-5.559983e+01
707
-2.879992e+00,2.959998e+00,-5.359982e+01
708
-3.039992e+00,3.079998e+00,-6.959988e+01
709
-2.879992e+00,2.959998e+00,-5.559983e+01
710
-3.039992e+00,3.079998e+00,-5.959985e+01
711
--7.271767e-06,-1.788139e-07,-6.159985e+01
712
-7.999273e-02,7.999982e-02,-5.959985e+01
713
--8.000727e-02,-4.000018e-02,-7.559991e+01
714
-7.999273e-02,7.999982e-02,-6.079985e+01
715
--8.000727e-02,-4.000018e-02,-6.159985e+01
716
-7.999273e-02,7.999982e-02,-5.959985e+01
717
--8.000727e-02,-4.000018e-02,-5.959985e+01
718
--8.000727e-02,-4.000018e-02,-6.079985e+01
719
-7.999273e-02,7.999982e-02,-7.479990e+01
720
--8.000727e-02,-4.000018e-02,-6.479987e+01
721
-2.959992e+00,3.039998e+00,-6.159985e+01
722
-3.039992e+00,3.079998e+00,-6.479987e+01
723
-2.879992e+00,2.959998e+00,-6.079985e+01
724
-3.039992e+00,2.959998e+00,-6.959988e+01
725
-2.879992e+00,3.079998e+00,-6.159985e+01
726
-3.039992e+00,2.959998e+00,-6.879988e+01
727
-2.959992e+00,3.119998e+00,-6.359986e+01
728
-3.039992e+00,2.959998e+00,-6.679987e+01
729
-2.879992e+00,3.079998e+00,-7.359990e+01
730
-3.039992e+00,3.079998e+00,-6.559987e+01
731
-7.999273e-02,-1.788139e-07,-7.359990e+01
732
-7.999273e-02,-4.000018e-02,-6.759988e+01
733
--8.000727e-02,7.999982e-02,-6.479987e+01
734
--8.000727e-02,-4.000018e-02,-6.759988e+01
735
-7.999273e-02,7.999982e-02,-6.559987e+01
736
--8.000727e-02,7.999982e-02,-7.079989e+01
737
-7.999273e-02,-4.000018e-02,-6.479987e+01
738
-7.999273e-02,7.999982e-02,-6.679987e+01
739
--8.000727e-02,-4.000018e-02,-6.879988e+01
740
--8.000727e-02,-4.000018e-02,-6.479987e+01
741
-2.959992e+00,3.039998e+00,-9.159997e+01
742
-3.039992e+00,2.999998e+00,-6.159985e+01
743
-2.879992e+00,3.079998e+00,-7.159989e+01
744
-3.039992e+00,3.079998e+00,-6.679987e+01
745
-2.879992e+00,2.959998e+00,-6.879988e+01
746
-3.039992e+00,2.999998e+00,-7.679991e+01
747
-2.879992e+00,3.079998e+00,-6.159985e+01
748
-3.039992e+00,2.959998e+00,-6.879988e+01
749
-2.879992e+00,3.079998e+00,-7.479990e+01
750
-3.039992e+00,3.079998e+00,-6.559987e+01
751
--7.271767e-06,3.999982e-02,-6.679987e+01
752
-7.999273e-02,-4.000018e-02,-6.959988e+01
753
--8.000727e-02,7.999982e-02,-6.959988e+01
754
--8.000727e-02,-4.000018e-02,-6.479987e+01
755
-7.999273e-02,7.999982e-02,-6.959988e+01
756
-7.999273e-02,-4.000018e-02,-7.559991e+01
757
--8.000727e-02,7.999982e-02,-6.479987e+01
758
--8.000727e-02,7.999982e-02,-6.759988e+01
759
-7.999273e-02,-4.000018e-02,-6.559987e+01
760
--8.000727e-02,-4.000018e-02,-6.759988e+01
761
-2.959992e+00,2.999998e+00,-6.479987e+01
762
-3.039992e+00,2.959998e+00,-6.559987e+01
763
-2.879992e+00,3.079998e+00,-6.559987e+01
764
-2.879992e+00,2.999998e+00,-7.359990e+01
765
-3.039992e+00,3.079998e+00,-6.959988e+01
766
-3.039992e+00,3.079998e+00,-7.359990e+01
767
-2.879992e+00,2.959998e+00,-7.079989e+01
768
-3.039992e+00,3.079998e+00,-7.759991e+01
769
-2.879992e+00,2.959998e+00,-6.759988e+01
770
-3.039992e+00,3.079998e+00,-6.559987e+01
771
--7.271767e-06,-1.788139e-07,-6.559987e+01
772
-7.999273e-02,-4.000018e-02,-6.679987e+01
773
--8.000727e-02,7.999982e-02,-6.479987e+01
774
-7.999273e-02,7.999982e-02,-7.479990e+01
775
--8.000727e-02,-4.000018e-02,-6.679987e+01
776
-7.999273e-02,-4.000018e-02,-7.279990e+01
777
--8.000727e-02,7.999982e-02,-6.359986e+01
778
-7.999273e-02,7.999982e-02,-7.559991e+01
779
--8.000727e-02,-4.000018e-02,-7.079989e+01
780
--8.000727e-02,-4.000018e-02,-6.359986e+01
781
-2.959992e+00,3.039998e+00,-6.959988e+01
782
-3.039992e+00,2.959998e+00,-6.479987e+01
783
-2.879992e+00,3.079998e+00,-7.759991e+01
784
-3.039992e+00,2.999998e+00,-6.679987e+01
785
-2.879992e+00,3.079998e+00,-7.679991e+01
786
-2.879992e+00,3.079998e+00,-8.759995e+01
787
-3.039992e+00,2.959998e+00,-6.559987e+01
788
-2.879992e+00,3.079998e+00,-7.959992e+01
789
-3.039992e+00,2.959998e+00,-6.879988e+01
790
-3.039992e+00,3.079998e+00,-6.879988e+01
791
--7.271767e-06,3.999982e-02,-6.679987e+01
792
-7.999273e-02,7.999982e-02,-7.479990e+01
793
--8.000727e-02,-4.000018e-02,-7.759991e+01
794
--8.000727e-02,7.999982e-02,-7.359990e+01
795
-7.999273e-02,-4.000018e-02,-7.159989e+01
796
--8.000727e-02,7.999982e-02,-6.879988e+01
797
-7.999273e-02,-4.000018e-02,-7.079989e+01
798
--8.000727e-02,7.999982e-02,-7.479990e+01
799
-7.999273e-02,-4.000018e-02,-6.479987e+01
800
--8.000727e-02,-4.000018e-02,-8.159993e+01
801
-2.959992e+00,3.039998e+00,-7.479990e+01
802
-3.039992e+00,3.079998e+00,-6.679987e+01

BIN
captures/Spreadsheet look for CSV.png View File


+ 28
- 28
telnetlib_receive_all.py View File

11
 >>> from telnetlib import Telnet
11
 >>> from telnetlib import Telnet
12
 >>> tn = Telnet('www.python.org', 79)   # connect to finger port
12
 >>> tn = Telnet('www.python.org', 79)   # connect to finger port
13
 >>> tn.write('guido\r\n')
13
 >>> tn.write('guido\r\n')
14
->>> print tn.read_all()
14
+>>> print (tn.read_all())
15
 Login       Name               TTY         Idle    When    Where
15
 Login       Name               TTY         Idle    When    Where
16
 guido    Guido van Rossum      pts/2        <Dec  2 11:10> snag.cnri.reston..
16
 guido    Guido van Rossum      pts/2        <Dec  2 11:10> snag.cnri.reston..
17
 
17
 
201
         self.port = port
201
         self.port = port
202
         self.timeout = timeout
202
         self.timeout = timeout
203
         self.sock = None
203
         self.sock = None
204
-        self.rawq = ''
204
+        self.rawq = b''
205
         self.irawq = 0
205
         self.irawq = 0
206
-        self.cookedq = ''
206
+        self.cookedq = b''
207
         self.eof = 0
207
         self.eof = 0
208
-        self.iacseq = '' # Buffer for IAC sequence.
208
+        self.iacseq = b'' # Buffer for IAC sequence.
209
         self.sb = 0 # flag for SB and SE sequence.
209
         self.sb = 0 # flag for SB and SE sequence.
210
-        self.sbdataq = ''
210
+        self.sbdataq = b''
211
         self.option_callback = None
211
         self.option_callback = None
212
         self._has_poll = hasattr(select, 'poll')
212
         self._has_poll = hasattr(select, 'poll')
213
         if host is not None:
213
         if host is not None:
241
 
241
 
242
         """
242
         """
243
         if self.debuglevel > 0:
243
         if self.debuglevel > 0:
244
-            print 'Telnet(%s,%s):' % (self.host, self.port),
244
+            print ('Telnet(%s,%s):' % (self.host, self.port),)
245
             if args:
245
             if args:
246
-                print msg % args
246
+                print (msg % args)
247
             else:
247
             else:
248
-                print msg
248
+                print (msg)
249
 
249
 
250
     def set_debuglevel(self, debuglevel):
250
     def set_debuglevel(self, debuglevel):
251
         """Set the debug level.
251
         """Set the debug level.
260
         sock = self.sock
260
         sock = self.sock
261
         self.sock = 0
261
         self.sock = 0
262
         self.eof = 1
262
         self.eof = 1
263
-        self.iacseq = ''
263
+        self.iacseq = b''
264
         self.sb = 0
264
         self.sb = 0
265
         if sock:
265
         if sock:
266
             sock.close()
266
             sock.close()
283
         if IAC in buffer:
283
         if IAC in buffer:
284
             buffer = buffer.replace(IAC, IAC+IAC)
284
             buffer = buffer.replace(IAC, IAC+IAC)
285
         self.msg("send %r", buffer)
285
         self.msg("send %r", buffer)
286
-        self.sock.sendall(buffer)
286
+        self.sock.sendall(bytes(buffer, 'ascii'))
287
 
287
 
288
     def read_until(self, match, timeout=None):
288
     def read_until(self, match, timeout=None):
289
         """Read until a given string is encountered or until timeout.
289
         """Read until a given string is encountered or until timeout.
388
             self.fill_rawq()
388
             self.fill_rawq()
389
             self.process_rawq()
389
             self.process_rawq()
390
         buf = self.cookedq
390
         buf = self.cookedq
391
-        self.cookedq = ''
391
+        self.cookedq = b''
392
         return buf
392
         return buf
393
 
393
 
394
     def read_some(self):
394
     def read_some(self):
403
             self.fill_rawq()
403
             self.fill_rawq()
404
             self.process_rawq()
404
             self.process_rawq()
405
         buf = self.cookedq
405
         buf = self.cookedq
406
-        self.cookedq = ''
406
+        self.cookedq = b''
407
         return buf
407
         return buf
408
 
408
 
409
     def read_very_eager(self):
409
     def read_very_eager(self):
453
 
453
 
454
         """
454
         """
455
         buf = self.cookedq
455
         buf = self.cookedq
456
-        self.cookedq = ''
456
+        self.cookedq = b''
457
         if not buf and self.eof and not self.rawq:
457
         if not buf and self.eof and not self.rawq:
458
-            raise EOFError, 'telnet connection closed'
458
+            raise EOFError ('telnet connection closed')
459
         return buf
459
         return buf
460
 
460
 
461
     def read_sb_data(self):
461
     def read_sb_data(self):
467
 
467
 
468
         """
468
         """
469
         buf = self.sbdataq
469
         buf = self.sbdataq
470
-        self.sbdataq = ''
470
+        self.sbdataq = b''
471
         return buf
471
         return buf
472
 
472
 
473
     def set_option_negotiation_callback(self, callback):
473
     def set_option_negotiation_callback(self, callback):
481
         the midst of an IAC sequence.
481
         the midst of an IAC sequence.
482
 
482
 
483
         """
483
         """
484
-        buf = ['', '']
484
+        buf = [b'', b'']
485
         try:
485
         try:
486
             while self.rawq:
486
             while self.rawq:
487
                 c = self.rawq_getchar()
487
                 c = self.rawq_getchar()
501
                         self.iacseq += c
501
                         self.iacseq += c
502
                         continue
502
                         continue
503
 
503
 
504
-                    self.iacseq = ''
504
+                    self.iacseq = b''
505
                     if c == IAC:
505
                     if c == IAC:
506
                         buf[self.sb] = buf[self.sb] + c
506
                         buf[self.sb] = buf[self.sb] + c
507
                     else:
507
                     else:
508
                         if c == SB: # SB ... SE start.
508
                         if c == SB: # SB ... SE start.
509
                             self.sb = 1
509
                             self.sb = 1
510
-                            self.sbdataq = ''
510
+                            self.sbdataq = b''
511
                         elif c == SE:
511
                         elif c == SE:
512
                             self.sb = 0
512
                             self.sb = 0
513
                             self.sbdataq = self.sbdataq + buf[1]
513
                             self.sbdataq = self.sbdataq + buf[1]
514
-                            buf[1] = ''
514
+                            buf[1] = b''
515
                         if self.option_callback:
515
                         if self.option_callback:
516
                             # Callback is supposed to look into
516
                             # Callback is supposed to look into
517
                             # the sbdataq
517
                             # the sbdataq
523
                             self.msg('IAC %d not recognized' % ord(c))
523
                             self.msg('IAC %d not recognized' % ord(c))
524
                 elif len(self.iacseq) == 2:
524
                 elif len(self.iacseq) == 2:
525
                     cmd = self.iacseq[1]
525
                     cmd = self.iacseq[1]
526
-                    self.iacseq = ''
526
+                    self.iacseq = b''
527
                     opt = c
527
                     opt = c
528
                     if cmd in (DO, DONT):
528
                     if cmd in (DO, DONT):
529
                         self.msg('IAC %s %d',
529
                         self.msg('IAC %s %d',
531
                         if self.option_callback:
531
                         if self.option_callback:
532
                             self.option_callback(self.sock, cmd, opt)
532
                             self.option_callback(self.sock, cmd, opt)
533
                         else:
533
                         else:
534
-                            self.sock.sendall(IAC + WONT + opt)
534
+                            self.sock.sendall(bytes(IAC + WONT + opt, 'ascii'))
535
                     elif cmd in (WILL, WONT):
535
                     elif cmd in (WILL, WONT):
536
                         self.msg('IAC %s %d',
536
                         self.msg('IAC %s %d',
537
                             cmd == WILL and 'WILL' or 'WONT', ord(opt))
537
                             cmd == WILL and 'WILL' or 'WONT', ord(opt))
538
                         if self.option_callback:
538
                         if self.option_callback:
539
                             self.option_callback(self.sock, cmd, opt)
539
                             self.option_callback(self.sock, cmd, opt)
540
                         else:
540
                         else:
541
-                            self.sock.sendall(IAC + DONT + opt)
541
+                            self.sock.sendall(bytes(IAC + DONT + opt, 'ascii'))
542
         except EOFError: # raised by self.rawq_getchar()
542
         except EOFError: # raised by self.rawq_getchar()
543
-            self.iacseq = '' # Reset on EOF
543
+            self.iacseq = b'' # Reset on EOF
544
             self.sb = 0
544
             self.sb = 0
545
             pass
545
             pass
546
         self.cookedq = self.cookedq + buf[0]
546
         self.cookedq = self.cookedq + buf[0]
557
             self.fill_rawq()
557
             self.fill_rawq()
558
             if self.eof:
558
             if self.eof:
559
                 raise EOFError
559
                 raise EOFError
560
-        c = self.rawq[self.irawq]
560
+        c = self.rawq[self.irawq:self.irawq+1]
561
         self.irawq = self.irawq + 1
561
         self.irawq = self.irawq + 1
562
         if self.irawq >= len(self.rawq):
562
         if self.irawq >= len(self.rawq):
563
-            self.rawq = ''
563
+            self.rawq = b''
564
             self.irawq = 0
564
             self.irawq = 0
565
         return c
565
         return c
566
 
566
 
572
 
572
 
573
         """
573
         """
574
         if self.irawq >= len(self.rawq):
574
         if self.irawq >= len(self.rawq):
575
-            self.rawq = ''
575
+            self.rawq = b''
576
             self.irawq = 0
576
             self.irawq = 0
577
         # The buffer size should be fairly small so as to avoid quadratic
577
         # The buffer size should be fairly small so as to avoid quadratic
578
         # behavior in process_rawq() above
578
         # behavior in process_rawq() above
596
                 try:
596
                 try:
597
                     text = self.read_eager()
597
                     text = self.read_eager()
598
                 except EOFError:
598
                 except EOFError:
599
-                    print '*** Connection closed by remote host ***'
599
+                    print ('*** Connection closed by remote host ***')
600
                     break
600
                     break
601
                 if text:
601
                 if text:
602
                     sys.stdout.write(text)
602
                     sys.stdout.write(text)
623
             try:
623
             try:
624
                 data = self.read_eager()
624
                 data = self.read_eager()
625
             except EOFError:
625
             except EOFError:
626
-                print '*** Connection closed by remote host ***'
626
+                print ('*** Connection closed by remote host ***')
627
                 return
627
                 return
628
             if data:
628
             if data:
629
                 sys.stdout.write(data)
629
                 sys.stdout.write(data)

Loading…
Cancel
Save