diff options
Diffstat (limited to 'third_party/protobuf/3.6.0/examples/list_people.py')
-rw-r--r-- | third_party/protobuf/3.6.0/examples/list_people.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/third_party/protobuf/3.6.0/examples/list_people.py b/third_party/protobuf/3.6.0/examples/list_people.py new file mode 100644 index 0000000000..d2c294c6f5 --- /dev/null +++ b/third_party/protobuf/3.6.0/examples/list_people.py @@ -0,0 +1,40 @@ +#! /usr/bin/env python + +# See README.txt for information and build instructions. + +from __future__ import print_function +import addressbook_pb2 +import sys + + +# Iterates though all people in the AddressBook and prints info about them. +def ListPeople(address_book): + for person in address_book.people: + print("Person ID:", person.id) + print(" Name:", person.name) + if person.email != "": + print(" E-mail address:", person.email) + + for phone_number in person.phones: + if phone_number.type == addressbook_pb2.Person.MOBILE: + print(" Mobile phone #:", end=" ") + elif phone_number.type == addressbook_pb2.Person.HOME: + print(" Home phone #:", end=" ") + elif phone_number.type == addressbook_pb2.Person.WORK: + print(" Work phone #:", end=" ") + print(phone_number.number) + + +# Main procedure: Reads the entire address book from a file and prints all +# the information inside. +if len(sys.argv) != 2: + print("Usage:", sys.argv[0], "ADDRESS_BOOK_FILE") + sys.exit(-1) + +address_book = addressbook_pb2.AddressBook() + +# Read the existing address book. +with open(sys.argv[1], "rb") as f: + address_book.ParseFromString(f.read()) + +ListPeople(address_book) |