def init_catalog(self): ''' Create a repoze.catalog instance and specify indices of intereset ''' catalog = RCatalog() catalog.document_map = DocumentMap() # set up indexes catalog['title'] = CatalogTextIndex('_get_title') catalog['titleSorter'] = CatalogFieldIndex('_get_sorter') catalog['collection'] = CatalogKeywordIndex('_get_collection') # Descriptions are converted to TEXT for indexing catalog['description'] = CatalogTextIndex('_get_description') catalog['startDate'] = CatalogFieldIndex('_get_startDate') catalog['endDate'] = CatalogFieldIndex('_get_endDate') catalog['modificationDate'] = CatalogFieldIndex('_get_modificationDate') catalog['fid'] = CatalogTextIndex('_get_fid') catalog['keywords'] = CatalogKeywordIndex('_get_keywordsList') catalog['category'] = CatalogKeywordIndex('_get_categoryList') # I define as Text because I would permit searched for part of names catalog['rolesVals'] = CatalogTextIndex('_get_roles') catalog['persons'] = CatalogTextIndex('_get_persons') # ICTP SPECIFIC: index a deadline date if found. Just COMMENT this line if not interested catalog['deadlineDate'] = CatalogFieldIndex('_get_deadlineDate') self.db.root()[self.catalogName] = catalog self.catalog = self.db.root()[self.catalogName] # commit the indexes transaction.commit()
def make_catalog(): catalog = Catalog() catalog['text'] = CatalogTextIndex(get_text) catalog.document_map = DocumentMap() return catalog