connect.py 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #!/usr/bin/env python
  2. import argparse
  3. import os.path
  4. import time
  5. from ObjectTelnet import ObjectTelnet
  6. from ObjectSsh import ObjectSsh
  7. parser = argparse.ArgumentParser(description='Arguments')
  8. parser.add_argument('-tc', '--type_connection', type=str, help='SSH or TELNET', required=True)
  9. parser.add_argument('-b', '--brand', type=str, help='Brand', required=True)
  10. parser.add_argument('-m', '--model', type=str, help='Modle Olt', required=False, default=None)
  11. parser.add_argument('-hn', '--host_name', type=str, help='Host name', required=True)
  12. parser.add_argument('-u', '--user_name', type=str, help='User name', required=True)
  13. parser.add_argument('-p', '--password', type=str, help='Password', required=True)
  14. parser.add_argument('-pe', '--password_enable', type=str, help='Password enable', required=False, default="")
  15. parser.add_argument('-pt', '--port', type=str, help='Port', required=False, default=None)
  16. parser.add_argument('-f', '--file', type=str, help='File name', required=False, default=None)
  17. parser.add_argument('-tm', '--timeout', type=str, help='Timeout', required=False, default=None)
  18. parser.add_argument('-d', '--data', type=str, help='Data to execute', required=False, default=None)
  19. args = parser.parse_args()
  20. if __name__ == "__main__":
  21. if args.timeout is None:
  22. timeout = 25
  23. else:
  24. try:
  25. val = int(args.timeout)
  26. timeout = args.timeout
  27. except ValueError:
  28. timeout = 25
  29. if args.password_enable is None or args.password_enable is "":
  30. password_enable = args.password
  31. else:
  32. password_enable = args.password_enable
  33. if args.file is not None:
  34. # wait 60 seconds to file exists
  35. nc = 0
  36. while not os.path.exists(args.file):
  37. time.sleep(1)
  38. nc += 1
  39. print(nc)
  40. if nc == timeout:
  41. break
  42. if not os.path.isfile(args.file):
  43. raise ValueError("%s isn't a file!" % args.file)
  44. print("FILE EXISTS: " + args.file)
  45. if args.type_connection == 'ssh':
  46. try:
  47. val = int(args.port)
  48. port = args.port
  49. except ValueError:
  50. port = 22
  51. obj = ObjectSsh()
  52. else:
  53. try:
  54. val = int(args.port)
  55. port = args.port
  56. except ValueError:
  57. port = 23
  58. obj = ObjectTelnet()
  59. obj.initialize(brand=args.brand, model=args.model, hostname=args.host_name, user=args.user_name,
  60. password=args.password, password_enable=password_enable, port=port,
  61. file_name=args.file, data=args.data, timeout=timeout)
  62. obj.connect()
  63. exit(1)