#!/usr/bin/python
from __future__ import print_function
from dsb_requests import (_init, command, _api, _proxy)
import socket

def print_nodes():
    nodes = _api.fetch_proxy_node_response()
    proxy_manager = _proxy.ProxyManager()
    for node in nodes:
        try:
            node['delay'] = "%.2f" % (proxy_manager.get_node_delay(node) * 1000, )
        except socket.error as ex:
            node['delay'] = '999999'

        print('{ip}:{port}\t{username}:{password}\t{delay}ms'.format(
            **node))

if __name__ == '__main__':
    options = command.parse()
    if 'init' in options.args:
        _init.init_dsb_requests()

    elif options.list_nodes:
        print_nodes()
