connect.py 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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('-d', '--data', type=str, help='Data to execute', required=False, default=None)
  18. args = parser.parse_args()
  19. if __name__ == "__main__":
  20. if args.password_enable is None or args.password_enable is "":
  21. password_enable = args.password
  22. else:
  23. password_enable = args.password_enable
  24. if args.file is not None:
  25. # wait 60 seconds to file exists
  26. nc = 0
  27. while not os.path.exists(args.file):
  28. time.sleep(1)
  29. nc += 1
  30. print(nc)
  31. if nc == 60:
  32. break
  33. if not os.path.isfile(args.file):
  34. raise ValueError("%s isn't a file!" % args.file)
  35. print("FILE EXISTS: " + args.file)
  36. if args.type_connection == 'ssh':
  37. try:
  38. val = int(args.port)
  39. port = args.port
  40. except ValueError:
  41. port = 22
  42. obj = ObjectSsh()
  43. else:
  44. try:
  45. val = int(args.port)
  46. port = args.port
  47. except ValueError:
  48. port = 23
  49. obj = ObjectTelnet()
  50. obj.initialize(brand=args.brand, model=args.model, hostname=args.host_name, user=args.user_name,
  51. password=args.password, password_enable=password_enable, port=port,
  52. file_name=args.file, data=args.data)
  53. obj.connect()
  54. exit(1)