#!/usr/bin/python
#coding=utf-8

#----------------
# 检查 port
#----------------
def port_check(port):
    '''
        port  ： 字符串
        return： True   格式正确
                 False   格式错误
    '''
    try:
        number = int(port)
        if number <0 or number > 65535:
            raise Exception("Port err")
        return True
    except Exception:
        return False
#
def ip_check(ip):
    '''
        ip  ： 字符串
        return： True   格式正确
                 False   格式错误
    '''

    # import chardet
    # print "编码",chardet.detect(ip)

    if type(ip) != type(""):
        return  False

    q = ip.split('.')
    return len(q) == 4 and len(filter(lambda x: x >= 0 and x <= 255, \
        map(int, filter(lambda x: x.isdigit(), q)))) == 4

# 检查 ip port输入格式
#  192.168.0.1:8080
# def ip_port_check(ip_port):
#
#     tmp = ip_port.split(":",1)
#
#     ip = tmp[0]
#     if len(tmp) < 2:
#         port = "8080"
#     else:
#         port = tmp[1]
#     if  ip_check(ip) and port_check(port):
#         return True
#     else:
#         return False

def ip_port_check(ip_port):

    tmp = ip_port.split(":",1)

    ip = tmp[0]
    if len(tmp) < 2:
        port = "8080"
    else:
        port = tmp[1]
    if  ip_check(ip) and port_check(port):
        return ip + ":" + port
    else:
        return ""
# test
if __name__ == "__main__":
    ip = "192.168.102.33:8080"
    print ip_port_check(ip)
