示例#1
0
def publish_msg(client):
    p = person_pb2.Person()
    p.id = 1
    p.name = "Shawn"
    p.email = "*****@*****.**"
    message = p.SerializeToString()
    topic = "t/1"
    print("publish to topic: t/1, payload:", message)
    client.publish(topic, payload=message, qos=0, retain=False)
示例#2
0
def index():
	person = person_pb2.Person()
	#get the directory where this script is running, we stored .proto and generated file here too
	script_dir = os.path.dirname(__file__)
	rel_path = "dummy"
	abs_file_path = os.path.join(script_dir, rel_path)	
	if not os.path.exists(abs_file_path):
		file(abs_file_path, 'w').close()
	writeFile(abs_file_path, person)
	readFile(abs_file_path, person)
示例#3
0
def run():
    with grpc.insecure_channel("localhost:8000") as channel:
        stub = person_pb2_grpc.DBHandlerStub(channel)
        person = person_pb2.Person()
        person.id = 1
        person.fullname.fname = "test-fname"
        person.fullname.lname = "test-lname"
        person.addrs.add(city="test", addr="street1", postal_Code="1234")
        print(person)
        response = stub.create_user(person)
        print(response.code, response.message)
示例#4
0
def useStandardPb():
  """Test protocol buffer serialization with native protocol buffers."""
  lincoln = person_pb2.Person(name = 'Abraham Lincoln', birth_year = 1809)
  lincoln.nicknames.extend(['Honest Abe', 'Abe'])

  fact = lincoln.facts.add()
  fact.name = 'Born In'
  fact.content = 'Kentucky'

  fact = lincoln.facts.add()
  fact.name = 'Died In'
  fact.content = 'Washington D.C.'

  fact = lincoln.facts.add()
  fact.name = 'Greatest Speech'
  fact.content = GETTYSBURG

  serializedLincoln = lincoln.SerializeToString()

  newLincoln = person_pb2.Person()
  newLincoln.ParseFromString(serializedLincoln)
示例#5
0
def readFile(abs_file_path, person):
	person_book = person_pb2.Person()
	try:
		f = open(abs_file_path, "rb")
	  	person_book.ParseFromString(f.read())
	  	f.close()
	except IOError:
		print abs_file_path + ": Could not open file" 

	print "Reading.."
	print "Name "+person_book.name
	print person_book.id
 def handle(self):
     print 'got connection from ', self.client_address
     self.wfile.write('connection %s:%s at %s succeed!' %
                      (host, port, ctime()))
     while True:
         data = self.request.recv(1024)
         if not data:
             break
         person = person_pb2.Person()
         person.ParseFromString(data)
         print person
         print person.myfield[0]
         print "RECV from 1:", self.client_address[0]
         self.request.send(data)
示例#7
0
def generateRandomPerson():
    p = person_pb2.Person()
    p.id = random.randint(0, 10000)
    p.name = "id-" + str(p.id)

    sex = random.randint(0, 1)
    if sex:
        p.gender = person_pb2.Male
    else:
        p.gender = person_pb2.Female

    current_ts = int(time.time())
    p.ts = current_ts
    return p
示例#8
0
 def do_POST(self):
     content_length = int(self.headers['Content-Length'])
     post_data = self.rfile.read(content_length)
     if 'name' in post_data and 'id' in post_data:
         post_data = json.loads(post_data)
         person = proto.Person(id=post_data['id'], name=post_data['name'])
         persons.append(person)
         response = 'Saved to protobuf'
     else:
         response = 'Please call api with post data eg: {}'.format(
             TEST_CALL)
     self.send_response(200)
     self.send_header("Content-type", "text/plain")
     self.end_headers()
     self.wfile.write(response)
示例#9
0
def single(msgtype, stream=False):
    if msgtype == 'cat':
        obj = cat_pb2.Cat(is_lazy=bool(random.getrandbits(1)))
    elif msgtype == 'dog':
        obj = dog_pb2.Dog(age=random.choice(range(0, 20)),
                          breed=['rottweiler', 'gsd',
                                 'poodle'][random.choice(range(0, 3))],
                          temperament=['chill', 'aggressive',
                                       'excited'][random.choice(range(0, 3))])
    elif msgtype == 'person':
        obj = person_pb2.Person(id=random.choice(range(0, 4)),
                                name=['raffi', 'khosrov',
                                      'vahaken'][random.choice(range(0, 3))])
    else:
        usage()
    obj = obj.SerializeToString()
    varint_ = encoder._VarintBytes(len(obj)) if stream else b''
    sys.stdout.buffer.write(varint_ + obj)
示例#10
0
def single(msgtype, stream=False):
    if msgtype == "cat":
        obj = cat_pb2.Cat(is_lazy=bool(random.getrandbits(1)))
    elif msgtype == "dog":
        obj = dog_pb2.Dog(
            age=random.choice(range(0, 20)),
            breed=["rottweiler", "gsd", "poodle"][random.choice(range(0, 3))],
            temperament=["chill", "aggressive", "excited"][random.choice(range(0, 3))],
        )
    elif msgtype == "person":
        obj = person_pb2.Person(
            id=random.choice(range(0, 4)),
            name=["raffi", "khosrov", "vahaken"][random.choice(range(0, 3))],
        )
    else:
        usage()
    obj = obj.SerializeToString()
    varint_ = encoder._VarintBytes(len(obj)) if stream else b""
    sys.stdout.buffer.write(varint_ + obj)
示例#11
0
def main():
  # print eCAL version and date
  print("eCAL {} ({})\n".format(ecal_core.getversion(), ecal_core.getdate()))
  
  # initialize eCAL API
  ecal_core.initialize(sys.argv, "py_person_snd")
  
  # set process state
  ecal_core.set_process_state(1, 1, "I feel good")

  # create publisher
  pub = ProtoPublisher("person", person_pb2.Person)
  
  # create person instance and set content
  person = person_pb2.Person()
  person.name        = "Max"
  person.stype       = person_pb2.Person.MALE
  person.email       = "*****@*****.**"
  person.dog.name    = "Brandy"
  person.house.rooms = 4
  
  # send messages
  while ecal_core.ok():
  
    # change person id
    person.id = person.id + 1
  
    # send person
    print("Sending person {}".format(person.id))
    pub.send(person)
  
    # sleep 100 ms
    time.sleep(0.1)
  
  # finalize eCAL API
  ecal_core.finalize()
示例#12
0
def gen_person():
    person = person_pb2.Person()
    person.id = random.choice(range(0, 4))
    names = ['raffi', 'khosrov', 'vahaken']
    person.name = names[random.choice(range(0, 3))]
    return person
示例#13
0
# coding:utf-8

import person_pb2

__author__ = 'xudazhou'
"""
用 java 解析这个文件
"""

if __name__ == '__main__':
    print("main")
    person = person_pb2.Person()
    person.id = 11
    person.name = "hector"

    print(person.__str__())  # id: 11

    f1 = open("E:\\TDDOWNLOAD\\file2.dat", "wb")
    str1 = person.SerializeToString()
    print(str1)
    f1.write(str1)
    f1.flush()
    f1.close()
示例#14
0
import person_pb2
from google.protobuf.json_format import MessageToJson, Parse

person = person_pb2.Person()

person.name = "name"
person.id = 1
person.email = "*****@*****.**"

json_string = MessageToJson(person)

print(json_string)

person_parsed = Parse(json_string, person_pb2.Person())
print(person_parsed.SerializeToString())
示例#15
0
文件: writer.py 项目: paralax/DOTS
#! /usr/bin/python

import person_pb2
import sys

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print "Usage:", sys.argv[0], "PERSON_FILE"
        sys.exit(-1)

    human = person_pb2.Person()

    human.name = "Sandra"

    f = open(sys.argv[1], "wb")
    f.write(human.SerializeToString())
    f.close()
import person_pb2 as proto
import os

for filename in os.listdir('.'):
    if filename.endswith('.pb'):
        print filename
        with open(filename, 'rb') as f:
            print proto.Person().FromString(f.read())