web/views/xmlrss.py
branchtls-sprint
changeset 1652 ba0a6b4d04f7
parent 1550 8260e857822b
child 1733 94c36d679454
equal deleted inserted replaced
1651:675873ed82e3 1652:ba0a6b4d04f7
    20 _ = unicode
    20 _ = unicode
    21 
    21 
    22 
    22 
    23 # base xml views ##############################################################
    23 # base xml views ##############################################################
    24 
    24 
    25 class XmlView(EntityView):
    25 class XMLView(EntityView):
    26     """xml view for entities"""
    26     """xml view for entities"""
    27     id = 'xml'
    27     id = 'xml'
    28     title = _('xml')
    28     title = _('xml')
    29     templatable = False
    29     templatable = False
    30     content_type = 'text/xml'
    30     content_type = 'text/xml'
    41         for i in xrange(self.rset.rowcount):
    41         for i in xrange(self.rset.rowcount):
    42             self.cell_call(i, 0)
    42             self.cell_call(i, 0)
    43         self.w(u'</%s>\n' % self.xml_root)
    43         self.w(u'</%s>\n' % self.xml_root)
    44 
    44 
    45 
    45 
    46 class XmlItemView(EntityView):
    46 class XMLItemView(EntityView):
    47     id = 'xmlitem'
    47     id = 'xmlitem'
    48 
    48 
    49     def cell_call(self, row, col):
    49     def cell_call(self, row, col):
    50         """ element as an item for an xml feed """
    50         """ element as an item for an xml feed """
    51         entity = self.complete_entity(row, col)
    51         entity = self.complete_entity(row, col)
    65                     value = xml_escape(value)
    65                     value = xml_escape(value)
    66                 self.w(u'  <%s>%s</%s>\n' % (attr, value, attr))
    66                 self.w(u'  <%s>%s</%s>\n' % (attr, value, attr))
    67         self.w(u'</%s>\n' % (entity.e_schema))
    67         self.w(u'</%s>\n' % (entity.e_schema))
    68 
    68 
    69 
    69 
    70 class XmlRsetView(AnyRsetView):
    70 class XMLRsetView(AnyRsetView):
    71     """dumps raw rset as xml"""
    71     """dumps raw rset as xml"""
    72     id = 'rsetxml'
    72     id = 'rsetxml'
    73     title = _('xml export')
    73     title = _('xml export')
    74     templatable = False
    74     templatable = False
    75     content_type = 'text/xml'
    75     content_type = 'text/xml'
   140         urlgetter = self.vreg.select_component('rss_feed_url', self.req, self.rset)
   140         urlgetter = self.vreg.select_component('rss_feed_url', self.req, self.rset)
   141         url = urlgetter.feed_url()
   141         url = urlgetter.feed_url()
   142         self.w(u'<a href="%s"><img src="%s" alt="rss"/></a>\n' % (xml_escape(url), rss))
   142         self.w(u'<a href="%s"><img src="%s" alt="rss"/></a>\n' % (xml_escape(url), rss))
   143 
   143 
   144 
   144 
   145 class RssView(XmlView):
   145 class RSSView(XMLView):
   146     id = 'rss'
   146     id = 'rss'
   147     title = _('rss')
   147     title = _('rss')
   148     templatable = False
   148     templatable = False
   149     content_type = 'text/xml'
   149     content_type = 'text/xml'
   150     http_cache_manager = MaxAgeHTTPCacheManager
   150     http_cache_manager = MaxAgeHTTPCacheManager
   174 
   174 
   175     def cell_call(self, row, col):
   175     def cell_call(self, row, col):
   176         self.wview('rssitem', self.rset, row=row, col=col)
   176         self.wview('rssitem', self.rset, row=row, col=col)
   177 
   177 
   178 
   178 
   179 class RssItemView(EntityView):
   179 class RSSItemView(EntityView):
   180     id = 'rssitem'
   180     id = 'rssitem'
   181     date_format = '%%Y-%%m-%%dT%%H:%%M%+03i:00' % (timezone / 3600)
   181     date_format = '%%Y-%%m-%%dT%%H:%%M%+03i:00' % (timezone / 3600)
   182     add_div_section = False
   182     add_div_section = False
   183 
   183 
   184     def cell_call(self, row, col):
   184     def cell_call(self, row, col):