1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
The cog module
==============
A synthetic module called ``cog`` provides functions you can call to produce
output into your file. You don't need to use these functions: with the ``-P``
command-line option, your program's stdout writes to the output file, so
`print()` will be enough.
The module contents are:
**cog.out** `(sOut='' [, dedent=False][, trimblanklines=False])`
Writes text to the output. `sOut` is the string to write to the output.
If `dedent` is True, then common initial white space is removed from the
lines in `sOut` before adding them to the output. If `trimblanklines` is
True, then an initial and trailing blank line are removed from `sOut`
before adding them to the output. Together, these option arguments make it
easier to use multi-line strings, and they only are useful for multi-line
strings::
cog.out("""
These are lines I
want to write into my source file.
""", dedent=True, trimblanklines=True)
**cog.outl**
Same as **cog.out**, but adds a trailing newline.
**cog.msg** `(msg)`
Prints `msg` to stdout with a "Message: " prefix.
**cog.error** `(msg)`
Raises an exception with `msg` as the text. No traceback is included, so
that non-Python programmers using your code generators won't be scared.
**cog.inFile**
An attribute, the path of the input file.
**cog.outFile**
An attribute, the path of the output file.
**cog.firstLineNum**
An attribute, the line number of the first line of Python code in the
generator. This can be used to distinguish between two generators in the
same input file, if needed.
**cog.previous**
An attribute, the text output of the previous run of this generator. This
can be used for whatever purpose you like, including outputting again with
**cog.out**.
|