Greetings Zopistas!

I'm currently working on a site which requires that I store City, State and Country entries in a hierarchy such that multiple cities can roll up under a state and multiple states can roll up under a country.  To accomplish this, I have a created a small python product called LocationManager which stores data as follows:

USA
     Massachusetts
          Boston
          Lexington
          Concord
     Illinois
          Chicago
          Evanston
     California
          Los Angeles
          San Diego
Canada
     Quebec
          Montreal
etc


What i would like to do is use a Catalog to flatten that data out and enable me to retrieve all of the cities in one fell swoop.  I've read over the ZCatalog tutorial and have searched zope.org, and I think I see how to catalog properties of products.  However, I haven't really found anything that describes:
a)  How to build a python product that is catalog aware?
b)  How do i retrieve the data from the catalog without a search interface?

URLs to any resources, or any answers to my questions would be MOST appreciated.

Thanks so much,
Keith R. Alperin