#!/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)