| #! /usr/bin/env python | |
| # See README.md 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) |