checkpoint

This commit is contained in:
jtm
2012-02-25 22:03:08 +00:00
parent 46da3b836a
commit a2c53f47d1
2 changed files with 22 additions and 13 deletions

View File

@@ -1,5 +1,6 @@
"""
"""
import copy
from .node import Node
from lesscpy.lessc import utility
class Block(Node):
@@ -8,13 +9,14 @@ class Block(Node):
def parse(self, scope):
"""
"""
scope = copy.deepcopy(scope)
ident, inner = self.tokens
self.name = ident.parse(scope)
if not inner: inner = []
self.parsed = [p.parse(scope)
for p in inner
if p and type(p) is not type(self)]
scope.current = (self.name, ' ')
scope.current = self.name
self.inner = [p.parse(scope)
for p in inner
if p and type(p) is type(self)]
@@ -23,10 +25,14 @@ class Block(Node):
def format(self, fills):
"""
"""
f = "%(identifier)s%(ws)s{%(nl)s%(proplist)s}%(nl)s%(endblock)s"
fills.update({
'identifier': self.name,
'proplist': ''.join([p.format(fills) for p in self.parsed]),
'endblock': ''.join([p.format(fills) for p in self.inner]),
})
return f % fills
out = []
if self.parsed:
f = "%(identifier)s%(ws)s{%(nl)s%(proplist)s}%(nl)s"
fills.update({
'identifier': self.name.strip(),
'proplist': ''.join([p.format(fills) for p in self.parsed]),
})
out.append(f % fills)
if self.inner:
out.append(''.join([p.format(fills) for p in self.inner]))
return ''.join(out)

View File

@@ -6,9 +6,12 @@ class Identifier(Node):
def parse(self, scope):
"""
"""
scopename = []
if scope:
scopename = [name for name in scope.scopename]
scopename.extend(self.tokens)
else:
scopename = self.tokens
return ''.join(utility.flatten(scopename)).strip()
scopename.extend(scope.scopename)
scopename = ''.join(scopename)
name = ''.join(utility.flatten(self.tokens))
if name.startswith('&'):
scopename = scopename.strip()
name = name[1:]
return scopename + name