def build_element(link_type, label): # find item which is desired link_text = None if label.find(':') != -1: link_text = label[label.find(':') + 1:] label = label[:label.find(':')] result = Globals.get_url_by_name(label, link_type) item = result[0] item_field = result[1] a = etree.Element('a') a.set('data-href', 'Alink') if item_field: a.text = link_text or item_field.href_name a.set('href', '#{item_field.href_id}'.format(item_field=item_field)) elif item: a.text = link_text or item.href_name a.set('href', '#{item.href_id}'.format(item=item)) else: Logger.instance().warning('Link not found %s %s' % (link_type, label)) return '' a.set('text', a.text) return a
def build_element (self, type, label): if type.lower () == 'attribute': p = etree.Element ('p') p.text = 'attribute value here' return p if type.lower () in ('record', 'abstractrecord', 'selection', 'r', 'a', 's', 'ar'): # find item which is desired (name, type, link) = Globals.get_url_by_name (label) if not link: return None a = etree.Element ('a') a.text = '{name} ({type})'.format (name=name, type=type) a.set ('data-href', 'Alink') a.set ('href', link) a.set ('data-ns', 'IT::') return a print 'unknown type' return None