--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric5.UtilitiesPython2.Tabnanny.html Tue Jan 04 17:37:48 2011 +0100 @@ -0,0 +1,348 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' +'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'> +<html><head> +<title>eric5.UtilitiesPython2.Tabnanny</title> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric5.UtilitiesPython2.Tabnanny</h1> +<p> +The Tab Nanny despises ambiguous indentation. She knows no mercy. +</p><p> +tabnanny -- Detection of ambiguous indentation +</p><p> +For the time being this module is intended to be called as a script. +However it is possible to import it into an IDE and use the function +check() described below. +</p><p> +Warning: The API provided by this module is likely to change in future +releases; such changes may not be backward compatible. +</p><p> +This is a modified version to make the original tabnanny better suitable +for being called from within the eric5 IDE. +</p><dl> +<dt>Raises <b>ValueError</b>:</dt> +<dd> +The tokenize module is too old. +</dd> +</dl> +<h3>Global Attributes</h3> +<table> +<tr><td>__all__</td></tr><tr><td>__version__</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#NannyNag">NannyNag</a></td> +<td>Raised by tokeneater() if detecting an ambiguous indent.</td> +</tr><tr> +<td><a href="#Whitespace">Whitespace</a></td> +<td>Class implementing the whitespace checker.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr> +<td><a href="#check">check</a></td> +<td>Private function to check one Python source file for whitespace related problems.</td> +</tr><tr> +<td><a href="#format_witnesses">format_witnesses</a></td> +<td>Function to format the witnesses as a readable string.</td> +</tr><tr> +<td><a href="#process_tokens">process_tokens</a></td> +<td>Function processing all tokens generated by a tokenizer run.</td> +</tr> +</table> +<hr /><hr /> +<a NAME="NannyNag" ID="NannyNag"></a> +<h2>NannyNag</h2> +<p> + Raised by tokeneater() if detecting an ambiguous indent. + Captured and handled in check(). +</p> +<h3>Derived from</h3> +Exception +<h3>Class Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#NannyNag.__init__">NannyNag</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#NannyNag.get_line">get_line</a></td> +<td>Method to retrieve the offending line.</td> +</tr><tr> +<td><a href="#NannyNag.get_lineno">get_lineno</a></td> +<td>Method to retrieve the line number.</td> +</tr><tr> +<td><a href="#NannyNag.get_msg">get_msg</a></td> +<td>Method to retrieve the message.</td> +</tr> +</table> +<a NAME="NannyNag.__init__" ID="NannyNag.__init__"></a> +<h4>NannyNag (Constructor)</h4> +<b>NannyNag</b>(<i>lineno, msg, line</i>) +<p> + Constructor +</p><dl> +<dt><i>lineno</i></dt> +<dd> +Line number of the ambiguous indent. +</dd><dt><i>msg</i></dt> +<dd> +Descriptive message assigned to this problem. +</dd><dt><i>line</i></dt> +<dd> +The offending source line. +</dd> +</dl><a NAME="NannyNag.get_line" ID="NannyNag.get_line"></a> +<h4>NannyNag.get_line</h4> +<b>get_line</b>(<i></i>) +<p> + Method to retrieve the offending line. +</p><dl> +<dt>Returns:</dt> +<dd> +The line of code (string) +</dd> +</dl><a NAME="NannyNag.get_lineno" ID="NannyNag.get_lineno"></a> +<h4>NannyNag.get_lineno</h4> +<b>get_lineno</b>(<i></i>) +<p> + Method to retrieve the line number. +</p><dl> +<dt>Returns:</dt> +<dd> +The line number (integer) +</dd> +</dl><a NAME="NannyNag.get_msg" ID="NannyNag.get_msg"></a> +<h4>NannyNag.get_msg</h4> +<b>get_msg</b>(<i></i>) +<p> + Method to retrieve the message. +</p><dl> +<dt>Returns:</dt> +<dd> +The error message (string) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="Whitespace" ID="Whitespace"></a> +<h2>Whitespace</h2> +<p> + Class implementing the whitespace checker. +</p> +<h3>Derived from</h3> +object +<h3>Class Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#Whitespace.__init__">Whitespace</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#Whitespace.equal">equal</a></td> +<td>Method to compare the indentation levels of two Whitespace objects for equality.</td> +</tr><tr> +<td><a href="#Whitespace.indent_level">indent_level</a></td> +<td>Method to determine the indentation level.</td> +</tr><tr> +<td><a href="#Whitespace.less">less</a></td> +<td>Method to compare the indentation level against another Whitespace objects to be smaller.</td> +</tr><tr> +<td><a href="#Whitespace.longest_run_of_spaces">longest_run_of_spaces</a></td> +<td>Method to calculate the length of longest contiguous run of spaces.</td> +</tr><tr> +<td><a href="#Whitespace.not_equal_witness">not_equal_witness</a></td> +<td>Method to calculate a tuple of witnessing tab size.</td> +</tr><tr> +<td><a href="#Whitespace.not_less_witness">not_less_witness</a></td> +<td>Method to calculate a tuple of witnessing tab size.</td> +</tr> +</table> +<a NAME="Whitespace.__init__" ID="Whitespace.__init__"></a> +<h4>Whitespace (Constructor)</h4> +<b>Whitespace</b>(<i>ws</i>) +<p> + Constructor +</p><dl> +<dt><i>ws</i></dt> +<dd> +The string to be checked. +</dd> +</dl><a NAME="Whitespace.equal" ID="Whitespace.equal"></a> +<h4>Whitespace.equal</h4> +<b>equal</b>(<i>other</i>) +<p> + Method to compare the indentation levels of two Whitespace objects for equality. +</p><dl> +<dt><i>other</i></dt> +<dd> +Whitespace object to compare against. +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +True, if we compare equal against the other Whitespace object. +</dd> +</dl><a NAME="Whitespace.indent_level" ID="Whitespace.indent_level"></a> +<h4>Whitespace.indent_level</h4> +<b>indent_level</b>(<i>tabsize</i>) +<p> + Method to determine the indentation level. +</p><dl> +<dt><i>tabsize</i></dt> +<dd> +The length of a tab stop. (integer) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +indentation level (integer) +</dd> +</dl><a NAME="Whitespace.less" ID="Whitespace.less"></a> +<h4>Whitespace.less</h4> +<b>less</b>(<i>other</i>) +<p> + Method to compare the indentation level against another Whitespace objects to + be smaller. +</p><dl> +<dt><i>other</i></dt> +<dd> +Whitespace object to compare against. +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +True, if we compare less against the other Whitespace object. +</dd> +</dl><a NAME="Whitespace.longest_run_of_spaces" ID="Whitespace.longest_run_of_spaces"></a> +<h4>Whitespace.longest_run_of_spaces</h4> +<b>longest_run_of_spaces</b>(<i></i>) +<p> + Method to calculate the length of longest contiguous run of spaces. +</p><dl> +<dt>Returns:</dt> +<dd> +The length of longest contiguous run of spaces (whether or not + preceding a tab) +</dd> +</dl><a NAME="Whitespace.not_equal_witness" ID="Whitespace.not_equal_witness"></a> +<h4>Whitespace.not_equal_witness</h4> +<b>not_equal_witness</b>(<i>other</i>) +<p> + Method to calculate a tuple of witnessing tab size. +</p><p> + Intended to be used after not self.equal(other) is known, in which + case it will return at least one witnessing tab size. +</p><dl> +<dt><i>other</i></dt> +<dd> +Whitespace object to calculate against. +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +A list of tuples (ts, i1, i2) such that + i1 == self.indent_level(ts) != other.indent_level(ts) == i2. +</dd> +</dl><a NAME="Whitespace.not_less_witness" ID="Whitespace.not_less_witness"></a> +<h4>Whitespace.not_less_witness</h4> +<b>not_less_witness</b>(<i>other</i>) +<p> + Method to calculate a tuple of witnessing tab size. +</p><p> + Intended to be used after not self.less(other is known, in which + case it will return at least one witnessing tab size. +</p><dl> +<dt><i>other</i></dt> +<dd> +Whitespace object to calculate against. +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +A list of tuples (ts, i1, i2) such that + i1 == self.indent_level(ts) >= other.indent_level(ts) == i2. +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="check" ID="check"></a> +<h2>check</h2> +<b>check</b>(<i>filename, codestring</i>) +<p> + Private function to check one Python source file for whitespace related problems. +</p><dl> +<dt><i>filename</i></dt> +<dd> +source filename (string) +</dd><dt><i>codestring</i></dt> +<dd> +source code (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +A tuple indicating status (True = an error was found), the + filename, the linenumber and the error message + (boolean, string, string, string). The values are only + valid, if the status is True. +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="format_witnesses" ID="format_witnesses"></a> +<h2>format_witnesses</h2> +<b>format_witnesses</b>(<i>w</i>) +<p> + Function to format the witnesses as a readable string. +</p><dl> +<dt><i>w</i></dt> +<dd> +A list of witnesses +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +A formated string of the witnesses. +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="process_tokens" ID="process_tokens"></a> +<h2>process_tokens</h2> +<b>process_tokens</b>(<i>tokens</i>) +<p> + Function processing all tokens generated by a tokenizer run. +</p><dl> +<dt><i>tokens</i></dt> +<dd> +list of tokens +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file