def decode(data): data = decode(data) if type(data) is not dict: raise TypeError publicIP = data.get('publicIP') try: validateIPAddress(publicIP) except: publicIP = '' directLocations = [] routedLocations = [] for direct in data.get('direct', []): if type(direct) is not list: continue direct = tuple(direct) try: validateInetAddress(direct) except: continue directLocations.append(DirectLocation(direct)) for routed in data.get('routed', []): if type(routed) is not list: continue if len(routed) != 2: continue routerAddr, routerId = routed if type(routerId) is not str: continue if type(routerAddr) is not list: continue routerAddr = tuple(routerAddr) try: validateInetAddress(routerAddr) except: continue routedLocations.append(RoutedLocation(routerAddr, routerId)) return UserLocation(directLocations, routedLocations, publicIP)
def decode( data ) : data = decode( data ) if type(data) is not dict : raise TypeError publicIP = data.get( 'publicIP' ) try : validateIPAddress( publicIP ) except : publicIP = '' directLocations = [] routedLocations = [] for direct in data.get('direct',[]) : if type(direct) is not list : continue direct = tuple( direct ) try : validateInetAddress( direct ) except : continue directLocations.append( DirectLocation(direct) ) for routed in data.get('routed',[]) : if type(routed) is not list : continue if len(routed) != 2 : continue routerAddr,routerId = routed if type(routerId) is not str : continue if type(routerAddr) is not list : continue routerAddr = tuple( routerAddr ) try : validateInetAddress( routerAddr ) except : continue routedLocations.append( RoutedLocation(routerAddr,routerId) ) return UserLocation( directLocations, routedLocations, publicIP )
def _loadNodeCache(nodeTable): data = localSettings().getData('NodeCache', '') for addr in data.split(): try: ip, port = addr.split(':') port = int(port) nodeAddr = (ip, port) validateInetAddress(nodeAddr) except: continue nodeTable.addNode(nodeAddr)
def _loadNodeCache( nodeTable ) : data = localSettings().getData( 'NodeCache', '' ) for addr in data.split() : try : ip,port = addr.split( ':' ) port = int(port) nodeAddr = (ip,port) validateInetAddress( nodeAddr ) except : continue nodeTable.addNode( nodeAddr )
def onResult( err, result) : del self.pingOps[pingOp] if err < 0 : pingCallback( None ) return assert type(result) is list if (len(result) != 1) or (type(result[0]) is not list) : pingCallback( None ) return addr = tuple(result[0]) try : validateInetAddress( addr ) except : pingCallback( None ) return pingCallback( addr )