9 |
9 |
10 from logilab.mtconverter import html_escape |
10 from logilab.mtconverter import html_escape |
11 |
11 |
12 from cubicweb.selectors import implements |
12 from cubicweb.selectors import implements |
13 from cubicweb.view import EntityView |
13 from cubicweb.view import EntityView |
14 from cubicweb.web.views.xmlrss import XmlView |
14 from cubicweb.web.views.xmlrss import XMLView |
15 |
15 |
16 |
16 |
17 class XbelView(XmlView): |
17 class XbelView(XMLView): |
18 id = 'xbel' |
18 id = 'xbel' |
19 title = _('xbel') |
19 title = _('xbel') |
20 templatable = False |
20 templatable = False |
21 content_type = 'text/xml' #application/xbel+xml |
21 content_type = 'text/xml' #application/xbel+xml |
22 |
22 |
23 def cell_call(self, row, col): |
23 def cell_call(self, row, col): |
24 self.wview('xbelitem', self.rset, row=row, col=col) |
24 self.wview('xbelitem', self.rset, row=row, col=col) |
25 |
25 |
26 def call(self): |
26 def call(self): |
27 """display a list of entities by calling their <item_vid> view""" |
27 """display a list of entities by calling their <item_vid> view""" |
28 title = self.page_title() |
28 title = self.page_title() |
29 url = self.build_url(rql=self.req.form.get('rql', '')) |
29 url = self.build_url(rql=self.req.form.get('rql', '')) |
30 self.w(u'<?xml version="1.0" encoding="%s"?>\n' % self.req.encoding) |
30 self.w(u'<?xml version="1.0" encoding="%s"?>\n' % self.req.encoding) |
32 self.w(u'<xbel version="1.0">') |
32 self.w(u'<xbel version="1.0">') |
33 self.w(u'<title>%s</title>' % self.req._('bookmarks')) |
33 self.w(u'<title>%s</title>' % self.req._('bookmarks')) |
34 for i in xrange(self.rset.rowcount): |
34 for i in xrange(self.rset.rowcount): |
35 self.cell_call(i, 0) |
35 self.cell_call(i, 0) |
36 self.w(u"</xbel>") |
36 self.w(u"</xbel>") |
37 |
37 |
38 |
38 |
39 class XbelItemView(EntityView): |
39 class XbelItemView(EntityView): |
40 id = 'xbelitem' |
40 id = 'xbelitem' |
41 |
41 |
42 def cell_call(self, row, col): |
42 def cell_call(self, row, col): |
46 self.w(u'</bookmark>') |
46 self.w(u'</bookmark>') |
47 |
47 |
48 def url(self, entity): |
48 def url(self, entity): |
49 return entity.absolute_url() |
49 return entity.absolute_url() |
50 |
50 |
51 |
51 |
52 class XbelItemBookmarkView(XbelItemView): |
52 class XbelItemBookmarkView(XbelItemView): |
53 __select__ = implements('Bookmark') |
53 __select__ = implements('Bookmark') |
54 |
54 |
55 def url(self, entity): |
55 def url(self, entity): |
56 return entity.actual_url() |
56 return entity.actual_url() |
57 |
57 |