????

Your IP : 18.188.190.212


Current Path : /usr/share/i360-php/python-proto/
Upload File :
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