Changeset 3002 in products for quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/browser/commonview.py
- Timestamp:
- Nov 11, 2010 5:26:00 PM (15 years ago)
- Location:
- quintagroup.plonegooglesitemaps/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.plonegooglesitemaps/trunk
- Property svn:mergeinfo
-
old new 1 /quintagroup.plonegooglesitemaps/branches/blacklist:2909-3000 1 2 /quintagroup.plonegooglesitemaps/branches/migratioin_product:2826-2839 2 3 /quintagroup.plonegooglesitemaps/branches/plone4:2549-2553
-
- Property svnmerge-integrated changed from /quintagroup.plonegooglesitemaps/branches/blacklist:1-3923 /quintagroup.plonegooglesitemaps/branches/migratioin_product:1-3879 /quintagroup.plonegooglesitemaps/branches/plone4:1-3593 /quintagroup.plonegooglesitemaps/branches/test_refactoring:1-3576 to /quintagroup.plonegooglesitemaps/branches/blacklist:1-4040 /quintagroup.plonegooglesitemaps/branches/migratioin_product:1-3879 /quintagroup.plonegooglesitemaps/branches/test_refactoring:1-3576 /quintagroup.plonegooglesitemaps/branches/plone4:1-3593
- Property svn:mergeinfo
-
quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/browser/commonview.py
r2742 r3002 1 1 from string import find 2 2 from zope.interface import implements, Interface, Attribute 3 from zope.component import queryMultiAdapter 3 4 4 5 from Acquisition import aq_inner, aq_parent … … 7 8 8 9 from quintagroup.plonegooglesitemaps import qPloneGoogleSitemapsMessageFactory as _ 10 from quintagroup.plonegooglesitemaps.interfaces import IBlackoutFilter 9 11 from quintagroup.plonegooglesitemaps.browser.utils import additionalURLs, applyOperations 10 12 … … 68 70 result = [] 69 71 objects = self.getFilteredObjects() 70 blackout_list = self.context.getBlackout_list()71 72 reg_exps = self.context.getReg_exp() 72 73 73 brain_url_map = applyOperations([ob for ob in objects 74 if (ob.getId not in blackout_list)], 75 reg_exps) 76 74 brain_url_map = applyOperations(self.getBOFiltered(objects), reg_exps) 77 75 # Prepare dictionary for view 78 76 for url, b in brain_url_map.items(): … … 82 80 self.num_entries = len(result) 83 81 return result 82 83 def getBOFiltered(self, objects): 84 """Return black-out filtered objects 85 Every record in blackout_list filter should follow the spec: 86 [<filter name>:]<filter arguments> 87 For example: 88 1| index.html 89 2| id:index.html 90 3| path:/folder_1_level/obj_in_folder 91 4| path:./folder_near_sitemap/obj_in_folder 92 5| foo_filter:arg-1, arg-2 93 94 1->used default "id" filter - remove "index.html" objects; 95 2->explicit "id" filter - remove "index.html" objects; 96 3->"path" filter - remove /folder_1_level/obj_in_folder object, 97 path from the root of the plone site; 98 4->same to 3), but path get from the folder, where sitemap is located; 99 5->filter name is "foo_filter" (must be registered IBlackoutFilter, 100 named "foo_filter"), which get filter arguments: arg-1, arg-2 101 102 Detailed explanation look in filters.txt doctest. 103 """ 104 blackout_list = self.context.getBlackout_list() 105 for frec in blackout_list: 106 fspec = frec.split(":", 1) 107 fargs = fspec.pop() 108 fname = fspec and fspec.pop() or "id" 109 fengine = queryMultiAdapter((self.context, self.request), 110 interface=IBlackoutFilter, name=fname) 111 if fengine: 112 objects = list(fengine.filterOut(objects, fargs)) 113 return objects 84 114 85 115 def updateRequest(self):
Note: See TracChangeset
for help on using the changeset viewer.