#!/usr/bin/env python
#coding:utf-8
# Author        : tuxpy
# Email         : q8886888@qq.com.com
# Last modified : 2016-03-21 09:26:06
# Filename      : dsb_request.py
# Description   : 
from __future__ import print_function
import sys
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{ext}'.format(
            ext = '' if node['internet'] else '(in lan)',
            **node))

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

    elif options.list_nodes:
        print_nodes()

