Changeset 2539:7205ad5bb69d in livinglogic.python.xist

Show
Ignore:
Timestamp:
06/01/06 13:34:44 (14 years ago)
Author:
Walter Doerwald <walter@…>
Branch:
default
Message:

Move indent from xml2py to the module, so it can be overwritten in
derived modules.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/ll/xist/ns/venom.py

    r2538 r2539  
    208208 
    209209 
     210# Used for indenting Python source code 
     211indent = "\t" 
     212 
     213 
    210214@classmethod 
    211215def xml2py(cls, source): 
    212216    stack = [] 
    213     indent = "\t" 
    214217    lines = [ 
    215218        "# generated by %s %s on %s UTC" % (__file__, __version__, datetime.datetime.utcnow()), 
     
    229232        if t is unicode: 
    230233            if any(issubclass(item[0], def_) for item in stack): 
    231                 lines.append("%syield %r" % (len(stack)*indent, s)) 
     234                lines.append("%syield %r" % (len(stack)*cls.indent, s)) 
    232235            # ignore output outside of functions 
    233236        elif issubclass(t, expr): 
    234237            if any(issubclass(item[0], def_) for item in stack): 
    235                 lines.append("%syield %s" % (len(stack)*indent, s)) 
     238                lines.append("%syield %s" % (len(stack)*cls.indent, s)) 
    236239            # ignore output outside of functions 
    237240        elif issubclass(t, textexpr): 
    238241            if any(issubclass(item[0], def_) for item in stack): 
    239                 lines.append("%syield __venom_escapetext__(%s)" % (len(stack)*indent, s)) 
     242                lines.append("%syield __venom_escapetext__(%s)" % (len(stack)*cls.indent, s)) 
    240243            # ignore output outside of functions 
    241244        elif issubclass(t, attrexpr): 
    242245            if any(issubclass(item[0], def_) for item in stack): 
    243                 lines.append("%syield __venom_escapeattr__(%s)" % (len(stack)*indent, s)) 
     246                lines.append("%syield __venom_escapeattr__(%s)" % (len(stack)*cls.indent, s)) 
    244247            # ignore output outside of functions 
    245248        elif issubclass(t, code): 
    246             lines.append("%s%s" % (len(stack)*indent, s)) 
     249            lines.append("%s%s" % (len(stack)*cls.indent, s)) 
    247250        elif issubclass(t, def_): 
    248             lines.append("%sdef %s:" % (len(stack)*indent, s)) 
     251            lines.append("%sdef %s:" % (len(stack)*cls.indent, s)) 
    249252            stack.append((t, s)) 
    250253        elif issubclass(t, enddef): 
    251254            endscope(def_) 
    252255        elif issubclass(t, class_): 
    253             lines.append("%sclass %s:" % (len(stack)*indent, s)) 
     256            lines.append("%sclass %s:" % (len(stack)*cls.indent, s)) 
    254257            stack.append((t, s)) 
    255258        elif issubclass(t, endclass): 
    256259            endscope(class_) 
    257260        elif issubclass(t, for_): 
    258             lines.append("%sfor %s:" % (len(stack)*indent, s)) 
     261            lines.append("%sfor %s:" % (len(stack)*cls.indent, s)) 
    259262            stack.append((t, s)) 
    260263        elif issubclass(t, endfor): 
    261264            endscope(for_) 
    262265        elif issubclass(t, if_): 
    263             lines.append("%sif %s:" % (len(stack)*indent, s)) 
     266            lines.append("%sif %s:" % (len(stack)*cls.indent, s)) 
    264267            stack.append((t, s)) 
    265268        elif issubclass(t, else_): 
    266             lines.append("%selse:" % ((len(stack)-1)*indent)) 
     269            lines.append("%selse:" % ((len(stack)-1)*cls.indent)) 
    267270        elif issubclass(t, elif_): 
    268             lines.append("%selif %s:" % ((len(stack)-1)*indent, s)) 
     271            lines.append("%selif %s:" % ((len(stack)-1)*cls.indent, s)) 
    269272        elif issubclass(t, endif): 
    270273            endscope(if_)