Squashed 'third_party/protobuf/' content from commit e35e248

Change-Id: I6cbe123d09fe50fdcad0e51466665daeee7433c7
git-subtree-dir: third_party/protobuf
git-subtree-split: e35e24800fb8d694bdeea5fd63dc7d1b14d68723
diff --git a/examples/list_people.py b/examples/list_people.py
new file mode 100755
index 0000000..f131872
--- /dev/null
+++ b/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)