本文整理汇总了Python中Products.CMFCore.CatalogTool.CatalogTool类的典型用法代码示例。如果您正苦于以下问题:Python CatalogTool类的具体用法?Python CatalogTool怎么用?Python CatalogTool使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了CatalogTool类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_search_anonymous
def test_search_anonymous(self):
catalog = CatalogTool()
dummy = DummyContent(catalog=1)
catalog.catalog_object(dummy, '/dummy')
self.assertEqual(1, len(catalog._catalog.searchResults()))
self.assertEqual(0, len(catalog.searchResults()))
示例2: test_processActions
def test_processActions( self ):
"""
Tracker #405: CatalogTool doesn't accept optional third
argument, 'idxs', to 'catalog_object'.
"""
tool = CatalogTool()
dummy = DummyContent(catalog=1)
tool.catalog_object( dummy, '/dummy' )
tool.catalog_object( dummy, '/dummy', [ 'SearchableText' ] )
示例3: setUp
def setUp(self):
from Products.CMFCore.CatalogTool import CatalogTool
from Products.CMFCore.utils import registerToolInterface
from Products.CMFUid.interfaces import IUniqueIdHandler
from Products.CMFUid.UniqueIdAnnotationTool \
import UniqueIdAnnotationTool
from Products.CMFUid.UniqueIdGeneratorTool \
import UniqueIdGeneratorTool
SecurityTest.setUp(self)
self.app._setObject('dummy', DummyContent(id='dummy'))
self.app._setObject('dummy2', DummyContent(id='dummy2'))
self.ctool = CatalogTool().__of__(self.app)
self.uidhandler = self._makeOne()
sm = getSiteManager()
sm.registerUtility(self.ctool, ICatalogTool)
registerToolInterface('portal_catalog', ICatalogTool)
sm.registerUtility(self.uidhandler, IUniqueIdHandler)
sm.registerUtility(UniqueIdAnnotationTool(),
IUniqueIdAnnotationManagement)
sm.registerUtility(UniqueIdGeneratorTool(), IUniqueIdGenerator)
sm.registerUtility(provided=IPortalCatalogQueueProcessor, factory=PortalCatalogProcessor)
# Make sure we have our indices/columns
uid_name = self.uidhandler.UID_ATTRIBUTE_NAME
self.ctool.addIndex(uid_name, 'FieldIndex')
self.ctool.addColumn(uid_name)
示例4: __init__
def __init__(self, FULLTEXT=False):
"""
"""
self.no_refresh = True
CatalogTool.__init__(self)
self._catalog = PlominoCatalog()
lexicon = PLexicon("plaintext_lexicon", "", Splitter(), CaseNormalizer())
self._setObject("plaintext_lexicon", lexicon)
self.addIndex("Form", "FieldIndex")
self.addIndex("id", "FieldIndex")
self.addColumn("id")
self.addIndex("getPlominoReaders", "KeywordIndex")
self.addIndex("path", "ExtendedPathIndex")
if FULLTEXT:
self.createFieldIndex("SearchableText", "RICHTEXT")
self.no_refresh = False
示例5: test_itemCataloguing
def test_itemCataloguing(self):
ctool = CatalogTool()
ctool.addColumn('in_reply_to')
getSiteManager().registerUtility(ctool, ICatalogTool)
dtool = self.dtool
test = self._makeDummyContent('test', catalog=1)
test.allow_discussion = 1
self.assertEqual( len(ctool), 1 )
self.failUnless(has_path(ctool, test.getPhysicalPath()))
talkback = dtool.getDiscussionFor(test)
self.assertEqual( talkback.getPhysicalPath(),
('', 'bar', 'site', 'test', 'talkback') )
talkback.createReply( title='test'
, text='blah'
)
self.assertEqual( len(ctool), 2 )
for reply in talkback.getReplies():
self.failUnless(has_path(ctool, reply.getPhysicalPath()))
self.failUnless(has_path(ctool, '/bar/site/test/talkback/%s'
% reply.getId()))
reply1 = talkback.getReplies()[0]
path1 = '/'.join(reply1.getPhysicalPath())
self.assertEqual( ctool.getMetadataForUID(path1),
{'in_reply_to': None} )
talkback1 = dtool.getDiscussionFor(reply1)
talkback1.createReply( title='test2'
, text='blah2'
)
for reply in talkback.getReplies():
self.failUnless(has_path(ctool, reply.getPhysicalPath()))
self.failUnless(has_path(ctool, '/bar/site/test/talkback/%s'
% reply.getId()))
for reply in talkback1.getReplies():
self.failUnless(has_path(ctool, reply.getPhysicalPath()))
self.failUnless(has_path(ctool, '/bar/site/test/talkback/%s'
% reply.getId()))
reply2 = talkback1.getReplies()[0]
path2 = '/'.join(reply2.getPhysicalPath())
self.assertEqual( ctool.getMetadataForUID(path2),
{'in_reply_to': reply1.getId()} )
示例6: __init__
def __init__(self, FULLTEXT=False):
"""
"""
self.no_refresh = True
CatalogTool.__init__(self)
self._catalog = PlominoCatalog()
lexicon = PLexicon(
'plaintext_lexicon',
'',
Splitter(),
CaseNormalizer())
self._setObject('plaintext_lexicon', lexicon)
self.addIndex('Form', "FieldIndex")
self.addIndex('id', "FieldIndex")
self.addColumn('id')
self.addIndex('getPlominoReaders', "KeywordIndex")
self.addIndex('path', "ExtendedPathIndex")
if FULLTEXT:
self.createFieldIndex('SearchableText', 'RICHTEXT')
self.no_refresh = False
示例7: enumerateIndexes
def enumerateIndexes(self):
standard = CatalogTool.enumerateIndexes(self)
custom = (('status', 'FieldIndex'),
('topic', 'FieldIndex'),
('classification', 'FieldIndex'),
('importance', 'FieldIndex'),
('security_related', 'FieldIndex'),
('confidential', 'FieldIndex'),
('resolution', 'TextIndex'),
('submitter_id', 'FieldIndex'),
('submitter_email', 'FieldIndex'),
('version_info', 'TextIndex'),
('assigned_to', 'KeywordIndex'),
('upload_number', 'KeywordIndex')
)
return standard + custom
示例8: enumerateColumns
def enumerateColumns( self ):
"""Return field names of data to be cached on query results."""
standard = CatalogTool.enumerateColumns(self)
custom = ('status',
'submitter_id',
'topic',
'classification',
'importance',
'security_related',
'confidential',
'version_info',
'assigned_to',
'uploads',
'action_number',
'upload_number',
)
return standard + custom
示例9: test_search_inactive
def test_search_inactive(self):
catalog = CatalogTool()
now = DateTime()
dummy = DummyContent(catalog=1)
dummy._View_Permission = ('Blob',)
self.loginWithRoles('Blob')
# not yet effective
dummy.effective = now+1
dummy.expires = now+2
catalog.catalog_object(dummy, '/dummy')
self.assertEqual(1, len(catalog._catalog.searchResults()))
self.assertEqual(0, len(catalog.searchResults()))
# already expired
dummy.effective = now-2
dummy.expires = now-1
catalog.catalog_object(dummy, '/dummy')
self.assertEqual(1, len(catalog._catalog.searchResults()))
self.assertEqual(0, len(catalog.searchResults()))
示例10: enumerateIndexes
def enumerateIndexes(self):
from Products.CMFCore.utils import SimpleRecord
plaintext_extra = SimpleRecord( lexicon_id='plaintext_lexicon'
, index_type='Okapi BM25 Rank'
)
standard = CatalogTool.enumerateIndexes(self)
custom = (('status', 'FieldIndex', None),
('topic', 'FieldIndex', None),
('classification', 'FieldIndex', None),
('importance', 'FieldIndex', None),
('security_related', 'FieldIndex', None),
('confidential', 'FieldIndex', None),
('resolution', 'ZCTextIndex', plaintext_extra),
('submitter_id', 'FieldIndex', None),
('submitter_email', 'FieldIndex', None),
('version_info', 'ZCTextIndex', plaintext_extra),
('assigned_to', 'KeywordIndex', None),
('upload_number', 'KeywordIndex', None)
)
if len(standard[0]) == 2:
# BBB compatibility with *old* CMFCore.CatalogTool
standard = tuple([index_tuple + (None,)
for index_tuple in standard])
return standard + custom
示例11: UniqueIdHandlerTests
class UniqueIdHandlerTests(SecurityTest):
def _getTargetClass(self):
from Products.CMFUid.UniqueIdHandlerTool import UniqueIdHandlerTool
return UniqueIdHandlerTool
def _makeOne(self, *args, **kw):
return self._getTargetClass()(*args, **kw)
def setUp(self):
from Products.CMFCore.CatalogTool import CatalogTool
from Products.CMFUid.interfaces import IUniqueIdHandler
from Products.CMFUid.UniqueIdAnnotationTool \
import UniqueIdAnnotationTool
from Products.CMFUid.UniqueIdGeneratorTool \
import UniqueIdGeneratorTool
SecurityTest.setUp(self)
self.app._setObject('dummy', DummyContent(id='dummy'))
self.app._setObject('dummy2', DummyContent(id='dummy2'))
self.ctool = CatalogTool().__of__(self.app)
self.uidhandler = self._makeOne()
sm = getSiteManager()
sm.registerUtility(self.ctool, ICatalogTool)
sm.registerUtility(self.uidhandler, IUniqueIdHandler)
sm.registerUtility(UniqueIdAnnotationTool(),
IUniqueIdAnnotationManagement)
sm.registerUtility(UniqueIdGeneratorTool(), IUniqueIdGenerator)
# Make sure we have our indices/columns
uid_name = self.uidhandler.UID_ATTRIBUTE_NAME
self.ctool.addIndex(uid_name, 'FieldIndex')
self.ctool.addColumn(uid_name)
def tearDown(self):
cleanUp()
SecurityTest.tearDown(self)
def test_interfaces(self):
from Products.CMFUid.interfaces import IUniqueIdBrainQuery
from Products.CMFUid.interfaces import IUniqueIdHandler
from Products.CMFUid.interfaces import IUniqueIdUnrestrictedQuery
verifyClass(IUniqueIdBrainQuery, self._getTargetClass())
verifyClass(IUniqueIdHandler, self._getTargetClass())
verifyClass(IUniqueIdUnrestrictedQuery, self._getTargetClass())
def test_getUidOfNotYetRegisteredObject(self):
handler = self.uidhandler
dummy = self.app.dummy
UniqueIdError = handler.UniqueIdError
self.assertEqual(handler.queryUid(dummy, None), None)
self.assertRaises(UniqueIdError, handler.getUid, dummy)
def test_getInvalidUid(self):
handler = self.uidhandler
dummy = self.app.dummy
UniqueIdError = handler.UniqueIdError
self.assertEqual(handler.queryObject(100, None), None)
self.assertRaises(UniqueIdError, handler.getObject, 100)
self.assertEqual(handler.unrestrictedQueryObject(100, None), None)
self.assertRaises(UniqueIdError, handler.unrestrictedGetObject, 100)
uid = handler.register(dummy)
self.assertEqual(handler.queryObject(uid + 1, None), None)
self.assertRaises(UniqueIdError, handler.getObject, uid + 1)
self.assertEqual(handler.unrestrictedQueryObject(uid + 1, None), None)
self.assertRaises(UniqueIdError, handler.unrestrictedGetObject, uid + 1)
def test_getUidOfRegisteredObject(self):
handler = self.uidhandler
dummy = self.app.dummy
uid = handler.register(dummy)
self.assertEqual(handler.getUid(dummy), uid)
def test_getRegisteredObjectByUid(self):
handler = self.uidhandler
dummy = self.app.dummy
uid = handler.register(dummy)
self.assertEqual(handler.getObject(uid), dummy)
self.assertEqual(handler.unrestrictedGetObject(uid), dummy)
def test_getUnregisteredObject(self):
handler = self.uidhandler
dummy = self.app.dummy
UniqueIdError = handler.UniqueIdError
uid = handler.register(dummy)
handler.unregister(dummy)
self.assertEqual(handler.queryObject(uid, None), None)
self.assertRaises(UniqueIdError, handler.getObject, uid)
self.assertEqual(handler.unrestrictedQueryObject(uid, None), None)
self.assertRaises(UniqueIdError, handler.unrestrictedGetObject, uid)
def test_getUidOfUnregisteredObject(self):
#.........这里部分代码省略.........
示例12: _initSite
def _initSite(self, foo=2):
site = Folder(id='site').__of__(self.app)
ctool = CatalogTool()
getSiteManager().registerUtility(ctool, ICatalogTool)
for obj_id in ctool.objectIds():
ctool._delObject(obj_id)
for idx_id in ctool.indexes():
ctool.delIndex(idx_id)
for col in ctool.schema()[:]:
ctool.delColumn(col)
if foo > 0:
ctool._setObject('foo_plexicon', PLexicon('foo_plexicon'))
lex = ctool.foo_plexicon
lex._pipeline = (Splitter(), CaseNormalizer(), StopWordRemover())
extra = _extra()
extra.lexicon_id = 'foo_plexicon'
extra.index_type = 'Okapi BM25 Rank'
ctool.addIndex('foo_zctext', 'ZCTextIndex', extra)
ctool.addColumn('foo_zctext')
return site, ctool
示例13: test_search_restrict_manager
def test_search_restrict_manager(self):
catalog = CatalogTool()
now = DateTime()
dummy = DummyContent(catalog=1)
self.loginManager()
# already expired
dummy.effective = now-4
dummy.expires = now-2
catalog.catalog_object(dummy, '/dummy')
self.assertEqual(1, len(catalog._catalog.searchResults()))
self.assertEqual(1, len(catalog.searchResults()))
self.assertEqual(1, len(catalog.searchResults(
expires={'query': now-3, 'range': 'min'})))
self.assertEqual(0, len(catalog.searchResults(
expires={'query': now-1, 'range': 'min'})))
self.assertEqual(0, len(catalog.searchResults(
expires={'query': now-3, 'range': 'max'})))
self.assertEqual(1, len(catalog.searchResults(
expires={'query': now-1, 'range': 'max'})))
self.assertEqual(1, len(catalog.searchResults(
expires={'query': (now-3, now-1), 'range': 'min:max'})))
self.assertEqual(1, len(catalog.searchResults(
expires={'query': (now-3, now-1), 'range': 'minmax'})))
self.assertEqual(1, len(catalog.searchResults(
expires={'query': now-2})))
self.assertEqual(1, len(catalog.searchResults(
expires={'query': now-2, 'range': None})))
示例14: test_search_restrict_visible
def test_search_restrict_visible(self):
catalog = CatalogTool()
now = DateTime()
dummy = DummyContent(catalog=1)
dummy._View_Permission = ('Blob',)
self.loginWithRoles('Blob')
# visible
dummy.effective = now-2
dummy.expires = now+2
catalog.catalog_object(dummy, '/dummy')
self.assertEqual(1, len(catalog._catalog.searchResults()))
self.assertEqual(1, len(catalog.searchResults()))
self.assertEqual(0, len(catalog.searchResults(
effective={'query': now-1, 'range': 'min'})))
self.assertEqual(1, len(catalog.searchResults(
effective={'query': now-1, 'range': 'max'})))
self.assertEqual(0, len(catalog.searchResults(
effective={'query': now+1, 'range': 'min'})))
self.assertEqual(1, len(catalog.searchResults(
effective={'query': now+1, 'range': 'max'})))
self.assertEqual(0, len(catalog.searchResults(
effective={'query': (now-1, now+1), 'range': 'min:max'})))
self.assertEqual(0, len(catalog.searchResults(
effective={'query': (now-1, now+1), 'range': 'minmax'})))
self.assertEqual(1, len(catalog.searchResults(
expires={'query': now-2, 'range': None})))
self.assertEqual(1, len(catalog.searchResults(
effective={'query': now-3, 'range': 'min'})))
self.assertEqual(0, len(catalog.searchResults(
effective={'query': now-3, 'range': 'max'})))
self.assertEqual(0, len(catalog.searchResults(
effective={'query': now+3, 'range': 'min'})))
self.assertEqual(1, len(catalog.searchResults(
effective={'query': now+3, 'range': 'max'})))
self.assertEqual(1, len(catalog.searchResults(
effective={'query': (now-3, now+3), 'range': 'min:max'})))
self.assertEqual(1, len(catalog.searchResults(
effective={'query': (now-3, now+3), 'range': 'minmax'})))
self.assertEqual(1, len(catalog.searchResults(
expires={'query': now-1, 'range': 'min'})))
self.assertEqual(0, len(catalog.searchResults(
expires={'query': now-1, 'range': 'max'})))
self.assertEqual(1, len(catalog.searchResults(
expires={'query': now+1, 'range': 'min'})))
self.assertEqual(0, len(catalog.searchResults(
expires={'query': now+1, 'range': 'max'})))
self.assertEqual(0, len(catalog.searchResults(
expires={'query': (now-1, now+1), 'range': 'min:max'})))
self.assertEqual(0, len(catalog.searchResults(
expires={'query': (now-1, now+1), 'range': 'minmax'})))
self.assertEqual(1, len(catalog.searchResults(
expires={'query': now-3, 'range': 'min'})))
self.assertEqual(0, len(catalog.searchResults(
expires={'query': now-3, 'range': 'max'})))
self.assertEqual(0, len(catalog.searchResults(
expires={'query': now+3, 'range': 'min'})))
self.assertEqual(1, len(catalog.searchResults(
expires={'query': now+3, 'range': 'max'})))
self.assertEqual(1, len(catalog.searchResults(
expires={'query': (now-3, now+3), 'range': 'min:max'})))
self.assertEqual(1, len(catalog.searchResults(
expires={'query': (now-3, now+3), 'range': 'minmax'})))
self.assertEqual(1, len(catalog.searchResults(
effective={'query': now-1, 'range': 'max'},
expires={'query': now+1, 'range': 'min'})))
self.assertEqual(0, len(catalog.searchResults(
effective={'query': now+1, 'range': 'max'},
expires={'query': now+3, 'range': 'min'})))
示例15: __init__
def __init__(self):
CatalogTool.__init__(self)