[Zope-Checkins] CVS: Zope/lib/python/Products/ZCatalog/help -
ZCatalog.py:1.16
Yvo Schubbe
schubbe at web.de
Thu Dec 11 11:56:06 EST 2003
Update of /cvs-repository/Zope/lib/python/Products/ZCatalog/help
In directory cvs.zope.org:/tmp/cvs-serv31610/lib/python/Products/ZCatalog/help
Modified Files:
ZCatalog.py
Log Message:
updated from / synced with IZCatalog.py
=== Zope/lib/python/Products/ZCatalog/help/ZCatalog.py 1.15 => 1.16 ===
--- Zope/lib/python/Products/ZCatalog/help/ZCatalog.py:1.15 Thu Dec 5 16:17:07 2002
+++ Zope/lib/python/Products/ZCatalog/help/ZCatalog.py Thu Dec 11 11:56:05 2003
@@ -12,21 +12,14 @@
##############################################################################
def manage_addZCatalog(id, title, vocab_id=None):
- """
-
- Add a ZCatalog object.
+ """Add a ZCatalog object.
'vocab_id' -- this argument is deprecated and ignored.
-
"""
-
-
class ZCatalog:
- """
-
- ZCatalog object
+ """ZCatalog object
A ZCatalog contains arbitrary index like references to Zope
objects. ZCatalog's can index object attribute using a variety
@@ -74,75 +67,71 @@
"""
- __constructor__=manage_addZCatalog
+ def catalog_object(obj, uid, idxs=None, update_metadata=1):
+ """Catalogs the object 'obj' with the unique identifier 'uid'.
- def catalog_object(obj, uid):
- """
+ The uid must be a physical path, either absolute or relative to
+ the catalog.
- Catalogs the object 'obj' with the unique identifier 'uid'.
+ If provided, idxs specifies the names of indexes to update.
+ If update_metadata is specified (the default), the object's metadata
+ is updated. If it is not, the metadata is left untouched. This
+ flag has no effect if the object is not yet cataloged (metadata
+ is always added for new objects).
"""
def uncatalog_object(uid):
- """
-
- Uncatalogs the object with the unique identifier 'uid'.
+ """Uncatalogs the object with the unique identifier 'uid'.
+ The uid must be a physical path, either absolute or relative to
+ the catalog.
"""
def uniqueValuesFor(name):
- """
-
- returns the unique values for a given FieldIndex named 'name'.
-
+ """returns the unique values for a given FieldIndex named 'name'.
"""
def getpath(rid):
+ """Return the path to a cataloged object given a 'data_record_id_'
"""
- Return the path to a cataloged object given a
- 'data_record_id_'
-
+ def getrid(rid):
+ """Return the 'data_record_id_' to a cataloged object given a path
"""
-
def getobject(rid, REQUEST=None):
- """
-
- Return a cataloged object given a 'data_record_id_'
-
+ """Return a cataloged object given a 'data_record_id_'
"""
def schema():
- """
+ """Get the meta-data schema
Returns a sequence of names that correspond to columns in the
meta-data table.
"""
- def index_objects():
+ def indexes():
+ """Returns a sequence of names that correspond to indexes.
"""
- Returns a sequence of actual index objects.
+ def index_objects():
+ """Returns a sequence of actual index objects.
NOTE: This returns unwrapped indexes! You should probably use
getIndexObjects instead. Some indexes expect to be wrapped.
-
"""
def getIndexObjects():
- """
-
- Returns a list of acquisition wrapped index objects
-
+ """Returns a list of acquisition wrapped index objects
"""
def searchResults(REQUEST=None, **kw):
- """
+ """Search the catalog.
- Search the catalog. Search terms can be passed in the REQUEST
- or as keyword arguments.
+ Search terms can be passed in the REQUEST or as keyword
+ arguments.
Search queries consist of a mapping of index names to search
parameters. You can either pass a mapping to searchResults as
@@ -178,7 +167,7 @@
sort_order -- You can specify 'reverse' or 'descending'.
Default behavior is to sort ascending.
-
+
sort_limit -- An optimization hint to tell the catalog how many
results you are really interested in. See the limit argument
to the search method for more details.
@@ -186,8 +175,7 @@
There are some rules to consider when querying this method:
- an empty query mapping (or a bogus REQUEST) returns all
- items in the
- catalog.
+ items in the catalog.
- results from a query involving only field/keyword
indexes, e.g. {'id':'foo'} and no 'sort_on' will be
@@ -212,29 +200,36 @@
"""
def __call__(REQUEST=None, **kw):
- """
- Search the catalog, the same way as 'searchResults'.
+ """Search the catalog, the same way as 'searchResults'.
"""
def search(query_request, sort_index=None, reverse=0, limit=None, merge=1):
"""Programmatic search interface, use for searching the catalog from
scripts.
-
- query_request -- Dictionary containing catalog query. This uses the
+
+ query_request -- Dictionary containing catalog query. This uses the
same format as searchResults.
-
+
sort_index -- Name of sort index
-
+
reverse -- Boolean, reverse sort order (defaults to false)
-
+
limit -- Limit sorted result count to the n best records. This is an
optimization hint used in conjunction with a sort_index. If possible
ZCatalog will use a different sort algorithm that uses much less memory
and scales better then a full sort. The actual number of records
returned is not guaranteed to be <= limit. You still need to apply the
- same batching to the results.
+ same batching to the results. Since the len() of the results will no
+ longer be the actual result count, you can use the
+ "actual_result_count" attribute of the lazy result object instead to
+ determine the size of the full result set.
- merge -- Return merged, lazy results (like searchResults) or raw
+ merge -- Return merged, lazy results (like searchResults) or raw
results for later merging. This can be used to perform multiple
queries (even across catalogs) and merge and sort the combined results.
+ """
+
+ def refreshCatalog():
+ """Reindex every object we can find, removing the unreachable
+ ones from the index.
"""
More information about the Zope-Checkins
mailing list