diff options
Diffstat (limited to 'third_party/protobuf/3.4.0/examples/list_people.py')
-rwxr-xr-x | third_party/protobuf/3.4.0/examples/list_people.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/third_party/protobuf/3.4.0/examples/list_people.py b/third_party/protobuf/3.4.0/examples/list_people.py new file mode 100755 index 0000000000..f131872d84 --- /dev/null +++ b/third_party/protobuf/3.4.0/examples/list_people.py @@ -0,0 +1,37 @@ +#! /usr/bin/env python + +# See README.txt for information and build instructions. + +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 #:", + elif phone_number.type == addressbook_pb2.Person.HOME: + print " Home phone #:", + elif phone_number.type == addressbook_pb2.Person.WORK: + print " Work phone #:", + 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) |