cape.tnakit.rstutils: Tools for writing ReST files¶
This module contains tools to write text formatted for reStructuredText
(reST). This includes various markup options and tools for creating the
directives to include images. Of particular interest are the functions
rst_image_table_lines() and rst_image_table(), which
simplifies the important task of creating a table that includes several
images.
- cape.tnakit.rstutils.py2rst(v, **kw)¶
Convert a generic Python object to reST text
- Call:
>>> txt = py2rst(v, **kw)
- Inputs:
- v:
object Generic Python value
- repr_types: {
None} |type|tuple Type or tuple of types for which to use
repr()- str_types: {
None} |type|tuple Type or tuple of types for which to use
str()- strict: {
True} |False Whether or not to raise exception for other types
- v:
- Outputs:
- txt:
str Marked up reST text
- txt:
- Versions:
2019-04-25
@ddalle: Version 1.0
- cape.tnakit.rstutils.py2rst_any_repr(v, markup=True)¶
Convert a Python to reST text using
repr()- Call:
>>> txt = py2rst_any_repr(v, markup=True)
- Inputs:
- v: any
Quantity to convert using
repr()- markup: {
True} |False Whether or not to add backticks around converted text
- Outputs:
- txt:
str Text representation for reST
- txt:
- Versions:
2019-04-25
@ddalle: Version 1.0
- cape.tnakit.rstutils.py2rst_any_str(v, markup=True)¶
Convert a Python to reST text using
str()- Call:
>>> txt = py2rst_any_str(v, markup=True)
- Inputs:
- v: any
Quantity to convert using
repr()- markup: {
True} |False Whether or not to add backticks around converted text
- Outputs:
- txt:
str Text representation for reST
- txt:
- Versions:
2019-04-25
@ddalle: Version 1.0
- cape.tnakit.rstutils.py2rst_bool(q, markup=True)¶
Convert a Python
boolto reST text- Call:
>>> txt = py2rst_bool(q, markup=True)
- Inputs:
- q:
True|False|bool Boolean or subclass quantity to represent
- markup: {
True} |False Whether or not to add backticks around converted text
- q:
- Outputs:
- txt:
str Text representation for reST
- txt:
- Versions:
2019-04-24
@ddalle: Version 1.0
- cape.tnakit.rstutils.py2rst_dict(v, **kw)¶
Convert a
dictto reST text- Call:
>>> txt = py2rst_dict(v, **kw)
- Inputs:
- v:
dict Python dictionary to convert to reST text
- alignfields:
True| {False} Option to align right-hand side if text fits on one row
- sort:
True| {False} Whether or not to sort dictionary keys
- sortkey: {
None} |function Function to use for sorting if sort is
True- sortreverse:
True| {False} Option to reverse the sort if sort is
True- markup:
True| {False} Default value for option to add backticks
- indent: {
0} |int≥ 0 Number of spaces of indentation
- hang: {indent} |
int≥ 0 Number of spaces of indent for continuation lines
- tab: {
4} |int≥ 0 Number of spaces to add to deeper indentation levels
- maxcols: {
79} |int> 0 Maximum number of columns in a line
- markuplength: {
50} |int≥ 0 Cutoff length for default marked strings
- fmt:
True|False Format string for
intandfloatentries- markups:
dict[bool] Specific markup for types
"int","float","None","str","__repr__", and"__str__"- fmts:
dict[str] Specific fmt for types
"int"and/or"float"
- v:
- Versions:
2019-04-25
@ddalle: Version 1.0
- cape.tnakit.rstutils.py2rst_float(x, markup=False, fmt='%s')¶
Convert a Python
floatto reST text- Call:
>>> txt = py2rst_float(x, markup=False, fmt="%s")
- Inputs:
- x:
float Floating-point number to represent
- markup:
True| {False} Whether or not to add backticks around converted text
- fmt: {
"%s"} |str Format string to convert i (printf style)
- x:
- Outputs:
- txt:
str Text representation for reST
- txt:
- Versions:
2019-04-24
@ddalle: Version 1.0
- cape.tnakit.rstutils.py2rst_int(i, markup=False, fmt='%s')¶
Convert a Python
intto reST text- Call:
>>> txt = py2rst_int(i, markup=False, fmt="%s")
- Inputs:
- i:
int Integer to represent
- markup:
True| {False} Whether or not to add backticks around converted text
- fmt: {
"%s"} |str Format string to convert i (printf style)
- i:
- Outputs:
- txt:
str Text representation for reST
- txt:
- Versions:
2019-04-24
@ddalle: Version 1.0
- cape.tnakit.rstutils.py2rst_list(V, **kw)¶
Convert a list to reST text
- Call:
>>> txt = py2rst_list(V, **kw)
- Inputs:
- V:
list|tuple List of Python quantitites to convert
- markup:
True| {False} Default value for option to add backticks
- indent: {
0} |int≥ 0 Number of spaces of indentation
- hang: {indent} |
int≥ 0 Number of spaces of indent for continuation lines
- maxcols: {
79} |int> 0 Maximum number of columns in a line
- markuplength: {
50} |int≥ 0 Cutoff length for default marked strings
- fmt:
True|False Format string for
intandfloatentries- markups:
dict[bool] Specific markup for types
"int","float","None","str","__repr__", and"__str__"- fmts:
dict[str] Specific fmt for types
"int"and/or"float"- strlist:
True| {False} Option to always use list for lists of strings
- V:
- Versions:
2019-04-25
@ddalle: Versopm 1.02021-03-24
@ddalle: Version 1.1; strlist option
- cape.tnakit.rstutils.py2rst_mod(mod, markup=True)¶
Convert a Python module to reST text
- Call:
>>> txt = py2rst_mod(mod, markup=True)
- Inputs:
- mod:
module A Python module
- markup: {
True} |False Option to use reST
:mod:role
- mod:
- Outputs:
- txt:
str Text representation for reST
- txt:
- Versions:
2019-12-27
@ddalle: Version 1.0
- cape.tnakit.rstutils.py2rst_none(markup=True)¶
Convert Python
Noneto reST text- Call:
>>> txt = py2rst_none(markup=True)
- Inputs:
- markup: {
True} |False Whether or not to add backticks around converted text
- markup: {
- Outputs:
- txt:
str Text representation for reST
- txt:
- Versions:
2019-04-24
@ddalle: Version 1.0
- cape.tnakit.rstutils.py2rst_str(s, **kw)¶
Convert a Python
strto reST text- Call:
>>> txt = py2rst_str(s, **kw)
- Inputs:
- s:
str String to convert
- indent: {
0} |int≥ 0 Number of spaces of indentation
- hang: {indent} |
int≥ 0 Number of spaces of indent for continuation lines
- maxcols: {
79} |int> 0 Maximum number of columns in a line
- markuplength: {
50} |int≥ 0 Cutoff length for default marked strings
- s:
- Outputs:
- txt:
str Marked up reST text
- txt:
- Versions:
2019-04-25
@ddalle: Version 1.0
- cape.tnakit.rstutils.rst_directive_option(k, v)¶
Convert an option name and value to an reST directive option
- Call:
>>> txt = rst_directive_option(k, v)
- Inputs:
- k:
str Name of the option
- v:
any Value for the option
- k:
- Outputs:
- txt:
str|unicode reST version of the option declaration
- txt:
- Cases:
v
txt
None""True":%s:" % kElse
":%s: %s" % (k, v)- Versions:
2019-02-24
@ddalle: Version 1.0
- cape.tnakit.rstutils.rst_figure(ffig, caption, **kw)¶
Write the reST command to include an image
- Call:
>>> txt = rst_figure(ffig, caption, **kw)
- Inputs:
- ffig:
str Name of image to include (often like
"myimage.*")- caption:
str|unicode Caption to use to describe figure
- tab: {
" "} |int Indent character for a tab (default is 4 spaces)
- indent: {tab} |
str Indentation to place before each line
- width: {
None} |str Image width option value
- maxcol, maxcols, cwidth: {
79} |int> 0 Column number at which to wrap caption
- ffig:
- See Also:
- Outputs:
- txt:
str Text of directive
- txt:
- Versions:
2019-02-24
@ddalle: Version 1.0
- cape.tnakit.rstutils.rst_image(ffig, caption=None, **kw)¶
Write the reST command to include an image
- Call:
>>> txt = rst_image(ffig, caption=None, **kw)
- Inputs:
- ffig:
str Name of image to include (often like
"myimage.*")- caption: {
None} |str Caption to use to describe image
- indent: {
""} |str Indentation to place before each line
- tab: {
" "} |int Indent character for a tab (default is 4 spaces)
- ffig:
- See Also:
- Outputs:
- txt:
str Text of directive
- txt:
- Versions:
2019-02-24
@ddalle: Version 1.0
- cape.tnakit.rstutils.rst_image_lines(ffig, directive='image', **kw)¶
Write the reST command to include a figure
- Call:
>>> lines = rst_image_lines(ffig, directive="image", **kw)
- Inputs:
- ffig:
str Name of image to include (often like
"myimage.*")- directive: {
"image"} |"figure" Which image-inclusion command to use
- tab: {
" "} |int Indent character for a tab (default is 4 spaces)
- sub, tag: {
None} |str Abbreviated name to use for a substitution instruction
- width: {
None} |str Image width option value
- name: {
None} |str Reference “name” to be used by later
:ref:calls- target: {
None} |str URI for clickable image
- alt: {
None} |str Alternate text if image cannot be displayed
- figwidth: {
None} |str Width for figure, which contains an image (
"figure"only)- maxcol, maxcols, cwidth: {
79} |int> 0 Column number at which to wrap
- ffig:
- Outputs:
- lines:
list(str) List of lines of text
- lines:
- Versions:
2019-02-22
@ddalle: Version 1.0
- cape.tnakit.rstutils.rst_image_table(imgtable, caption=None, directive='table', **kw)¶
Process lines used to create a reST table of images
- Call:
>>> txt = rst_image_table(imgtable, **kw)
- Inputs:
- imgtable:
list(list) List of rows; each row is a list of cell contents
- cell11:
tuple|str - colwidth, cellwidth: {
72/ncol} |int> 0 Minimum column width
- cell_options: {
{}} |dict Default cell options, passed to
rst_image_table_lines()
- imgtable:
- Outputs:
- lines:
list(str) List of lines describing the table itself, without indentation
- subs:
str Substitution definition text to insert after the table
- lines:
- Versions:
2019-02-26
@ddalle: Version 1.0
- cape.tnakit.rstutils.rst_image_table_lines(imgtable, **kw)¶
Process lines used to create a reST table of images
- Call:
>>> lines, subs = rst_image_table_lines(imgtable, **kw)
- Inputs:
- imgtable:
list(list) List of rows; each row is a list of cell contents
- cell11:
tuple|str - colwidth, cellwidth: {
72/ncol} |int> 0 Minimum column width
- imgtable:
- Outputs:
- lines:
list(str) List of lines describing the table itself, without indentation
- subs:
str Substitution definition text to insert after the table
- lines:
- Versions:
2019-02-26
@ddalle: Version 1.0
- cape.tnakit.rstutils.rst_param_list(keys, types, descrs, alts={}, **kw)¶
Write a docstring for a list of parameters
- Call:
>>> txt = rst_param_list(keys, types, descrs, alts={}, **kw)
- Inputs:
- keys:
list[str] List of parameters to describe
- types:
dict[str] Docstring of types for each key in keys
- descrs:
dict[str] Docstring of descriptions for each key in keys
- alts: {
{}} |dict[str] Dictionary of optional names for certain keys
- indent: {
4} |int> 0 Indent spaces for each line
- tab: {
4} |int> 0 Additional spaces for further indentation
- width: {
72} |int Maximum width for line of text (including spaces)
- strict: {
True} |False If
False, skip keys with missing type or description
- keys:
- Outputs:
- txt:
str Text in CAPE docstring format describing keys
- txt:
- Versions:
2019-12-19
@ddalle: Version 1.0
- cape.tnakit.rstutils.rst_title(title, char='-', margin=2, before=False)¶
Create an ReST title from string
This adds characters before (optionally) and after the title, creating valid syntax for ReStructuredText titles. Examples of valid titles with the input string
"Sample Title"are shown below:Sample Title -------------- ============== Sample Title ============== ************ Sample Title ************
- Call:
>>> txt = rst_title(title, char="-", margin=2, before=False)
- Inputs:
- title:
str|unicode Input string, must be one line
- char: {
"-"} |"="|"*"|"^" Valid reST title adornment character (there are more than 4)
- margin: {
2} |int>= 0 Extra characters to place after end of character
- before:
True| {False} Whether or not to use and adornment line before title
- title:
- Outputs:
- txt:
str|unicode String with title, adornment line(s), and 2 or 3 newline chars
- txt:
- Versions:
2019-02-22
@ddalle: Version 1.0
- cape.tnakit.rstutils.unpack_image_cell(cell)¶
Unpack contents of an image table cell
- Call:
>>> ffig, cap, kwj = unpack_image_cell(cell) >>> ffig, cap, kwj = unpack_image_cell(ffig) >>> ffig, cap, kwj = unpack_image_cell((ffig,)) >>> ffig, cap, kwj = unpack_image_cell((ffig, cap)) >>> ffig, cap, kwj = unpack_image_cell((ffig, kwj)) >>> ffig, cap, kwj = unpack_image_cell((ffig, cap, kwj))
- Inputs:
- cell:
tuple|list|str Tuple of figure name, caption, and options or just figure name
- ffig:
str Name of figure to include
- cap:
str Caption to use with cell contents
- kwj:
dict Dictionary of specific options for this cell
- cell:
- Outputs:
- ffig:
str Name of figure to include
- cap: {
None} |str Caption to use with cell contents
- kwj: {
{}} |dict Dictionary of specific options for this cell
- ffig:
- Versions:
2019-02-25
@ddalle: Version 1.0