def testGetAvailableGlossaryMetaTypes(self): self.loginAsPortalOwner() tool = self.glossary_tool available_metatypes = tool.getAvailableGlossaryMetaTypes() glossary_metatypes = tool.glossary_metatypes # test available metatypes, base glossary selected by default self.assertEquals(available_metatypes, ('PloneGlossary', 'ExampleGlossary')) self.assertEquals(glossary_metatypes, ('PloneGlossary',)) # test : only selected metatypes are returned by getGlossaryUIDs glossary = self.glossary glossaryuid = glossary.UID() exampleglossary = self.addExampleGlossary(self.portal, 'Example', (u'Sport', u'Tennis', u'Open source')) exampleuid = exampleglossary.UID() # test : glossary_uids = list(self.glossary_tool.getGlossaryUIDs()) glossary_uids.sort() self.assertEquals(glossary_uids, [glossaryuid]) # test : add a glossary type tool.glossary_metatypes = ('PloneGlossary', 'ExampleGlossary') glossary_uids = list(self.glossary_tool.getGlossaryUIDs()) glossary_uids.sort() uids = [glossaryuid, exampleuid] uids.sort() self.assertEquals(glossary_uids, uids) LOG.info("testGetAvailableGlossaryMetaTypes passed") self.logout()
def glossaryAdded(glossary, event): """A glossary has been added""" container = event.newParent # FIXME: Fix this when AT don't need manage_afterAdd any more super(glossary.__class__, glossary).manage_afterAdd(glossary, container) glossary._initCatalog() LOG.info("Event: A %s has been added.", glossary.meta_type) return
def available(self): """Do we show the portlet?""" pgtool = getToolByName(self.context, PLONEGLOSSARY_TOOL) _available = pgtool.showPortlet(self.context) if _available: _available = bool(self.definitions()) LOG.debug("Portlet available: %s", _available) return _available
def exportGlossaryTool(context): """Export glossary tool settings as an XML file. """ site = context.getSite() tool = getToolByName(site, PLONEGLOSSARY_TOOL, None) if tool is None: LOG.info('Nothing to export.') return exportObjects(tool, '', context)
def glossaryMoved(glossary, event): """A glossary has been moved or renamed""" glossary.rebuildCatalog() LOG.info("Event: A %s has been moved.", glossary.meta_type) return
record = parseIndexRequest(request, self.id, self.query_options) if record.keys is None: return None query_str = ' '.join(record.keys) if not query_str: return None parseQuery = QueryParser(self.getLexicon()).parseQuery tree = parseQuery(query_str) if self.getId() in INDEX_SEARCH_GLOSSARY: gtool = getToolByName(self, PLONEGLOSSARY_TOOL) glossary_uids = gtool.getGeneralGlossaryUIDs() all_term_items = gtool._getGlossaryTermItems(glossary_uids) #get atoms from query and build related term query text = ' '.join(flatten(tree.terms())) excluded = dict.fromkeys(__getNOTWords(tree), True) tree = replaceWordsQuery(tree, parseQuery, gtool, all_term_items, excluded) results = tree.executeQuery(self.index) return results, (self.id,) if PATCH_ZCTextIndex: ZCTextIndex._apply_index = zctidx_ApplyIndexWithSynonymous LOG.info('Applied patch: ZCTextIndex._apply_index method')
def available(self): """Do we show the portlet?""" _available = bool(self.definitions()) LOG.debug("Portlet available: %s", _available) return _available