web/views/baseviews.py
changeset 1139 bf3384eb87a4
parent 1125 1fbeb11a27a3
child 1140 79bcbb1c39ce
equal deleted inserted replaced
1137:9ce0ac82f94f 1139:bf3384eb87a4
   689         self.w(u'    <title>%s RSS Feed</title>\n' % html_escape(self.page_title()))
   689         self.w(u'    <title>%s RSS Feed</title>\n' % html_escape(self.page_title()))
   690         self.w(u'    <description>%s</description>\n' % html_escape(req.form.get('vtitle', '')))
   690         self.w(u'    <description>%s</description>\n' % html_escape(req.form.get('vtitle', '')))
   691         params = req.form.copy()
   691         params = req.form.copy()
   692         params.pop('vid', None)
   692         params.pop('vid', None)
   693         self.w(u'    <link>%s</link>\n' % html_escape(self.build_url(**params)))
   693         self.w(u'    <link>%s</link>\n' % html_escape(self.build_url(**params)))
   694         self.w(u'    <items>\n')
       
   695         self.w(u'      <rdf:Seq>\n')
       
   696         for entity in self.rset.entities():
       
   697             self.w(u'      <rdf:li resource="%s" />\n' % html_escape(entity.absolute_url()))
       
   698         self.w(u'      </rdf:Seq>\n')
       
   699         self.w(u'    </items>\n')
       
   700         self.w(u'  </channel>\n')
       
   701         for i in xrange(self.rset.rowcount):
   694         for i in xrange(self.rset.rowcount):
   702             self.cell_call(i, 0)
   695             self.cell_call(i, 0)
       
   696         self.w(u'  </channel>\n')
   703         self.w(u'</rss>')       
   697         self.w(u'</rss>')       
   704 
   698 
   705 class RssItemView(EntityView):
   699 class RssItemView(EntityView):
   706     id = 'rssitem'
   700     id = 'rssitem'
   707     date_format = '%%Y-%%m-%%dT%%H:%%M%+03i:00' % (timezone / 3600)
   701     date_format = '%%Y-%%m-%%dT%%H:%%M%+03i:00' % (timezone / 3600)
   719         self._marker('title', entity.dc_long_title())
   713         self._marker('title', entity.dc_long_title())
   720         self._marker('link', entity.absolute_url())
   714         self._marker('link', entity.absolute_url())
   721            
   715            
   722     def render_entity_creator(self, entity):
   716     def render_entity_creator(self, entity):
   723         if entity.creator:
   717         if entity.creator:
   724             self.w(u'<author>')
   718             self._marker('dc:creator', entity.creator.name())
   725             self._marker('name', entity.creator.name())
       
   726             email = entity.creator.get_email()
   719             email = entity.creator.get_email()
   727             if email:
   720             if email:
   728                 self._marker('email', email)
   721                 self.w(u'<author>')
   729             self.w(u'</author>')       
   722                 self.w(email)
       
   723                 self.w(u'</author>')       
   730         
   724         
   731     def _marker(self, marker, value):
   725     def _marker(self, marker, value):
   732         if value:
   726         if value:
   733             self.w(u'  <%s>%s</%s>\n' % (marker, html_escape(value), marker))
   727             self.w(u'  <%s>%s</%s>\n' % (marker, html_escape(value), marker))
   734 
   728