diff options
Diffstat (limited to 'examples/list_people.py')
-rwxr-xr-x | examples/list_people.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/examples/list_people.py b/examples/list_people.py new file mode 100755 index 00000000..f9f36b96 --- /dev/null +++ b/examples/list_people.py @@ -0,0 +1,38 @@ +#! /usr/bin/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.person: + print "Person ID:", person.id + print " Name:", person.name + if person.HasField('email'): + print " E-mail address:", person.email + + for phone_number in person.phone: + 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. +f = open(sys.argv[1], "rb") +address_book.ParseFromString(f.read()) +f.close() + +ListPeople(address_book) |