Cheetah.Utils.Indenter module¶
Indentation maker. @@TR: this code is unsupported and largely undocumented …
This version is based directly on code by Robert Kuzelj <robert_kuzelj@yahoo.com> and uses his directive syntax. Some classes and attributes have been renamed. Indentation is output via $self._CHEETAH__indenter.indent() to prevent ‘_indenter’ being looked up on the searchList and another one being found. The directive syntax will soon be changed somewhat.
- class Cheetah.Utils.Indenter.IndentProcessor¶
Bases:
object
Preprocess #indent tags.
- ARGS = 'args'¶
- CHAR = 'char'¶
- DEC = '--'¶
- DIRECTIVE = re.compile('[ \\t]*#')¶
- INC = '++'¶
- INDENT_DIR = re.compile('[ \\t]*#indent[ \\t]*(?P<args>.*)')¶
- LINE_SEP = '\n'¶
- OFF = 'off'¶
- ON = 'on'¶
- POP = 'pop'¶
- PUSH = 'push'¶
- SET = '='¶
- WHITESPACES = re.compile('(?P<ws>[ \\t]*)')¶
- WS = 'ws'¶
- process(_txt)¶
- class Cheetah.Utils.Indenter.Indenter¶
Bases:
object
A class that keeps track of the current indentation level. .indent() returns the appropriate amount of indentation.
- Chars = ' '¶
- Level = 0¶
- LevelStack = []¶
- On = 1¶
- dec()¶
decrement can only be applied to values greater zero values below zero don’t make any sense at all!
- inc()¶
- indent(_default=0)¶
- off()¶
- on()¶
- pop()¶
the levestack can not become -1. any attempt to do so sets the level to 0!
- push()¶
- setChar(_chars)¶
- setLevel(_level)¶
the leve can’t be less than zero. any attempt to do so sets the level automatically to zero!
- Cheetah.Utils.Indenter.indentize(source)¶