I'm writing a Yahoo! like directory (with a few customizations) as part of learning Zope. Here's the setup: link table uses a integer key to refer back to the category. the category table has a pathto field in the form of ':1:2:3:' where 1, 2, and 3 are the category keys to each category above the one we are currenty looking at. ie Internet (1) : Servers (2) : Zope (3). Now, using a simple python script I can parse out the individual numbers from the pathto string. However, I've been having problems either returning the list back to zope to run my 'category_name' ZSQL methods on each element, or running 'category_name' directly from Python. I can't find how the python script returns a list like a ZSQL method would (I've looked in the Zope Book, searched zope.org, zdp.zope.org and did a Google search on 'zope python script list return') When I try to run the SQL method fom the Python script using context.category_name(catid) or context.category_name(catnum=catid) I get key errors. Please help! My last python script: """ Takes the path in the form ':1:2:3:4:' and returns each item in turn """ import string import types cats = string.split(lpath, ':') for i in cats: if (i <> ''): for catname in context.category_name(catid=int(i)): if types.type(catname) == types.ListType: print "it's a list" else: print "it's not a list" return printed This is Zope version 2.3.3, Python 1.5.2. (I'm planning on upgrading the whole box and don't want to mess with just upgrading Python to run Zope 2.4 until then.) Thanks Chris