Esempio n. 1
0
def decorate(svg, node, metadata):
    """Add metedata next to a node"""
    if not metadata:
        return node
    xlink = metadata.get('xlink')
    if xlink:
        if not isinstance(xlink, dict):
            xlink = {'href': xlink, 'target': '_blank'}
        node = svg.node(node, 'a', **xlink)
        svg.node(node, 'desc',
                 class_='xlink').text = to_unicode(xlink.get('href'))

    if 'tooltip' in metadata:
        svg.node(node, 'title').text = to_unicode(metadata['tooltip'])

    if 'color' in metadata:
        color = metadata.pop('color')
        node.attrib['style'] = 'fill: %s; stroke: %s' % (color, color)

    if 'style' in metadata:
        node.attrib['style'] = metadata.pop('style')

    if 'label' in metadata and metadata['label']:
        svg.node(node, 'desc',
                 class_='label').text = to_unicode(metadata['label'])
    return node
Esempio n. 2
0
def decorate(svg, node, metadata):
    """Add metedata next to a node"""
    if not metadata:
        return node
    xlink = metadata.get('xlink')
    if xlink:
        if not isinstance(xlink, dict):
            xlink = {'href': xlink, 'target': '_blank'}
        node = svg.node(node, 'a', **xlink)
        svg.node(node, 'desc', class_='xlink').text = to_unicode(
            xlink.get('href'))

    if 'tooltip' in metadata:
        svg.node(node, 'title').text = to_unicode(
            metadata['tooltip'])

    if 'color' in metadata:
        color = metadata.pop('color')
        node.attrib['style'] = 'fill: %s; stroke: %s' % (
            color, color)

    if 'style' in metadata:
        node.attrib['style'] = metadata.pop('style')

    if 'label' in metadata:
        svg.node(node, 'desc', class_='label').text = to_unicode(
            metadata['label'])
    return node
Esempio n. 3
0
def decorate(svg, node, metadata):
    """Add metedata next to a node"""
    if not metadata:
        return node
    xlink = metadata.get('xlink')
    if xlink:
        if not isinstance(xlink, dict):
            xlink = {'href': xlink, 'target': '_blank'}
        node = svg.node(node, 'a', **xlink)

    if 'color' in metadata:
        color = metadata.pop('color')
        node.attrib['style'] = 'fill: %s; stroke: %s' % (
            color, color)

    if 'style' in metadata:
        node.attrib['style'] = metadata.pop('style')

    for key, value in metadata.items():
        if key == 'xlink' and isinstance(value, dict):
            value = value.get('href', value)
        if value:
            svg.node(node, 'desc', class_=key).text = to_unicode(value)

    return node
Esempio n. 4
0
def decorate(svg, node, metadata):
    """Add metedata next to a node"""
    if not metadata:
        return node
    xlink = metadata.get('xlink')
    if xlink:
        if not isinstance(xlink, dict):
            xlink = {'href': xlink, 'target': '_blank'}
        node = svg.node(node, 'a', **xlink)

    for key, value in metadata.items():
        if key == 'xlink' and isinstance(value, dict):
            value = value.get('href', value)
        if value:
            svg.node(node, 'desc', class_=key).text = to_unicode(value)
    return node
Esempio n. 5
0
def decorate(svg, node, metadata):
    """Add metedata next to a node"""
    if not metadata:
        return node
    xlink = metadata.get("xlink")
    if xlink:
        if not isinstance(xlink, dict):
            xlink = {"href": xlink, "target": "_blank"}
        node = svg.node(node, "a", **xlink)

    if "color" in metadata:
        color = metadata.pop("color")
        node.attrib["style"] = "fill: %s; stroke: %s" % (color, color)

    if "style" in metadata:
        node.attrib["style"] = metadata.pop("style")

    for key, value in metadata.items():
        if key == "xlink" and isinstance(value, dict):
            value = value.get("href", value)
        if value:
            svg.node(node, "desc", class_=key).text = to_unicode(value)

    return node