Changeset 2415 in products for quintagroup.plonegooglesitemaps
- Timestamp:
- May 31, 2010 4:30:47 PM (14 years ago)
- Location:
- quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/browser/newssitemapview.py
r2413 r2415 3 3 from commonview import * 4 4 from zope.component import getMultiAdapter 5 from plone.memoize.view import memoize 5 6 6 7 reTrailingParenthtical = re.compile("\s*\(.*\)\s*", re.S) … … 12 13 implements(ISitemapView) 13 14 14 additional_maps = ( 15 ('publication_date', lambda x:DateTime(x.EffectiveDate).strftime("%Y-%m-%d")), 16 ('keywords', lambda x:', '.join(x.Subject)), 17 ('title', lambda x:x.Title), 18 ('name', lambda x:reTrailingParenthtical.sub("",x.Title)), 19 ('language', lambda x:x.Language), 20 ('access', lambda x:x.gsm_access), 21 ('genres', lambda x:x and ", ".join(x.gsm_genres) or ""), 22 ) 15 @property 16 def additional_maps(self): 17 import pdb;pdb.set_trace() 18 return ( 19 ('publication_date', lambda x:DateTime(x.EffectiveDate).strftime("%Y-%m-%d")), 20 ('keywords', lambda x:', '.join(x.Subject)), 21 ('title', lambda x:x.Title or x.getId or x.id), 22 ('name', lambda x:reTrailingParenthtical.sub("",x.Title)), 23 ('language', lambda x:x.Language or self.default_language()), 24 ('access', lambda x:x.gsm_access or ""), 25 ('genres', lambda x:x and ", ".join(x.gsm_genres) or ""), 26 ) 27 28 @memoize 29 def default_language(self): 30 pps = getMultiAdapter((self.context, self.request), name="plone_portal_state") 31 return pps.default_language 23 32 24 33 def getFilteredObjects(self): -
quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/browser/templates/newssitemapview.pt
r2399 r2415 19 19 <n:publication_date tal:content="result/publication_date">2006-08-14</n:publication_date> 20 20 <n:title tal:content="result/title">Full title of the news item</n:title> 21 <n:keywords tal:content="result/keywords">Business, Mergers, Acquisitions</n:keywords> 21 <n:keywords tal:condition="result/keywords" tal:content="result/keywords"> 22 Business, Mergers, Acquisitions</n:keywords> 22 23 </n:news> 23 24 </url> -
quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/tests/testNewsSitemaps.py
r2413 r2415 108 108 self.reParse() 109 109 self.assertNotEqual("n:genres" in self.start.keys(), True) 110 111 112 class TestNewsSitemapsXMLDefaultObject(FunctionalTestCase): 113 114 def afterSetUp(self): 115 super(TestNewsSitemapsXMLDefaultObject, self).afterSetUp() 116 # Create news sitemaps 117 _createObjectByType("Sitemap", self.portal, id="news-sitemaps", 118 sitemapType="news", portalTypes=("News Item",)) 119 self.portal["news-sitemaps"].at_post_create_script() 120 # Add minimal testing news item to portal 121 self.pubdate = (DateTime()+1).strftime("%Y-%m-%d") 122 my_news = self.portal.invokeFactory("News Item", id="my_news") 123 self.my_news = self.portal["my_news"] 124 self.my_news.edit(effectiveDate=self.pubdate) 125 self.portal.portal_workflow.doActionFor(self.my_news, "publish") 126 self.reParse() 127 128 def reParse(self): 129 # Parse news sitemap 130 self.sitemap = self.publish("/"+self.portal.absolute_url(1) + "/news-sitemaps", 131 "%s:%s" % (portal_owner, default_password)).getBody() 132 parsed_sitemap = parse(self.sitemap) 133 self.start = parsed_sitemap["start"] 134 self.data = parsed_sitemap["data"] 135 136 def test_nnews(self): 137 self.assert_("n:news" in self.start.keys()) 138 139 def test_npublication(self): 140 open("/tmp/news.sm.xml", "w").write(self.sitemap) 141 self.assert_("n:publication" in self.start.keys()) 142 self.assert_("n:name" in self.start.keys()) 143 self.assert_("my_news" in self.data, "No 'First news' in data") 144 self.assert_("n:language" in self.start.keys()) 145 self.assert_("en" in self.data, "No 'en' in data") 146 147 def test_npublication_date(self): 148 self.assert_("n:publication_date" in self.start.keys()) 149 self.assert_(self.pubdate in self.data, "No %s in data" % self.pubdate) 150 151 def test_ntitle(self): 152 self.assert_("n:title" in self.start.keys()) 153 self.assert_("my_news" in self.data, "No 'First news (test)' in data") 154 155 def test_no_naccess(self): 156 self.assert_("n:access" not in self.start.keys()) 157 158 def test_no_ngenres(self): 159 self.assert_("n:genres" not in self.start.keys()) 160 161 def test_no_keywords(self): 162 self.assert_("n:keywords" not in self.start.keys()) 110 163 111 164 … … 148 201 suite = TestSuite() 149 202 suite.addTest(makeSuite(TestNewsSitemapsXML)) 203 suite.addTest(makeSuite(TestNewsSitemapsXMLDefaultObject)) 150 204 suite.addTest(makeSuite(TestSchemaExtending)) 151 205 return suite
Note: See TracChangeset
for help on using the changeset viewer.