Changeset 2939 in products
- Timestamp:
- Oct 28, 2010 4:26:11 PM (13 years ago)
- Location:
- quintagroup.plonegooglesitemaps/branches/blacklist/quintagroup/plonegooglesitemaps
- Files:
-
- 1 added
- 1 deleted
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.plonegooglesitemaps/branches/blacklist/quintagroup/plonegooglesitemaps/browser/commonview.py
r2924 r2939 1 1 from string import find 2 2 from zope.interface import implements, Interface, Attribute 3 from zope.component import query Utility3 from zope.component import queryMultiAdapter 4 4 5 5 from Acquisition import aq_inner, aq_parent … … 9 9 from quintagroup.plonegooglesitemaps import qPloneGoogleSitemapsMessageFactory as _ 10 10 from quintagroup.plonegooglesitemaps.config import BLACKOUT_PREFIX 11 from quintagroup.plonegooglesitemaps.interfaces import IBlackoutFilter Utility11 from quintagroup.plonegooglesitemaps.interfaces import IBlackoutFilter 12 12 from quintagroup.plonegooglesitemaps.browser.utils import additionalURLs, applyOperations 13 13 … … 115 115 fargs = fspec.pop() 116 116 fname = BLACKOUT_PREFIX + (fspec and fspec.pop() or "id") 117 futility = queryUtility(IBlackoutFilterUtility, name=fname) 118 if futility: 119 kw = {"sitemap": self.context, 120 "request": self.request, 121 "extras": fspec} 122 objects = futility.filterOut(objects, fargs, **kw) 117 fengine = queryMultiAdapter((self.context, self.request), 118 interface=IBlackoutFilter, name=fname) 119 if fengine: 120 objects = fengine.filterOut(objects, fargs) 123 121 return objects 124 122 -
quintagroup.plonegooglesitemaps/branches/blacklist/quintagroup/plonegooglesitemaps/configure.zcml
r2909 r2939 29 29 /> 30 30 31 <!-- Register utilities --> 32 <utility factory=".utilities.IdBlackoutFilterUtility" 33 name="seoptimzier.blackoutfilter.id" 34 permission="zope.Public" /> 31 <!-- Register default filters --> 32 <adapter 33 for="* 34 zope.publisher.interfaces.browser.IBrowserRequest" 35 factory=".filters.IdBlackoutFilter" 36 name="seoptimzier.blackoutfilter.id" 37 permission="zope.Public" /> 35 38 36 <utility factory=".utilities.PathBlackoutFilterUtility" 37 name="seoptimzier.blackoutfilter.path" 38 permission="zope.Public" /> 39 <adapter 40 for="* 41 zope.publisher.interfaces.browser.IBrowserRequest" 42 factory=".filters.PathBlackoutFilter" 43 name="seoptimzier.blackoutfilter.path" 44 permission="zope.Public" /> 39 45 40 46 -
quintagroup.plonegooglesitemaps/branches/blacklist/quintagroup/plonegooglesitemaps/interfaces.py
r2909 r2939 22 22 """Marker interface that defines browser layer for the package.""" 23 23 24 class IBlackoutFilter Utility(Interface):25 """Base interface for filter utility."""24 class IBlackoutFilter(Interface): 25 """Base interface for filter adapter.""" 26 26 27 def filterOut(fdata, f key, **kwargs):27 def filterOut(fdata, fargs): 28 28 """Filter out fdata by passed arguments in kwargs. 29 * fdata (list/tuple) - is data to filtering.30 * fkey (string) - is key for filtering.31 * **kwargs - contains additional data, neededfor filtering.29 * fdata (list/tuple) - data for filtering 30 (list of catalog brains). 31 * fargs (string) - is key for filtering. 32 32 Return list/tuple like object without filtered out items. 33 33 """ -
quintagroup.plonegooglesitemaps/branches/blacklist/quintagroup/plonegooglesitemaps/tests/testBlackoutList.py
r2925 r2939 4 4 from base import * 5 5 from types import ListType, TupleType 6 from zope.component import query Utility, queryMultiAdapter6 from zope.component import queryMultiAdapter 7 7 8 8 from Products.CMFPlone.utils import _createObjectByType 9 9 from quintagroup.plonegooglesitemaps.config import BLACKOUT_PREFIX 10 from quintagroup.plonegooglesitemaps.interfaces import IBlackoutFilter Utility10 from quintagroup.plonegooglesitemaps.interfaces import IBlackoutFilter 11 11 12 12 idfname = BLACKOUT_PREFIX + "id" 13 13 pathfname = BLACKOUT_PREFIX + "path" 14 14 15 class TestBOFilter Utilities(TestCase):15 class TestBOFilters(TestCase): 16 16 17 def testDefaultIdUtility(self): 18 self.assertTrue(queryUtility(IBlackoutFilterUtility, name=idfname) is not None, 19 "Not registered default '%s' IBlackoutFilterUtility" % idfname) 17 def testDefaultId(self): 18 idfilter = queryMultiAdapter((self.portal, self.app.REQUEST), 19 IBlackoutFilter, name=idfname) 20 self.assertTrue(idfilter is not None, 21 "Not registered default '%s' IBlackoutFilter" % idfname) 20 22 21 def testDefaultPathUtility(self): 22 self.assertTrue(queryUtility(IBlackoutFilterUtility, name=pathfname) is not None, 23 "Not registered default '%s' IBlackoutFilterUtility" % pathfname) 23 def testDefaultPath(self): 24 pathfilter = queryMultiAdapter((self.portal, self.app.REQUEST), 25 IBlackoutFilter, name=pathfname) 26 self.assertTrue(pathfilter is not None, 27 "Not registered default '%s' IBlackoutFilter" % pathfname) 24 28 25 29 … … 46 50 47 51 def getPreparedLists(self, fname, fargs): 48 futil = queryUtility(IBlackoutFilterUtility, name=fname) 49 filtered = [f.getPath() for f in futil.filterOut(self.catres, fkey=fargs, 50 sitemap=self.sm, request=self.req)] 52 fengine = queryMultiAdapter((self.sm, self.req), IBlackoutFilter, name=fname) 53 filtered = [f.getPath() for f in fengine.filterOut(self.catres, fargs)] 51 54 catpaths = [c.getPath() for c in self.catres] 52 55 return catpaths, filtered … … 129 132 from unittest import TestSuite, makeSuite 130 133 suite = TestSuite() 131 suite.addTest(makeSuite(TestBOFilter Utilities))134 suite.addTest(makeSuite(TestBOFilters)) 132 135 suite.addTest(makeSuite(TestDefaultFilters)) 133 136 suite.addTest(makeSuite(TestBlacklistFormProcessing))
Note: See TracChangeset
for help on using the changeset viewer.