Changeset 3504 in products
- Timestamp:
- Aug 14, 2012 3:35:43 PM (12 years ago)
- Location:
- quintagroup.plonegooglesitemaps/branches/sitemap_date/quintagroup/plonegooglesitemaps
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.plonegooglesitemaps/branches/sitemap_date/quintagroup/plonegooglesitemaps/indexers.py
r3495 r3504 1 from plone.indexer import indexer2 1 from plone.app.layout.navigation.defaultpage import getDefaultPage 3 2 … … 6 5 from quintagroup.plonegooglesitemaps.utils import dateTime 7 6 7 #BBB: for compatibility with older plone versions 8 # (Plone 3.0, Plone 3.1, Plone3.2) 9 try: 10 from plone.indexer import indexer 11 IS_NEW = True 12 except ImportError: 13 IS_NEW = False 14 15 class IDummyInterface: 16 pass 17 18 class indexer: 19 20 def __init__(self, *interfaces): 21 self.interfaces = IDummyInterface, 22 23 def __call__(self, callable): 24 callable.__component_adapts__ = self.interfaces 25 callable.__implemented__ = Interface 26 return callable 27 8 28 9 29 @indexer(Interface) 10 def sitemap_date(obj ):30 def sitemap_date(obj, **kwargs): 11 31 """ Method gets date for sitemap """ 12 32 … … 20 40 21 41 if folderish_date > child_mdate: 22 last_date = folderish_date 42 last_date = folderish_date 23 43 else: 24 44 last_date = child_mdate … … 38 58 39 59 return date.HTML4() 60 61 #BBB: for compatibility with older plone versions 62 # (Plone 3.0, Plone 3.1, Plone3.2) 63 if not IS_NEW: 64 from Products.CMFPlone.CatalogTool import registerIndexableAttribute 65 registerIndexableAttribute('sitemap_date', sitemap_date) -
quintagroup.plonegooglesitemaps/branches/sitemap_date/quintagroup/plonegooglesitemaps/tests/testSitemaps.py
r3490 r3504 52 52 53 53 def testAutoSetLayout(self): 54 response = self.publish('/%s/createObject?type_name=Sitemap' \54 response = self.publish('/%s/createObject?type_name=Sitemap' 55 55 % self.portal.absolute_url(1), basic=self.auth) 56 56 location = response.getHeader('location') … … 87 87 wftrans = self.contentSM.getWorkflowTransitions() 88 88 self.assertEqual(isinstance(wftrans, atapi.DisplayList), True) 89 self.assertEqual("simple_publication_workflow#publish" in \89 self.assertEqual("simple_publication_workflow#publish" in 90 90 wftrans.keys(), True) 91 91 … … 95 95 self.contentSM.edit(blackout_list=bolist) 96 96 value = self.contentSM.getBlackout_list() 97 self.assertTrue(value == expect, "Blackout list was not cleaned "\ 98 "up from whitespaces: %s" % str(value)) 97 self.assertTrue(value == expect, "Blackout list was not cleaned " 98 "up from whitespaces: %s" 99 % str(value)) 99 100 100 101 … … 179 180 def afterSetUp(self): 180 181 super(TestPinging, self).afterSetUp() 182 workflow = "simple_publication_workflow" 181 183 self.workflow.setChainForPortalTypes(pt_names=('News Item', 182 'Document'), chain="simple_publication_workflow") 184 'Document'), 185 chain=workflow) 183 186 gsm_properties = 'googlesitemap_properties' 184 187 self.gsm_props = self.portal.portal_properties[gsm_properties] … … 210 213 sys.stdout = back_out 211 214 212 self.assert_('Pinged %s sitemap to Google' \215 self.assert_('Pinged %s sitemap to Google' 213 216 % self.contentSM.absolute_url() in data, 214 217 "Not pinged %s: '%s'" % (self.contentSM.id, data)) 215 self.assert_('Pinged %s sitemap to Google' \218 self.assert_('Pinged %s sitemap to Google' 216 219 % self.newsSM.absolute_url() in data, 217 220 "Not pinged %s: '%s'" % (self.newsSM.id, data)) … … 227 230 sys.stdout = back_out 228 231 229 self.assert_('Pinged %s sitemap to Google' \232 self.assert_('Pinged %s sitemap to Google' 230 233 % self.newsSM.absolute_url() in data, 231 234 "Not pinged %s: '%s'" % (self.newsSM.id, data)) 232 self.assert_(not 'Pinged %s sitemap to Google' \235 self.assert_(not 'Pinged %s sitemap to Google' 233 236 % self.contentSM.absolute_url() in data, 234 237 "Pinged %s on news: '%s'" % (self.contentSM.id, data)) … … 249 252 sys.stdout = back_out 250 253 251 self.assert_('Pinged %s sitemap to Google' \254 self.assert_('Pinged %s sitemap to Google' 252 255 % self.contentSM.absolute_url() in data, 253 256 "Not pinged %s: '%s'" % (self.contentSM.id, data)) 254 self.assert_('Pinged %s sitemap to Google' \257 self.assert_('Pinged %s sitemap to Google' 255 258 % self.newsSM.absolute_url() in data, 256 259 "Not pinged %s: '%s'" % (self.newsSM.id, data)) … … 285 288 filtered = SitemapView(self.sm, TestRequest()).getFilteredObjects() 286 289 self.assertEqual(map(lambda x: x.getPath(), filtered), 287 [self.inner_path, ])290 [self.inner_path, ]) 288 291 289 292 def testNewsSitemap(self): … … 318 321 sleep(1) 319 322 self.folder2 = _createObjectByType("Folder", self.folder1, 320 323 id="test-folder2") 321 324 sleep(1) 322 325 self.page = _createObjectByType("Document", self.folder2, 323 326 id="index_html") 324 327 325 def get SitemapDate(self, obj):326 """ Method get sitemap_date from portal_portal"""328 def getCatalogSitemapDate(self, obj): 329 """ Method gets sitemap_date from portal_catalog """ 327 330 return self.portal.portal_catalog(id=obj.id)[0].sitemap_date 331 332 def getIndexerSitemapDate(self, obj): 333 """ Method gets modification date from 334 function sitemap_date (indexer) 335 """ 336 from quintagroup.plonegooglesitemaps.indexers import sitemap_date 337 338 modification_date = sitemap_date(obj) 339 # you have had to use '__call__' since Plone 3.3 340 if callable(modification_date): 341 modification_date = modification_date() 342 return modification_date 328 343 329 344 def testReindexParentObjects(self): 330 345 """ Method tests handler (reindexParentObjects) """ 331 from quintagroup.plonegooglesitemaps.handlers import \ 332 reindexParentObjects 346 from quintagroup.plonegooglesitemaps.handlers \ 347 import reindexParentObjects 348 333 349 # set default page 334 350 self.folder2.setDefaultPage("index_html") 335 351 reindexParentObjects(self.page, None) 336 352 337 self.assertEqual(self.get SitemapDate(self.page),338 self.get SitemapDate(self.folder2))339 self.assertNotEqual(self.get SitemapDate(self.page),340 self.get SitemapDate(self.folder1))353 self.assertEqual(self.getCatalogSitemapDate(self.page), 354 self.getCatalogSitemapDate(self.folder2)) 355 self.assertNotEqual(self.getCatalogSitemapDate(self.page), 356 self.getCatalogSitemapDate(self.folder1)) 341 357 342 358 # set default page 343 359 self.folder1.setDefaultPage("test-folder2") 344 360 reindexParentObjects(self.folder2, None) 345 self.assertEqual(self.get SitemapDate(self.page),346 self.get SitemapDate(self.folder1))347 348 def testSitemap Index(self):361 self.assertEqual(self.getCatalogSitemapDate(self.page), 362 self.getCatalogSitemapDate(self.folder1)) 363 364 def testSitemapDateIndexer(self): 349 365 """ Method tests index (sitemap_date) """ 350 from quintagroup.plonegooglesitemaps.indexers import sitemap_date 351 352 last_date = self.getSitemapDate(self.folder1) 353 sitemap_func = sitemap_date(self.folder1) 354 self.assertEqual(last_date, 355 sitemap_func()) 356 357 # set default page 366 last_date = self.getCatalogSitemapDate(self.folder1) 367 self.assertEqual(last_date, self.getIndexerSitemapDate(self.folder1)) 358 368 self.folder1.setDefaultPage("test-folder2") 359 369 self.assertNotEqual(last_date, 360 s itemap_func())370 self.getIndexerSitemapDate(self.folder1)) 361 371 362 372
Note: See TracChangeset
for help on using the changeset viewer.