1*1b3f573fSAndroid Build Coastguard Worker#! /usr/bin/env python 2*1b3f573fSAndroid Build Coastguard Worker 3*1b3f573fSAndroid Build Coastguard Worker# See README.txt for information and build instructions. 4*1b3f573fSAndroid Build Coastguard Worker 5*1b3f573fSAndroid Build Coastguard Workerfrom __future__ import print_function 6*1b3f573fSAndroid Build Coastguard Workerimport addressbook_pb2 7*1b3f573fSAndroid Build Coastguard Workerimport sys 8*1b3f573fSAndroid Build Coastguard Worker 9*1b3f573fSAndroid Build Coastguard Worker 10*1b3f573fSAndroid Build Coastguard Worker# Iterates though all people in the AddressBook and prints info about them. 11*1b3f573fSAndroid Build Coastguard Workerdef ListPeople(address_book): 12*1b3f573fSAndroid Build Coastguard Worker for person in address_book.people: 13*1b3f573fSAndroid Build Coastguard Worker print("Person ID:", person.id) 14*1b3f573fSAndroid Build Coastguard Worker print(" Name:", person.name) 15*1b3f573fSAndroid Build Coastguard Worker if person.email != "": 16*1b3f573fSAndroid Build Coastguard Worker print(" E-mail address:", person.email) 17*1b3f573fSAndroid Build Coastguard Worker 18*1b3f573fSAndroid Build Coastguard Worker for phone_number in person.phones: 19*1b3f573fSAndroid Build Coastguard Worker if phone_number.type == addressbook_pb2.Person.MOBILE: 20*1b3f573fSAndroid Build Coastguard Worker print(" Mobile phone #:", end=" ") 21*1b3f573fSAndroid Build Coastguard Worker elif phone_number.type == addressbook_pb2.Person.HOME: 22*1b3f573fSAndroid Build Coastguard Worker print(" Home phone #:", end=" ") 23*1b3f573fSAndroid Build Coastguard Worker elif phone_number.type == addressbook_pb2.Person.WORK: 24*1b3f573fSAndroid Build Coastguard Worker print(" Work phone #:", end=" ") 25*1b3f573fSAndroid Build Coastguard Worker print(phone_number.number) 26*1b3f573fSAndroid Build Coastguard Worker 27*1b3f573fSAndroid Build Coastguard Worker 28*1b3f573fSAndroid Build Coastguard Worker# Main procedure: Reads the entire address book from a file and prints all 29*1b3f573fSAndroid Build Coastguard Worker# the information inside. 30*1b3f573fSAndroid Build Coastguard Workerif len(sys.argv) != 2: 31*1b3f573fSAndroid Build Coastguard Worker print("Usage:", sys.argv[0], "ADDRESS_BOOK_FILE") 32*1b3f573fSAndroid Build Coastguard Worker sys.exit(-1) 33*1b3f573fSAndroid Build Coastguard Worker 34*1b3f573fSAndroid Build Coastguard Workeraddress_book = addressbook_pb2.AddressBook() 35*1b3f573fSAndroid Build Coastguard Worker 36*1b3f573fSAndroid Build Coastguard Worker# Read the existing address book. 37*1b3f573fSAndroid Build Coastguard Workerwith open(sys.argv[1], "rb") as f: 38*1b3f573fSAndroid Build Coastguard Worker address_book.ParseFromString(f.read()) 39*1b3f573fSAndroid Build Coastguard Worker 40*1b3f573fSAndroid Build Coastguard WorkerListPeople(address_book) 41