????
Current Path : /usr/share/i360-php/python-proto/ |
Current File : //usr/share/i360-php/python-proto/message_reader_old.py |
import io import struct import sendmessage_pb2 import subprocess def readDataFromStream(stream_data): proto_size_rd = stream_data.read(2) if len(proto_size_rd)==0: return "" proto_size, = struct.unpack('>H', proto_size_rd) data = stream_data.read(proto_size) item = sendmessage_pb2.SendInfo() item.ParseFromString(data) return item def translateQueueItem(item, php_dict): result = "" packed = list(struct.pack('<L', item)) b1=int(packed[0].encode('hex'), 16) b2=int(packed[1].encode('hex'), 16) b3=int(packed[2].encode('hex'), 16) b4=int(packed[3].encode('hex'), 16) if b1==1: result = "ANYOP(%d,%d)"%(b3, b4) elif b4>0: result = "%s(%s)"%(php_dict[b1], php_dict[b4]) else: result = "%s"%(php_dict[b1]) return result def fillDictionary(): php_dict = {} counter = 0 proc = subprocess.Popen(['dict_util'],stdout=subprocess.PIPE) while True: line = proc.stdout.readline() if line != '': if counter>1: res = line.rstrip().split() if len(res)>1: php_dict[int(res[0])]=res[1].rstrip() else: break counter=counter+1 return php_dict