Changeset 3504 in products


Ignore:
Timestamp:
Aug 14, 2012 3:35:43 PM (12 years ago)
Author:
potar
Message:

added compability with Plone 3

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 indexer 
    21from plone.app.layout.navigation.defaultpage import getDefaultPage 
    32 
     
    65from quintagroup.plonegooglesitemaps.utils import dateTime 
    76 
     7#BBB: for compatibility with older plone versions 
     8# (Plone 3.0, Plone 3.1, Plone3.2) 
     9try: 
     10    from plone.indexer import indexer 
     11    IS_NEW = True 
     12except 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 
    828 
    929@indexer(Interface) 
    10 def sitemap_date(obj): 
     30def sitemap_date(obj, **kwargs): 
    1131    """ Method gets date for sitemap """ 
    1232 
     
    2040 
    2141        if folderish_date > child_mdate: 
    22             last_date = folderish_date  
     42            last_date = folderish_date 
    2343        else: 
    2444            last_date = child_mdate 
     
    3858 
    3959    return date.HTML4() 
     60 
     61#BBB: for compatibility with older plone versions 
     62# (Plone 3.0, Plone 3.1, Plone3.2) 
     63if 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  
    5252 
    5353    def testAutoSetLayout(self): 
    54         response = self.publish('/%s/createObject?type_name=Sitemap' \ 
     54        response = self.publish('/%s/createObject?type_name=Sitemap' 
    5555                                % self.portal.absolute_url(1), basic=self.auth) 
    5656        location = response.getHeader('location') 
     
    8787        wftrans = self.contentSM.getWorkflowTransitions() 
    8888        self.assertEqual(isinstance(wftrans, atapi.DisplayList), True) 
    89         self.assertEqual("simple_publication_workflow#publish" in \ 
     89        self.assertEqual("simple_publication_workflow#publish" in 
    9090                         wftrans.keys(), True) 
    9191 
     
    9595        self.contentSM.edit(blackout_list=bolist) 
    9696        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)) 
    99100 
    100101 
     
    179180    def afterSetUp(self): 
    180181        super(TestPinging, self).afterSetUp() 
     182        workflow = "simple_publication_workflow" 
    181183        self.workflow.setChainForPortalTypes(pt_names=('News Item', 
    182                  'Document'), chain="simple_publication_workflow") 
     184                                                       'Document'), 
     185                                             chain=workflow) 
    183186        gsm_properties = 'googlesitemap_properties' 
    184187        self.gsm_props = self.portal.portal_properties[gsm_properties] 
     
    210213            sys.stdout = back_out 
    211214 
    212         self.assert_('Pinged %s sitemap to Google' \ 
     215        self.assert_('Pinged %s sitemap to Google' 
    213216                     % self.contentSM.absolute_url() in data, 
    214217                     "Not pinged %s: '%s'" % (self.contentSM.id, data)) 
    215         self.assert_('Pinged %s sitemap to Google' \ 
     218        self.assert_('Pinged %s sitemap to Google' 
    216219                     % self.newsSM.absolute_url() in data, 
    217220                     "Not pinged %s: '%s'" % (self.newsSM.id, data)) 
     
    227230            sys.stdout = back_out 
    228231 
    229         self.assert_('Pinged %s sitemap to Google' \ 
     232        self.assert_('Pinged %s sitemap to Google' 
    230233                     % self.newsSM.absolute_url() in data, 
    231234                     "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' 
    233236                     % self.contentSM.absolute_url() in data, 
    234237                     "Pinged %s on news: '%s'" % (self.contentSM.id, data)) 
     
    249252            sys.stdout = back_out 
    250253 
    251         self.assert_('Pinged %s sitemap to Google' \ 
     254        self.assert_('Pinged %s sitemap to Google' 
    252255                     % self.contentSM.absolute_url() in data, 
    253256                     "Not pinged %s: '%s'" % (self.contentSM.id, data)) 
    254         self.assert_('Pinged %s sitemap to Google' \ 
     257        self.assert_('Pinged %s sitemap to Google' 
    255258                     % self.newsSM.absolute_url() in data, 
    256259                     "Not pinged %s: '%s'" % (self.newsSM.id, data)) 
     
    285288        filtered = SitemapView(self.sm, TestRequest()).getFilteredObjects() 
    286289        self.assertEqual(map(lambda x: x.getPath(), filtered), 
    287                         [self.inner_path, ]) 
     290                         [self.inner_path, ]) 
    288291 
    289292    def testNewsSitemap(self): 
     
    318321        sleep(1) 
    319322        self.folder2 = _createObjectByType("Folder", self.folder1, 
    320                                             id="test-folder2") 
     323                                           id="test-folder2") 
    321324        sleep(1) 
    322325        self.page = _createObjectByType("Document", self.folder2, 
    323326                                        id="index_html") 
    324327 
    325     def getSitemapDate(self, obj): 
    326         """ Method get sitemap_date from portal_portal """ 
     328    def getCatalogSitemapDate(self, obj): 
     329        """ Method gets sitemap_date from portal_catalog """ 
    327330        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 
    328343 
    329344    def testReindexParentObjects(self): 
    330345        """ Method tests handler (reindexParentObjects) """ 
    331         from quintagroup.plonegooglesitemaps.handlers import \ 
    332                                                         reindexParentObjects 
     346        from quintagroup.plonegooglesitemaps.handlers \ 
     347            import reindexParentObjects 
     348 
    333349        # set default page 
    334350        self.folder2.setDefaultPage("index_html") 
    335351        reindexParentObjects(self.page, None) 
    336352 
    337         self.assertEqual(self.getSitemapDate(self.page), 
    338                          self.getSitemapDate(self.folder2)) 
    339         self.assertNotEqual(self.getSitemapDate(self.page), 
    340                             self.getSitemapDate(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)) 
    341357 
    342358        # set default page 
    343359        self.folder1.setDefaultPage("test-folder2") 
    344360        reindexParentObjects(self.folder2, None) 
    345         self.assertEqual(self.getSitemapDate(self.page), 
    346                          self.getSitemapDate(self.folder1)) 
    347  
    348     def testSitemapIndex(self): 
     361        self.assertEqual(self.getCatalogSitemapDate(self.page), 
     362                         self.getCatalogSitemapDate(self.folder1)) 
     363 
     364    def testSitemapDateIndexer(self): 
    349365        """ 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)) 
    358368        self.folder1.setDefaultPage("test-folder2") 
    359369        self.assertNotEqual(last_date, 
    360                             sitemap_func()) 
     370                            self.getIndexerSitemapDate(self.folder1)) 
    361371 
    362372 
Note: See TracChangeset for help on using the changeset viewer.