Package epydoc :: Package markup :: Module epytext :: Class Token |
[hide private]
[frames] | no frames]

# Class Token

source code

`Token`s are an intermediate data structure used while constructing the structuring DOM tree for a formatted docstring. There are five types of `Token`:

- Paragraphs
- Literal blocks
- Doctest blocks
- Headings
- Bullets

The text contained in each `Token` is stored in the `contents` variable. The string in this variable has been normalized. For paragraphs, this means that it has been converted into a single line of text, with newline/indentation replaced by single spaces. For literal blocks and doctest blocks, this means that the appropriate amount of leading whitespace has been removed from each line.

Each `Token` has an indentation level associated with it, stored in the `indent` variable. This indentation level is used by the structuring procedure to assemble hierarchical blocks.

Instance Methods | [hide private]
__init__(self, tag, startline, contents, indent, level=None, inline=False) Create a new `Token`. | source code call graph
Call Graph
`string` |
__repr__(self) Returns: the formal representation of this `Token`. | source code
Element |
to_dom(self, doc) Returns: a DOM representation of this `Token`. | source code call graph
Call Graph

Class Variables | [hide private]
`string` | PARA = ``'``para``'`` The `tag` value for paragraph `Token`s.
`string` | LBLOCK = ``'``literalblock``'`` The `tag` value for literal `Token`s.
`string` | DTBLOCK = ``'``doctestblock``'`` The `tag` value for doctest `Token`s.
`string` | HEADING = ``'``heading``'`` The `tag` value for heading `Token`s.
`string` | BULLET = ``'``bullet``'`` The `tag` value for bullet `Token`s.

Instance Variables | [hide private]
`string` | contents The normalized text contained in this `Token`.
`int` or `None` | indent The indentation level of this `Token` (in number of leading spaces).
`bool` | inline If True, the element is an inline level element, comparable to an HTML `<span>` tag.
`int` or `None` | level The heading-level of this `Token` if it is a heading; `None`, otherwise.
`int` | startline The line on which this `Token` begins.
`string` | tag This `Token`'s type.

Method Details | [hide private]

### __init__(self, tag, startline, contents, indent, level=None, inline=False) (Constructor) | source code call graph
Call Graph
Create a new `Token`. Parameters: `tag` (`string`) - The type of the new `Token`. `startline` (`int`) - The line on which the new `Token` begins. `contents` (`string`) - The normalized contents of the new `Token`. `indent` (`int` or `None`) - The indentation of the new `Token` (in number of leading spaces). A value of `None` indicates an unknown indentation. `level` (`int` or `None`) - The heading-level of this `Token` if it is a heading; `None`, otherwise. `inline` (`bool`) - Is this `Token` inline as a `<span>`?.

### __repr__(self) (Representation operator) | source code
  Returns: `string` the formal representation of this `Token`. `Token`s have formal representaitons of the form:
         <Token: para at line 12>

### to_dom(self, doc) | source code call graph
Call Graph
Returns: Element a DOM representation of this `Token`.

Class Variable Details | [hide private]

  ### BULLET The `tag` value for bullet `Token`s. This `tag` value is also used for field tag `Token`s, since fields function syntactically the same as list items. Type: `string` Value:
      'bullet'

Instance Variable Details | [hide private]

### indent The indentation level of this `Token` (in number of leading spaces). A value of `None` indicates an unknown indentation; this is used for list items and fields that begin with one-line paragraphs. Type: `int` or `None`

### inline If True, the element is an inline level element, comparable to an HTML `<span>` tag. Else, it is a block level element, comparable to an HTML `<div>`. Type: `bool`

### level The heading-level of this `Token` if it is a heading; `None`, otherwise. Valid heading levels are 0, 1, and 2. Type: `int` or `None`

### startline The line on which this `Token` begins. This line number is only used for issuing errors. Type: `int`

### tag This `Token`'s type. Possible values are `Token.PARA` (paragraph), `Token.LBLOCK` (literal block), `Token.DTBLOCK` (doctest block), `Token.HEADINGC`, and `Token.BULLETC`. Type: `string`