-def add_anchor(element, number):
- anchor = etree.Element('a', href='#f%d' % number)
- anchor.set('class', 'anchor')
- anchor.text = str(number)
- if element.text:
- anchor.tail = element.text
- element.text = u''
- element.insert(0, anchor)
+def add_anchor(element, prefix, with_link=True, with_target=True, link_text=None):
+ if with_link:
+ if link_text is None:
+ link_text = prefix
+ anchor = etree.Element('a', href='#%s' % prefix)
+ anchor.set('class', 'anchor')
+ anchor.text = unicode(link_text)
+ if element.text:
+ anchor.tail = element.text
+ element.text = u''
+ element.insert(0, anchor)