I'm no expert on this... In fact I often find myself struggling to get cataloging in Zope3 to do what I want in a painless way (which is probably why hurry exists...). Experts please correct me if I'm doing anything objectionable...
I'm assuming that you've got an IntIds utility and a catalog, and I'm assuming that in your catalog is a FieldIndex which uses IZopeDublinCore... If not the following _may_ provide a little help: from zope.app.catalog.interfaces import ICatalog from zope.app.catalog.catalog import Catalog from zope.app.catalog.field import FieldIndex from zope.app.dublincore.interfaces import IZopeDublinCore from zope.app.component.hooks import getSite from zope.app.component.site import UtilityRegistration from zope.app.component.interfaces.registration import ActiveStatus from zope.component import provideUtility # Find your site's manager and get the default tool folder sm = getSite().getSiteManager() smf = sm['default'] # make a catalog and put it in the folder catalog = Catalog() smf['My Catalog'] = catalog # Register the new catalog so that its available for use reg = UtilityRegistration('', ICatalog, catalog) smf.registrationManager.addRegistration(reg) reg.status = ActiveStatus # Use provide utility so that the catalog is ready for use provideUtility(catalog, ICatalog) # Add a Field index which will catalog the creation time of objects index = FieldIndex('created', IZopeDublinCore) catalog['Date Created'] = index Once your catalog has indexes and they're indexing objects then you can start trying queries. Here's an attempt at a query to find all indexed objects created in the last 10 days: from zope.app.catalog.interfaces import ICatalog from hurry.query.interfaces import IQuery from hurry.query import Ge import datetime #Grab our catalog and query utilities catalog = getUtility(ICatalog) query = getUtility(IQuery) # make a tuple to tell hurry which catalog and index we want to use index = (catalog, 'Date Created') # make a datetime object (in my timezone) to find out when # 10 days ago was... now = datetime.datetime.now(pytz.timezone('GB')) then = now - datetime.timedelta(10) results = query.searchResults(Ge(index, then)) Good Luck, Rupert _______________________________________________ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users