12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #!/usr/bin/env python
- import argparse
- import os.path
- import time
- from ObjectTelnet import ObjectTelnet
- from ObjectSsh import ObjectSsh
- parser = argparse.ArgumentParser(description='Arguments')
- parser.add_argument('-tc', '--type_connection', type=str, help='SSH or TELNET', required=True)
- parser.add_argument('-b', '--brand', type=str, help='Brand', required=True)
- parser.add_argument('-m', '--model', type=str, help='Modle Olt', required=False, default=None)
- parser.add_argument('-hn', '--host_name', type=str, help='Host name', required=True)
- parser.add_argument('-u', '--user_name', type=str, help='User name', required=True)
- 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('-d', '--data', type=str, help='Data to execute', required=False, default=None)
- args = parser.parse_args()
- if __name__ == "__main__":
- if args.password_enable is None or args.password_enable is "":
- password_enable = args.password
- else:
- password_enable = args.password_enable
- if args.file is not None:
- # wait 60 seconds to file exists
- nc = 0
- while not os.path.exists(args.file):
- time.sleep(1)
- nc += 1
- print(nc)
- if nc == 60:
- break
- if not os.path.isfile(args.file):
- raise ValueError("%s isn't a file!" % args.file)
- print("FILE EXISTS: " + args.file)
- if args.type_connection == 'ssh':
- try:
- val = int(args.port)
- port = args.port
- except ValueError:
- port = 22
- obj = ObjectSsh()
- else:
- try:
- val = int(args.port)
- port = args.port
- except ValueError:
- port = 23
- obj = ObjectTelnet()
- 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)
- obj.connect()
- exit(1)
|