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 7 years ago
parent
commit
444538b2c4

+ 50
- 48
OscScreenGrabLAN.py View File

@@ -3,8 +3,6 @@
3 3
 from telnetlib_receive_all import Telnet
4 4
 from Rigol_functions import *
5 5
 import time
6
-from PIL import Image
7
-import StringIO
8 6
 import sys
9 7
 import os
10 8
 import platform
@@ -74,27 +72,27 @@ script_name = os.path.basename(sys.argv[0])
74 72
 
75 73
 
76 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 97
 # Read/verify file type
100 98
 if len(sys.argv) <= 1:
@@ -102,7 +100,7 @@ if len(sys.argv) <= 1:
102 100
     sys.exit("Warning - wrong command line parameters.")
103 101
 elif sys.argv[1].lower() not in ["png", "bmp", "csv"]:
104 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 104
     sys.exit("ERROR")
107 105
 
108 106
 file_format = sys.argv[1].lower()
@@ -118,37 +116,36 @@ else:
118 116
     response = os.system("ping -c 1 " + IP_DS1104Z + " > /dev/null")
119 117
 
120 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 124
 # Open a modified telnet session
127 125
 # The default telnetlib drops 0x00 characters,
128 126
 #   so a modified library 'telnetlib_receive_all' is used instead
129 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 130
 # Check if instrument is set to accept LAN commands
133 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 135
     sys.exit("ERROR")
138 136
 
139 137
 # Check if instrument is indeed a Rigol DS1000Z series
140 138
 id_fields = instrument_id.split(",")
141 139
 if (id_fields[company] != "RIGOL TECHNOLOGIES") or \
142 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 144
     typed = raw_input("ARE YOU SURE YOU WANT TO CONTINUE? (No/Yes):")
147 145
     if typed != 'Yes':
148 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 150
 # Prepare filename as C:\MODEL_SERIAL_YYYY-MM-DD_HH.MM.SS
154 151
 timestamp = time.strftime("%Y-%m-%d_%H.%M.%S", time.localtime())
@@ -156,15 +153,19 @@ filename = path_to_save + id_fields[model] + "_" + id_fields[serial] + "_" + tim
156 153
 
157 154
 if file_format in ["png", "bmp"]:
158 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 163
     expectedBuffLen = expected_buff_bytes(buff)
163 164
     # Just in case the transfer did not complete in the expected time, read the remaining 'buff' chunks
164 165
     while len(buff) < expectedBuffLen:
165 166
         logging.warning("Received LESS data then expected! (" +
166 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 169
         if len(tmp) == 0:
169 170
             break
170 171
         buff += tmp
@@ -180,10 +181,11 @@ if file_format in ["png", "bmp"]:
180 181
     expectedDataLen = expected_data_bytes(buff)
181 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 190
 # TODO: Change WAV:FORM from ASC to BYTE
189 191
 elif file_format == "csv":
@@ -214,7 +216,7 @@ elif file_format == "csv":
214 216
 
215 217
     # for each active channel
216 218
     for channel in chanList:
217
-        print
219
+        print ()
218 220
 
219 221
         # Set WAVE parameters
220 222
         command(tn, ":WAV:SOUR " + channel)
@@ -226,7 +228,7 @@ elif file_format == "csv":
226 228
             command(tn, ":WAV:STOP 1200")
227 229
 
228 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 232
         buffChunk = command(tn, ":WAV:DATA?")
231 233
 
232 234
         # Just in case the transfer did not complete in the expected time
@@ -234,7 +236,7 @@ elif file_format == "csv":
234 236
             logging.warning("The data transfer did not complete in the expected time of " +
235 237
                             str(smallWait) + " second(s).")
236 238
 
237
-            tmp = tn.read_until("\n", smallWait)
239
+            tmp = tn.read_until(b"\n", smallWait)
238 240
             if len(tmp) == 0:
239 241
                 break
240 242
             buffChunk += tmp
@@ -278,6 +280,6 @@ elif file_format == "csv":
278 280
     scr_file.write(csv_buff)
279 281
     scr_file.close()
280 282
 
281
-    print "Saved file:", "'" + filename + "." + file_format + "'"
283
+    print ("Saved file:", "'" + filename + "." + file_format + "'")
282 284
 
283 285
 tn.close()

+ 6
- 6
Rigol_functions.py View File

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

Loading…
Cancel
Save