Ejemplo n.º 1
0
    if node.__dict__:
        keys = node.__dict__.keys()
    elif hasattr(node, '__slots__'):
        keys = node.__slots__
    elif hasattr(node.__class__, '__slots__'):
        # print 'parent'
        keys = node.__class__.__slots__
    for key in keys:
        v = getattr(node, key, None)
        if type(v) in (tuple, list):
            v = type(v)(t.translate(a) for a in v)
        else:
            v = t.translate(v)
        setattr(obj, key, v)
    return obj

t.translates(ast.Length)(straight)
t.translates(ast.Percentage)(straight)
t.translates(ast.Rgb)(straight)
t.translates(ast.Rgba)(straight)

@t.translates(ast.Uri)
def uri(node):
    return t.translate(node.uri)

@t.translates(ast.UriContents)
def uri_contents(node):
    return ''.join(a.value for a in node.items).strip()

# vim: et sw=4 sts=4
Ejemplo n.º 2
0
    elif hasattr(node, '__slots__'):
        keys = node.__slots__
    elif hasattr(node.__class__, '__slots__'):
        # print 'parent'
        keys = node.__class__.__slots__
    for key in keys:
        v = getattr(node, key, None)
        if type(v) in (tuple, list):
            v = type(v)(t.translate(a) for a in v)
        else:
            v = t.translate(v)
        setattr(obj, key, v)
    return obj


t.translates(ast.Length)(straight)
t.translates(ast.Percentage)(straight)
t.translates(ast.Rgb)(straight)
t.translates(ast.Rgba)(straight)


@t.translates(ast.Uri)
def uri(node):
    return t.translate(node.uri)


@t.translates(ast.UriContents)
def uri_contents(node):
    return ''.join(a.value for a in node.items).strip()