From 388aefda9939aa1bb509bc33a1028a49203af784 Mon Sep 17 00:00:00 2001 From: jtm Date: Mon, 5 Mar 2012 19:01:15 +0000 Subject: [PATCH] checkpoint --- lesscpy/plib/mixin.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lesscpy/plib/mixin.py b/lesscpy/plib/mixin.py index 67ed23f..9331551 100644 --- a/lesscpy/plib/mixin.py +++ b/lesscpy/plib/mixin.py @@ -5,6 +5,7 @@ import copy from .node import Node from .block import Block from .variable import Variable +from lesscpy.lessc import utility class Mixin(Node): def parse(self, scope): @@ -27,15 +28,14 @@ class Mixin(Node): l = len(args) for i in range(len(parsed)): if i < l and args[i]: - if type(parsed[i]) is Variable: + if utility.is_variable(args[i]): + pass + elif type(parsed[i]) is Variable: parsed[i].value = args[i] else: parsed[i] = Variable([parsed[i], None, args[i]]).parse(None) - if any(v for v in parsed - if type(v) is not Variable): - raise SyntaxError('Missing argument to mixin') return parsed return [] @@ -47,6 +47,7 @@ class Mixin(Node): scope = copy.deepcopy(scope) body = copy.deepcopy(self.body) for v in self.parse_args(args): - scope.add_variable(v) + if type(v) is Variable: + scope.add_variable(v) scope.update([self.scope], -1) return body.parse(scope).copy(scope)