Beispiel #1
0
def collect_dev_info():

    start_addr = request.form['start_addr']
    end_addr = request.form['end_addr']
    user = request.form['user']
    password = request.form['password']

    if request.form['button'] == 'Search':
        f = open(config.PYEZ_FLASK_DIR + 'param.txt', 'w')

        result = ''
        result += 'start_addr = ' + start_addr + '\n'
        result += 'end_addr = ' + end_addr + '\n'
        result += 'user = '******'\n'
        result += 'password = '******'\n'

        f.write(result)
        f.close()

        if os.path.isfile(config.PYEZ_FLASK_DIR + 'host_addr.txt'):
            os.remove(config.PYEZ_FLASK_DIR + 'host_addr.txt')

        addr_list = pyez_func.create_addr_list2(start_addr, end_addr)

        for addr in addr_list:
            mp = multiprocessing.Process(target=pyez_func.host_to_addr,
                                         args=(addr, user, password))
            mp.start()

        return redirect(url_for('show_entries'))

    if os.path.isfile(config.PYEZ_FLASK_DIR + 'host_addr.txt') == False:
        return redirect(url_for('show_entries'))

    start_addr = request.form['start_addr']
    end_addr = request.form['end_addr']
    user = request.form['user']
    password = request.form['password']

    if pyez_func.check_addr_range(start_addr, end_addr) == False:
        return redirect(url_for('show_entries'))

    start = time.time()

    f = open(config.PYEZ_FLASK_DIR + 'host_addr.txt', 'r')
    addr_list = f.read().rstrip().split('\n')
    f.close()
    for addr in addr_list:
        mp = multiprocessing.Process(target=pyez_func.get_device_information2,
                                     args=(addr.split(',')[1], user, password))
        mp.start()

    print time.time() - start
    return redirect(url_for('show_entries'))
Beispiel #2
0
def show_devices():
    f = open(config.PYEZ_FLASK_DIR + 'param.txt')
    params = f.read().rstrip().split('\n')
    start_addr = params[0].split(' ')[2]
    end_addr = params[1].split(' ')[2]
    devices_sub = pyez_func.create_addr_list2(start_addr, end_addr)

    devices = []
    for device in devices_sub:
        filename = config.PYEZ_DEV_INFO_DIR + 'facts/' + device

        if os.path.exists(filename):
            devices.append(device)

    query_count = len(devices)
    return render_template('show_devices.html',
                           devices=devices,
                           query_count=query_count)
Beispiel #3
0
def cmd_result():
    env = Environment(cache_size=0)
    check_list = request.form.getlist('check')

    f = open(config.PYEZ_FLASK_DIR + 'param.txt')
    params = f.read().rstrip().split('\n')
    start_addr = params[0].split(' ')[2]
    end_addr = params[1].split(' ')[2]
    devices_sub = pyez_func.create_addr_list2(start_addr, end_addr)
    devices = []
    for device in devices_sub:
        filename = config.PYEZ_DEV_INFO_DIR + 'facts/' + device

        if os.path.exists(filename):
            devices.append(device)

    query_count = len(devices)
    command = request.form['command']
    cmds = command.split('\n')

    diff_list = []

    queue = multiprocessing.Queue()

    for ip_addr in check_list:
        cmd_result = multiprocessing.Process(target=send_cmd,
                                             args=(ip_addr, cmds, queue))
        cmd_result.start()
    for ip_addr in check_list:
        diff_list.append(queue.get())

    diff = '\n'.join(diff_list)

    return render_template('send_commands.html',
                           devices=devices,
                           query_count=query_count,
                           diff=diff)