コード例 #1
0
ファイル: wclient.py プロジェクト: RusonWong/wimg
def getImage(key, width, height):
	#get node
	nodeAddr,nodePort = getNodeAddr(key)
	nodeSocket = do_connect(nodeAddr, nodePort)
	#send method
	util.w_send(nodeSocket, "1")

	req = WPB_pb2.ReqGet()
	req.imageID = key
	req.width = width
	req.height = height
	req.keep_proportion = True

	util.w_send_pb(nodeSocket,req)

	response = WPB_pb2.ReqResponse()
	respBuff = util.w_recv(nodeSocket)
	
	response.ParseFromString(respBuff)
	if response.rspCode == WPB_pb2.REQ_FAILED:
		print "ERROR GET IMAGE"
		return
   	
   	#get content
   	imgContent = util.w_recv(nodeSocket)

   	
   	nodeSocket.close()
 	return imgContent
コード例 #2
0
ファイル: wclient.py プロジェクト: RusonWong/wimg
def uploadImage(imgName, imgContent):
	#get file content
	content = imgContent

	reqKey = hashlib.md5(content).hexdigest()
	#print "content key is ",reqKey

	nodeAddr,nodePort = getNodeAddr(reqKey)

	nodeSocket = do_connect(nodeAddr, nodePort)
	#send method
	util.w_send(nodeSocket, "2")
	req = WPB_pb2.ReqSet()
	req.md5 = reqKey
	req.imageName = imgName

	util.w_send_pb(nodeSocket, req)
	#send file content
	util.w_send(nodeSocket, content)
	#get Response
	response = WPB_pb2.ReqResponse()
	respBuff = util.w_recv(nodeSocket)
	response.ParseFromString(respBuff)

	print "resp:new name is:", response.newname
	nodeSocket.close()
	return response.newname
コード例 #3
0
ファイル: wclient.py プロジェクト: RusonWong/wimg
def getNodeAddr(reqKey):
	client = do_connect(MASTER_ADDR, MASTER_PORT)
	#SEND METHOD
	util.w_send(client, "2")

	req = WPB_pb2.ReqSet() 
	req.md5 = reqKey

	reqBuff = req.SerializeToString()
	util.w_send(client, reqBuff)

	response = util.w_recv(client)

	nodeInfo = WPB_pb2.NodeInfo()
	nodeInfo.ParseFromString(response)
	#print "node info",nodeInfo.nodeAddr,nodeInfo.nodePort

	client.close()
	return nodeInfo.nodeAddr,nodeInfo.nodePort