#!/usr/bin/env python3
# -*- coding: utf-8 -*-
'''
Задание 12.3


Создать функцию print_ip_table, которая отображает таблицу доступных и недоступных IP-адресов.

Функция ожидает как аргументы два списка:
* список доступных IP-адресов
* список недоступных IP-адресов

Результат работы функции - вывод на стандартный поток вывода таблицы вида:

Reachable    Unreachable
-----------  -------------
10.1.1.1     10.1.1.7
10.1.1.2     10.1.1.8
             10.1.1.9

Функция не должна изменять списки, которые переданы ей как аргументы.
То есть, до выполнения функции и после списки должны выглядеть одинаково.


Для этого задания нет тестов
'''
import task_12_1
from tabulate import tabulate


def print_ip_table(reachable, unreachable):
    '''
    Функция ожидает как аргументы два списка:
    * список доступных IP-адресов
    * список недоступных IP-адресов
    '''
    columns = ['Reachable', 'Unreachable']
    values = (reachable, unreachable)
    return tabulate(values, headers=columns)


if __name__ == '__main__':
    ip_list = ['8.8.8.8', '4.4.4.4', '1.1.1.1', '123.324.41.12', '123.2.3.3']
    c = task_12_1.ping_ip_addresses(ip_list)
    print(print_ip_table(c[0], c[1]))
