瀏覽代碼

added arg timeout to receive from ftth

Jean Sumara Leopoldo 4 年之前
父節點
當前提交
084df0bce6
共有 4 個文件被更改,包括 17 次插入4 次删除
  1. 3 1
      ObjectConnection.py
  2. 1 1
      ObjectSsh.py
  3. 1 1
      ObjectTelnet.py
  4. 12 1
      connect.py

+ 3 - 1
ObjectConnection.py

@@ -11,6 +11,7 @@ class ObjectConnection:
         self.password = None
         self.password_enable = None
         self.port = None
+        self.timeout = None
         self.file_name = None
         self.file_name_log = None
         self.file_name_exec = None
@@ -19,7 +20,7 @@ class ObjectConnection:
         self.NEW_LINE_UNIX = '\n'
         self.NEW_LINE_WINDOWS = '\r\n'
 
-    def initialize(self, brand, model, hostname, user, password, password_enable, port, file_name, data):
+    def initialize(self, brand, model, hostname, user, password, password_enable, port, file_name, data, timeout):
         """
         Initialize all properties
         :param brand:
@@ -31,6 +32,7 @@ class ObjectConnection:
         :param port:
         :param file_name:
         :param data:
+        :param timeout:
         :return:
         """
         self.brand = brand

+ 1 - 1
ObjectSsh.py

@@ -39,7 +39,7 @@ class ObjectSsh(ObjectConnection):
         ssh.load_system_host_keys()
         ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
         try:
-            ssh.connect(hostname=self.hostname, port=self.port, username=self.user, password=self.password,allow_agent=False, look_for_keys=False, timeout=15)
+            ssh.connect(hostname=self.hostname, port=self.port, username=self.user, password=self.password,allow_agent=False, look_for_keys=False, timeout=self.timeout)
             chan = ssh.invoke_shell()
             self.stdin = chan.makefile('wb')
             self.stdout = chan.makefile('r')

+ 1 - 1
ObjectTelnet.py

@@ -42,7 +42,7 @@ class ObjectTelnet(ObjectConnection):
         print("Lock Acquire\n")
         print("Login in...\n")
         try:
-            self.tn = telnetlib.Telnet(self.hostname, self.port, 15)
+            self.tn = telnetlib.Telnet(self.hostname, self.port, self.timeout)
             if self.debug:
                 self.tn.set_debuglevel(1)
             error = self.read_data([self.olt.get_expected_name()])

+ 12 - 1
connect.py

@@ -17,6 +17,7 @@ parser.add_argument('-p', '--password', type=str, help='Password', required=True
 parser.add_argument('-pe', '--password_enable', type=str, help='Password enable', required=False, default="")
 parser.add_argument('-pt', '--port', type=str, help='Port', required=False, default=None)
 parser.add_argument('-f', '--file', type=str, help='File name', required=False, default=None)
+parser.add_argument('-tm', '--timeout', type=str, help='Timeout', required=False, default=None)
 parser.add_argument('-d', '--data', type=str, help='Data to execute', required=False, default=None)
 
 args = parser.parse_args()
@@ -54,8 +55,18 @@ if __name__ == "__main__":
         except ValueError:
             port = 23
         obj = ObjectTelnet()
+
+    if args.timeout is None:
+        timeout = 25
+    else:
+        try:
+            val = int(args.timeout)
+            timeout = args.timeout
+        except ValueError:
+            timeout = 25
+
     obj.initialize(brand=args.brand, model=args.model, hostname=args.host_name, user=args.user_name,
                    password=args.password, password_enable=password_enable, port=port,
-                   file_name=args.file, data=args.data)
+                   file_name=args.file, data=args.data, timeout=timeout)
     obj.connect()
     exit(1)