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)
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)
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)
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)
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)
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
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)
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)
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)
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()
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
# 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()
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())
#! /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())