IndexedCatalog

IndexedCatalog provides indexing and allows queries for objects based on attributes. Which is accomplished by indexing all fields by type (string/integer/float) and by a simple query language.

The IndexedCatalog does not require any additional extensions apart from the ZODB, and it made for applications that use StandaloneZODB and not Zope. It is completely untested with Zope at this time.

Features:

  • Provides a Shelf, which aggregates queries and is a front-end to all IC features.
  • Provides a Catalog class that stores objects and offers a query interface.
  • Provides Indexes for Strings, Floats, Integers, Dates and Instances.
  • Requires very little change to objects for catalogs and indexes to work: basically inherit from IndexedCatalog.IndexedObject, add some special attributes to the Classes, and use catalog.insert() to add the instances to the catalogs.
  • Supports composite objects, initializing and indexing sub-objects automatically.
  • Supports queries by type, and allows querying sub-object or referenced object attribute values.
  • Allows ordering query results by field, both ascending and descending.
  • Using Distutils means miminal effort to install.
  • Last updated 27 Oct, 2009


    User level: Intermediate

    User Rating:

    Homepage

    License(s) :

    LGPLv2.1orlater

    Rate it!

     

    About

    Leadership

    Versions

    0.6.0

    User Community and Support

    General Resources
    Support Resources
    • irc://irc.freenode.net/#async

    Development

    Developer Resources
    Bug Tracking Resources
     

    Please send comments on these web pages to bug-directory@fsf.org, send other questions to info@fsf.org.

    Copyright © 2000 - 2009 Free Software Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301, USA

    The copyright licensing notice below applies to this text. Any software described in this text has its own copyright notice and license, which can usually be found in the distribution itself.

    Permission is granted to copy, distribute, and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts.