|
@@ -3,6 +3,8 @@ import errno
|
|
import sys
|
|
import sys
|
|
import telnetlib
|
|
import telnetlib
|
|
import time
|
|
import time
|
|
|
|
+import socket
|
|
|
|
+import sys
|
|
import fcntl
|
|
import fcntl
|
|
from FiberHome import FiberHome
|
|
from FiberHome import FiberHome
|
|
from Furukawa import Furukawa
|
|
from Furukawa import Furukawa
|
|
@@ -21,7 +23,7 @@ class ObjectTelnet(ObjectConnection):
|
|
|
|
|
|
def connect(self):
|
|
def connect(self):
|
|
"""
|
|
"""
|
|
- Connect by ssh to olt
|
|
|
|
|
|
+ Connect by telnet to olt
|
|
"""
|
|
"""
|
|
if self.brand.upper() == ZTE.__name__.upper():
|
|
if self.brand.upper() == ZTE.__name__.upper():
|
|
self.olt = ZTE(self.model, False)
|
|
self.olt = ZTE(self.model, False)
|
|
@@ -39,42 +41,45 @@ class ObjectTelnet(ObjectConnection):
|
|
fcntl.flock(f, fcntl.LOCK_EX)
|
|
fcntl.flock(f, fcntl.LOCK_EX)
|
|
print("Lock Acquire\n")
|
|
print("Lock Acquire\n")
|
|
print("Login in...\n")
|
|
print("Login in...\n")
|
|
- self.tn = telnetlib.Telnet(self.hostname, self.port)
|
|
|
|
- if self.debug:
|
|
|
|
- self.tn.set_debuglevel(1)
|
|
|
|
- error = self.read_data([self.olt.get_expected_name()])
|
|
|
|
- if error != -1:
|
|
|
|
- self.tn.write(self.user + self.NEW_LINE_UNIX)
|
|
|
|
- error = self.read_data([self.olt.get_expected_password()])
|
|
|
|
|
|
+ try:
|
|
|
|
+ self.tn = telnetlib.Telnet(self.hostname, self.port, 15)
|
|
|
|
+ if self.debug:
|
|
|
|
+ self.tn.set_debuglevel(1)
|
|
|
|
+ error = self.read_data([self.olt.get_expected_name()])
|
|
if error != -1:
|
|
if error != -1:
|
|
- self.tn.write(self.password + self.NEW_LINE_UNIX)
|
|
|
|
- print("Logged in...\n")
|
|
|
|
- print self.tn.read_very_lazy()
|
|
|
|
- cardinal = self.olt.get_expected_cardinal()
|
|
|
|
- if isinstance(cardinal, list):
|
|
|
|
- read_data_list = cardinal
|
|
|
|
- else:
|
|
|
|
- read_data_list = [cardinal]
|
|
|
|
- error = self.read_data(read_data_list)
|
|
|
|
|
|
+ self.tn.write(self.user + self.NEW_LINE_UNIX)
|
|
|
|
+ error = self.read_data([self.olt.get_expected_password()])
|
|
if error != -1:
|
|
if error != -1:
|
|
- if self.file_name is not None:
|
|
|
|
- self.connection_file()
|
|
|
|
- elif self.data is not None:
|
|
|
|
- self.connection_data()
|
|
|
|
|
|
+ self.tn.write(self.password + self.NEW_LINE_UNIX)
|
|
|
|
+ print("Logged in...\n")
|
|
|
|
+ print self.tn.read_very_lazy()
|
|
|
|
+ cardinal = self.olt.get_expected_cardinal()
|
|
|
|
+ if isinstance(cardinal, list):
|
|
|
|
+ read_data_list = cardinal
|
|
else:
|
|
else:
|
|
- self.connection_old()
|
|
|
|
- print("-----FIN-----")
|
|
|
|
- nc = 0
|
|
|
|
- while self.QUIT:
|
|
|
|
- if nc == 20:
|
|
|
|
- self.QUIT = False
|
|
|
|
- # send quit to terminal until exit confirmation
|
|
|
|
- self.command_quit(self.olt.get_write_exit())
|
|
|
|
- nc += 1
|
|
|
|
- self.tn.close()
|
|
|
|
- self.save_log()
|
|
|
|
- exit(self.RUN_OK)
|
|
|
|
- exit(self.RUN_ERROR)
|
|
|
|
|
|
+ read_data_list = [cardinal]
|
|
|
|
+ error = self.read_data(read_data_list)
|
|
|
|
+ if error != -1:
|
|
|
|
+ if self.file_name is not None:
|
|
|
|
+ self.connection_file()
|
|
|
|
+ elif self.data is not None:
|
|
|
|
+ self.connection_data()
|
|
|
|
+ else:
|
|
|
|
+ self.connection_old()
|
|
|
|
+ print("-----FIN-----")
|
|
|
|
+ nc = 0
|
|
|
|
+ while self.QUIT:
|
|
|
|
+ if nc == 20:
|
|
|
|
+ self.QUIT = False
|
|
|
|
+ # send quit to terminal until exit confirmation
|
|
|
|
+ self.command_quit(self.olt.get_write_exit())
|
|
|
|
+ nc += 1
|
|
|
|
+ self.tn.close()
|
|
|
|
+ self.save_log()
|
|
|
|
+ exit(self.RUN_OK)
|
|
|
|
+ exit(self.RUN_ERROR)
|
|
|
|
+ except socket.error:
|
|
|
|
+ sys.exit("Timeout Except")
|
|
|
|
|
|
def connection_old(self):
|
|
def connection_old(self):
|
|
"""
|
|
"""
|