connect.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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.password_enable is None or args.password_enable is "":
  22. password_enable = args.password
  23. else:
  24. password_enable = args.password_enable
  25. if args.file is not None:
  26. # wait 60 seconds to file exists
  27. nc = 0
  28. while not os.path.exists(args.file):
  29. time.sleep(1)
  30. nc += 1
  31. print(nc)
  32. if nc == 60:
  33. break
  34. if not os.path.isfile(args.file):
  35. raise ValueError("%s isn't a file!" % args.file)
  36. print("FILE EXISTS: " + args.file)
  37. if args.type_connection == 'ssh':
  38. try:
  39. val = int(args.port)
  40. port = args.port
  41. except ValueError:
  42. port = 22
  43. obj = ObjectSsh()
  44. else:
  45. try:
  46. val = int(args.port)
  47. port = args.port
  48. except ValueError:
  49. port = 23
  50. obj = ObjectTelnet()
  51. if args.timeout is None:
  52. timeout = 25
  53. else:
  54. try:
  55. val = int(args.timeout)
  56. timeout = args.timeout
  57. except ValueError:
  58. timeout = 25
  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)