+ def handle_link(self, element):
+ if 'url' in element.attrib:
+ return tag('a', href=element.attrib['url'])(self, element)
+ elif 'material' in element.attrib:
+ formats = re.split(r"[, ]+",
+ element.attrib.get('format', DEFAULT_MATERIAL_FORMAT))
+ make_url = lambda f: self.options['urlmapper'] \
+ .url_for_material(element.attrib['material'], f)
+ def_href = make_url(formats[0])
+ fmt_links = []
+ for f in formats[1:]:
+ fmt_links.append(u'<a href="%s">%s</a>' % (make_url(f), f.upper()))
+ more_links = u' (%s)' % u', '.join(fmt_links) if fmt_links else u''
+
+ return u"<a href='%s'>" % def_href, u'</a>%s' % more_links
+