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