Sat, 31 Aug 2013 17:57:30 +0200
Added a button to the PEP-8 dialog to reset the default values.
<!DOCTYPE html> <html><head> <title>eric5.Plugins.CheckerPlugins.Pep8.Pep8Fixer</title> <meta charset="UTF-8"> <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.Plugins.CheckerPlugins.Pep8.Pep8Fixer</h1> <p> Module implementing a class to fix certain PEP 8 issues. </p> <h3>Global Attributes</h3> <table> <tr><td>Pep8FixableIssues</td></tr> </table> <h3>Classes</h3> <table> <tr> <td><a href="#Pep8Fixer">Pep8Fixer</a></td> <td>Class implementing a fixer for certain PEP 8 issues.</td> </tr><tr> <td><a href="#Pep8IndentationWrapper">Pep8IndentationWrapper</a></td> <td>Class used by fixers dealing with indentation.</td> </tr><tr> <td><a href="#Pep8Reindenter">Pep8Reindenter</a></td> <td>Class to reindent badly-indented code to uniformly use four-space indentation.</td> </tr> </table> <h3>Functions</h3> <table> <tr><td>None</td></tr> </table> <hr /><hr /> <a NAME="Pep8Fixer" ID="Pep8Fixer"></a> <h2>Pep8Fixer</h2> <p> Class implementing a fixer for certain PEP 8 issues. </p> <h3>Derived from</h3> QObject <h3>Class Attributes</h3> <table> <tr><td>None</td></tr> </table> <h3>Class Methods</h3> <table> <tr><td>None</td></tr> </table> <h3>Methods</h3> <table> <tr> <td><a href="#Pep8Fixer.__init__">Pep8Fixer</a></td> <td>Constructor</td> </tr><tr> <td><a href="#Pep8Fixer.__codeMatch">__codeMatch</a></td> <td>Private method to check, if the code should be fixed.</td> </tr><tr> <td><a href="#Pep8Fixer.__finalize">__finalize</a></td> <td>Private method to apply all deferred fixes.</td> </tr><tr> <td><a href="#Pep8Fixer.__findLogical">__findLogical</a></td> <td>Private method to extract the index of all the starts and ends of lines.</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE101">__fixE101</a></td> <td>Private method to fix obsolete tab usage and indentation errors (E101, E111, W191).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE121">__fixE121</a></td> <td>Private method to fix the indentation of continuation lines and closing brackets (E121,E124).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE122">__fixE122</a></td> <td>Private method to fix a missing indentation of continuation lines (E122).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE123">__fixE123</a></td> <td>Private method to fix the indentation of a closing bracket lines (E123).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE125">__fixE125</a></td> <td>Private method to fix the indentation of continuation lines not distinguishable from next logical line (E125).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE126">__fixE126</a></td> <td>Private method to fix over-indented/under-indented hanging indentation (E126, E133).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE127">__fixE127</a></td> <td>Private method to fix over/under indented lines (E127, E128).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE201">__fixE201</a></td> <td>Private method to fix extraneous whitespace (E201, E202, E203, E211).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE221">__fixE221</a></td> <td>Private method to fix extraneous whitespace around operator or keyword (E221, E222, E223, E224, E225, E226, E227, E228, E241, E242, E271, E272, E273, E274).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE231">__fixE231</a></td> <td>Private method to fix missing whitespace after ',;:'.</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE251">__fixE251</a></td> <td>Private method to fix extraneous whitespace around keyword and default parameter equals (E251).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE261">__fixE261</a></td> <td>Private method to fix whitespace before or after inline comment (E261, E262).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE301">__fixE301</a></td> <td>Private method to fix the need for one blank line (E301).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE302">__fixE302</a></td> <td>Private method to fix the need for two blank lines (E302).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE303">__fixE303</a></td> <td>Private method to fix superfluous blank lines (E303).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE304">__fixE304</a></td> <td>Private method to fix superfluous blank lines after a function decorator (E304).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE401">__fixE401</a></td> <td>Private method to fix multiple imports on one line (E401).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE502">__fixE502</a></td> <td>Private method to fix redundant backslash within brackets (E502).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE701">__fixE701</a></td> <td>Private method to fix colon-separated compund statements (E701).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE702">__fixE702</a></td> <td>Private method to fix semicolon-separated compound statements (E702, E703).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixE711">__fixE711</a></td> <td>Private method to fix comparison with None (E711, E712).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixReindent">__fixReindent</a></td> <td>Private method to fix a badly indented line.</td> </tr><tr> <td><a href="#Pep8Fixer.__fixW291">__fixW291</a></td> <td>Private method to fix trailing whitespace (W291, W293).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixW292">__fixW292</a></td> <td>Private method to fix a missing newline at the end of file (W292).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixW391">__fixW391</a></td> <td>Private method to fix trailing blank lines (W391).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixW603">__fixW603</a></td> <td>Private method to fix the not equal notation (W603).</td> </tr><tr> <td><a href="#Pep8Fixer.__fixWhitespace">__fixWhitespace</a></td> <td>Private method to correct whitespace at the given offset.</td> </tr><tr> <td><a href="#Pep8Fixer.__getEol">__getEol</a></td> <td>Private method to get the applicable eol string.</td> </tr><tr> <td><a href="#Pep8Fixer.__getIndent">__getIndent</a></td> <td>Private method to get the indentation string.</td> </tr><tr> <td><a href="#Pep8Fixer.__getIndentWord">__getIndentWord</a></td> <td>Private method to determine the indentation type.</td> </tr><tr> <td><a href="#Pep8Fixer.__getLogical">__getLogical</a></td> <td>Private method to get the logical line corresponding to the given position.</td> </tr><tr> <td><a href="#Pep8Fixer.fixIssue">fixIssue</a></td> <td>Public method to fix the fixable issues.</td> </tr><tr> <td><a href="#Pep8Fixer.mutualStartswith">mutualStartswith</a></td> <td>Local helper method to compare the beginnings of two strings against each other.</td> </tr><tr> <td><a href="#Pep8Fixer.saveFile">saveFile</a></td> <td>Public method to save the modified file.</td> </tr> </table> <h3>Static Methods</h3> <table> <tr><td>None</td></tr> </table> <a NAME="Pep8Fixer.__init__" ID="Pep8Fixer.__init__"></a> <h4>Pep8Fixer (Constructor)</h4> <b>Pep8Fixer</b>(<i>project, filename, sourceLines, fixCodes, noFixCodes, maxLineLength, inPlace</i>) <p> Constructor </p><dl> <dt><i>project</i></dt> <dd> reference to the project object (Project) </dd><dt><i>filename</i></dt> <dd> name of the file to be fixed (string) </dd><dt><i>sourceLines</i></dt> <dd> list of source lines including eol marker (list of string) </dd><dt><i>fixCodes</i></dt> <dd> list of codes to be fixed as a comma separated string (string) </dd><dt><i>noFixCodes</i></dt> <dd> list of codes not to be fixed as a comma separated string (string) </dd><dt><i>maxLineLength</i></dt> <dd> maximum allowed line length (integer) </dd><dt><i>inPlace</i></dt> <dd> flag indicating to modify the file in place (boolean) </dd> </dl><a NAME="Pep8Fixer.__codeMatch" ID="Pep8Fixer.__codeMatch"></a> <h4>Pep8Fixer.__codeMatch</h4> <b>__codeMatch</b>(<i>code</i>) <p> Private method to check, if the code should be fixed. </p><dl> <dt><i>code</i></dt> <dd> to check (string) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating it should be fixed (boolean) </dd> </dl><a NAME="Pep8Fixer.__finalize" ID="Pep8Fixer.__finalize"></a> <h4>Pep8Fixer.__finalize</h4> <b>__finalize</b>(<i></i>) <p> Private method to apply all deferred fixes. </p><a NAME="Pep8Fixer.__findLogical" ID="Pep8Fixer.__findLogical"></a> <h4>Pep8Fixer.__findLogical</h4> <b>__findLogical</b>(<i></i>) <p> Private method to extract the index of all the starts and ends of lines. </p><dl> <dt>Returns:</dt> <dd> tuple containing two lists of integer with start and end tuples of lines </dd> </dl><a NAME="Pep8Fixer.__fixE101" ID="Pep8Fixer.__fixE101"></a> <h4>Pep8Fixer.__fixE101</h4> <b>__fixE101</b>(<i>code, line, pos</i>) <p> Private method to fix obsolete tab usage and indentation errors (E101, E111, W191). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixE121" ID="Pep8Fixer.__fixE121"></a> <h4>Pep8Fixer.__fixE121</h4> <b>__fixE121</b>(<i>code, line, pos, apply=False</i>) <p> Private method to fix the indentation of continuation lines and closing brackets (E121,E124). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd><dt><i>apply=</i></dt> <dd> flag indicating, that the fix should be applied (boolean) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixE122" ID="Pep8Fixer.__fixE122"></a> <h4>Pep8Fixer.__fixE122</h4> <b>__fixE122</b>(<i>code, line, pos, apply=False</i>) <p> Private method to fix a missing indentation of continuation lines (E122). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd><dt><i>apply=</i></dt> <dd> flag indicating, that the fix should be applied (boolean) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixE123" ID="Pep8Fixer.__fixE123"></a> <h4>Pep8Fixer.__fixE123</h4> <b>__fixE123</b>(<i>code, line, pos, apply=False</i>) <p> Private method to fix the indentation of a closing bracket lines (E123). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd><dt><i>apply=</i></dt> <dd> flag indicating, that the fix should be applied (boolean) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixE125" ID="Pep8Fixer.__fixE125"></a> <h4>Pep8Fixer.__fixE125</h4> <b>__fixE125</b>(<i>code, line, pos, apply=False</i>) <p> Private method to fix the indentation of continuation lines not distinguishable from next logical line (E125). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd><dt><i>apply=</i></dt> <dd> flag indicating, that the fix should be applied (boolean) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixE126" ID="Pep8Fixer.__fixE126"></a> <h4>Pep8Fixer.__fixE126</h4> <b>__fixE126</b>(<i>code, line, pos, apply=False</i>) <p> Private method to fix over-indented/under-indented hanging indentation (E126, E133). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd><dt><i>apply=</i></dt> <dd> flag indicating, that the fix should be applied (boolean) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixE127" ID="Pep8Fixer.__fixE127"></a> <h4>Pep8Fixer.__fixE127</h4> <b>__fixE127</b>(<i>code, line, pos, apply=False</i>) <p> Private method to fix over/under indented lines (E127, E128). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd><dt><i>apply=</i></dt> <dd> flag indicating, that the fix should be applied (boolean) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixE201" ID="Pep8Fixer.__fixE201"></a> <h4>Pep8Fixer.__fixE201</h4> <b>__fixE201</b>(<i>code, line, pos</i>) <p> Private method to fix extraneous whitespace (E201, E202, E203, E211). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixE221" ID="Pep8Fixer.__fixE221"></a> <h4>Pep8Fixer.__fixE221</h4> <b>__fixE221</b>(<i>code, line, pos</i>) <p> Private method to fix extraneous whitespace around operator or keyword (E221, E222, E223, E224, E225, E226, E227, E228, E241, E242, E271, E272, E273, E274). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixE231" ID="Pep8Fixer.__fixE231"></a> <h4>Pep8Fixer.__fixE231</h4> <b>__fixE231</b>(<i>code, line, pos</i>) <p> Private method to fix missing whitespace after ',;:'. </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixE251" ID="Pep8Fixer.__fixE251"></a> <h4>Pep8Fixer.__fixE251</h4> <b>__fixE251</b>(<i>code, line, pos</i>) <p> Private method to fix extraneous whitespace around keyword and default parameter equals (E251). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixE261" ID="Pep8Fixer.__fixE261"></a> <h4>Pep8Fixer.__fixE261</h4> <b>__fixE261</b>(<i>code, line, pos</i>) <p> Private method to fix whitespace before or after inline comment (E261, E262). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixE301" ID="Pep8Fixer.__fixE301"></a> <h4>Pep8Fixer.__fixE301</h4> <b>__fixE301</b>(<i>code, line, pos, apply=False</i>) <p> Private method to fix the need for one blank line (E301). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd><dt><i>apply=</i></dt> <dd> flag indicating, that the fix should be applied (boolean) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixE302" ID="Pep8Fixer.__fixE302"></a> <h4>Pep8Fixer.__fixE302</h4> <b>__fixE302</b>(<i>code, line, pos, apply=False</i>) <p> Private method to fix the need for two blank lines (E302). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd><dt><i>apply=</i></dt> <dd> flag indicating, that the fix should be applied (boolean) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixE303" ID="Pep8Fixer.__fixE303"></a> <h4>Pep8Fixer.__fixE303</h4> <b>__fixE303</b>(<i>code, line, pos, apply=False</i>) <p> Private method to fix superfluous blank lines (E303). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd><dt><i>apply=</i></dt> <dd> flag indicating, that the fix should be applied (boolean) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixE304" ID="Pep8Fixer.__fixE304"></a> <h4>Pep8Fixer.__fixE304</h4> <b>__fixE304</b>(<i>code, line, pos, apply=False</i>) <p> Private method to fix superfluous blank lines after a function decorator (E304). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd><dt><i>apply=</i></dt> <dd> flag indicating, that the fix should be applied (boolean) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixE401" ID="Pep8Fixer.__fixE401"></a> <h4>Pep8Fixer.__fixE401</h4> <b>__fixE401</b>(<i>code, line, pos, apply=False</i>) <p> Private method to fix multiple imports on one line (E401). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd><dt><i>apply=</i></dt> <dd> flag indicating, that the fix should be applied (boolean) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixE502" ID="Pep8Fixer.__fixE502"></a> <h4>Pep8Fixer.__fixE502</h4> <b>__fixE502</b>(<i>code, line, pos</i>) <p> Private method to fix redundant backslash within brackets (E502). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixE701" ID="Pep8Fixer.__fixE701"></a> <h4>Pep8Fixer.__fixE701</h4> <b>__fixE701</b>(<i>code, line, pos, apply=False</i>) <p> Private method to fix colon-separated compund statements (E701). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd><dt><i>apply=</i></dt> <dd> flag indicating, that the fix should be applied (boolean) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixE702" ID="Pep8Fixer.__fixE702"></a> <h4>Pep8Fixer.__fixE702</h4> <b>__fixE702</b>(<i>code, line, pos, apply=False</i>) <p> Private method to fix semicolon-separated compound statements (E702, E703). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd><dt><i>apply=</i></dt> <dd> flag indicating, that the fix should be applied (boolean) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixE711" ID="Pep8Fixer.__fixE711"></a> <h4>Pep8Fixer.__fixE711</h4> <b>__fixE711</b>(<i>code, line, pos</i>) <p> Private method to fix comparison with None (E711, E712). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixReindent" ID="Pep8Fixer.__fixReindent"></a> <h4>Pep8Fixer.__fixReindent</h4> <b>__fixReindent</b>(<i>line, pos, logical</i>) <p> Private method to fix a badly indented line. </p><p> This is done by adding or removing from its initial indent only. </p><dl> <dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating a change was done (boolean) </dd> </dl><a NAME="Pep8Fixer.__fixW291" ID="Pep8Fixer.__fixW291"></a> <h4>Pep8Fixer.__fixW291</h4> <b>__fixW291</b>(<i>code, line, pos</i>) <p> Private method to fix trailing whitespace (W291, W293). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixW292" ID="Pep8Fixer.__fixW292"></a> <h4>Pep8Fixer.__fixW292</h4> <b>__fixW292</b>(<i>code, line, pos</i>) <p> Private method to fix a missing newline at the end of file (W292). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixW391" ID="Pep8Fixer.__fixW391"></a> <h4>Pep8Fixer.__fixW391</h4> <b>__fixW391</b>(<i>code, line, pos</i>) <p> Private method to fix trailing blank lines (W391). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixW603" ID="Pep8Fixer.__fixW603"></a> <h4>Pep8Fixer.__fixW603</h4> <b>__fixW603</b>(<i>code, line, pos</i>) <p> Private method to fix the not equal notation (W603). </p><dl> <dt><i>code</i></dt> <dd> code of the issue (string) </dd><dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.__fixWhitespace" ID="Pep8Fixer.__fixWhitespace"></a> <h4>Pep8Fixer.__fixWhitespace</h4> <b>__fixWhitespace</b>(<i>line, offset, replacement</i>) <p> Private method to correct whitespace at the given offset. </p><dl> <dt><i>line</i></dt> <dd> line to be corrected (string) </dd><dt><i>offset</i></dt> <dd> offset within line (integer) </dd><dt><i>replacement</i></dt> <dd> replacement string (string) </dd> </dl><dl> <dt>Returns:</dt> <dd> corrected line </dd> </dl><a NAME="Pep8Fixer.__getEol" ID="Pep8Fixer.__getEol"></a> <h4>Pep8Fixer.__getEol</h4> <b>__getEol</b>(<i></i>) <p> Private method to get the applicable eol string. </p><dl> <dt>Returns:</dt> <dd> eol string (string) </dd> </dl><a NAME="Pep8Fixer.__getIndent" ID="Pep8Fixer.__getIndent"></a> <h4>Pep8Fixer.__getIndent</h4> <b>__getIndent</b>(<i>line</i>) <p> Private method to get the indentation string. </p><dl> <dt><i>line</i></dt> <dd> line to determine the indentation string from (string) </dd> </dl><dl> <dt>Returns:</dt> <dd> indentation string (string) </dd> </dl><a NAME="Pep8Fixer.__getIndentWord" ID="Pep8Fixer.__getIndentWord"></a> <h4>Pep8Fixer.__getIndentWord</h4> <b>__getIndentWord</b>(<i></i>) <p> Private method to determine the indentation type. </p><dl> <dt>Returns:</dt> <dd> string to be used for an indentation (string) </dd> </dl><a NAME="Pep8Fixer.__getLogical" ID="Pep8Fixer.__getLogical"></a> <h4>Pep8Fixer.__getLogical</h4> <b>__getLogical</b>(<i>line, pos</i>) <p> Private method to get the logical line corresponding to the given position. </p><dl> <dt><i>line</i></dt> <dd> line number of the issue (integer) </dd><dt><i>pos</i></dt> <dd> position inside line (integer) </dd> </dl><dl> <dt>Returns:</dt> <dd> tuple of a tuple of two integers giving the start of the logical line, another tuple of two integers giving the end of the logical line and a list of strings with the original source lines </dd> </dl><a NAME="Pep8Fixer.fixIssue" ID="Pep8Fixer.fixIssue"></a> <h4>Pep8Fixer.fixIssue</h4> <b>fixIssue</b>(<i>line, pos, message</i>) <p> Public method to fix the fixable issues. </p><dl> <dt><i>line</i></dt> <dd> line number of issue (integer) </dd><dt><i>pos</i></dt> <dd> character position of issue (integer) </dd><dt><i>message</i></dt> <dd> message text (string) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating an applied fix (boolean) and a message for the fix (string) </dd> </dl><a NAME="Pep8Fixer.mutualStartswith" ID="Pep8Fixer.mutualStartswith"></a> <h4>Pep8Fixer.mutualStartswith</h4> <b>mutualStartswith</b>(<i>b</i>) <p> Local helper method to compare the beginnings of two strings against each other. </p><dl> <dt>Returns:</dt> <dd> flag indicating that one string starts with the other (boolean) </dd> </dl><a NAME="Pep8Fixer.saveFile" ID="Pep8Fixer.saveFile"></a> <h4>Pep8Fixer.saveFile</h4> <b>saveFile</b>(<i>encoding</i>) <p> Public method to save the modified file. </p><dl> <dt><i>encoding</i></dt> <dd> encoding of the source file (string) </dd> </dl><dl> <dt>Returns:</dt> <dd> flag indicating success (boolean) </dd> </dl> <div align="right"><a href="#top">Up</a></div> <hr /><hr /> <a NAME="Pep8IndentationWrapper" ID="Pep8IndentationWrapper"></a> <h2>Pep8IndentationWrapper</h2> <p> Class used by fixers dealing with indentation. </p><p> Each instance operates on a single logical line. </p> <h3>Derived from</h3> object <h3>Class Attributes</h3> <table> <tr><td>SKIP_TOKENS</td></tr> </table> <h3>Class Methods</h3> <table> <tr><td>None</td></tr> </table> <h3>Methods</h3> <table> <tr> <td><a href="#Pep8IndentationWrapper.__init__">Pep8IndentationWrapper</a></td> <td>Constructor</td> </tr><tr> <td><a href="#Pep8IndentationWrapper.__buildTokensLogical">__buildTokensLogical</a></td> <td>Private method to build a logical line from a list of tokens.</td> </tr><tr> <td><a href="#Pep8IndentationWrapper.pep8Expected">pep8Expected</a></td> <td>Public method to replicate logic in pep8.py, to know what level to indent things to.</td> </tr> </table> <h3>Static Methods</h3> <table> <tr><td>None</td></tr> </table> <a NAME="Pep8IndentationWrapper.__init__" ID="Pep8IndentationWrapper.__init__"></a> <h4>Pep8IndentationWrapper (Constructor)</h4> <b>Pep8IndentationWrapper</b>(<i>physical_lines</i>) <p> Constructor </p><dl> <dt><i>physical_lines</i></dt> <dd> list of physical lines to operate on (list of strings) </dd> </dl><a NAME="Pep8IndentationWrapper.__buildTokensLogical" ID="Pep8IndentationWrapper.__buildTokensLogical"></a> <h4>Pep8IndentationWrapper.__buildTokensLogical</h4> <b>__buildTokensLogical</b>(<i>tokens</i>) <p> Private method to build a logical line from a list of tokens. </p><dl> <dt><i>tokens</i></dt> <dd> list of tokens as generated by tokenize.generate_tokens </dd> </dl><dl> <dt>Returns:</dt> <dd> logical line (string) </dd> </dl><a NAME="Pep8IndentationWrapper.pep8Expected" ID="Pep8IndentationWrapper.pep8Expected"></a> <h4>Pep8IndentationWrapper.pep8Expected</h4> <b>pep8Expected</b>(<i></i>) <p> Public method to replicate logic in pep8.py, to know what level to indent things to. </p><dl> <dt>Returns:</dt> <dd> list of lists, where each list represents valid indent levels for the line in question, relative from the initial indent. However, the first entry is the indent level which was expected. </dd> </dl> <div align="right"><a href="#top">Up</a></div> <hr /><hr /> <a NAME="Pep8Reindenter" ID="Pep8Reindenter"></a> <h2>Pep8Reindenter</h2> <p> Class to reindent badly-indented code to uniformly use four-space indentation. </p><p> Released to the public domain, by Tim Peters, 03 October 2000. </p> <h3>Derived from</h3> object <h3>Class Attributes</h3> <table> <tr><td>None</td></tr> </table> <h3>Class Methods</h3> <table> <tr><td>None</td></tr> </table> <h3>Methods</h3> <table> <tr> <td><a href="#Pep8Reindenter.__init__">Pep8Reindenter</a></td> <td>Constructor</td> </tr><tr> <td><a href="#Pep8Reindenter.__genStats">__genStats</a></td> <td>Private method to generate the re-indent statistics.</td> </tr><tr> <td><a href="#Pep8Reindenter.__getlspace">__getlspace</a></td> <td>Private method to count number of leading blanks.</td> </tr><tr> <td><a href="#Pep8Reindenter.fixedLine">fixedLine</a></td> <td>Public method to get a fixed line.</td> </tr><tr> <td><a href="#Pep8Reindenter.getline">getline</a></td> <td>Public method to get a line of text for tokenize.</td> </tr><tr> <td><a href="#Pep8Reindenter.run">run</a></td> <td>Public method to run the re-indenter.</td> </tr> </table> <h3>Static Methods</h3> <table> <tr><td>None</td></tr> </table> <a NAME="Pep8Reindenter.__init__" ID="Pep8Reindenter.__init__"></a> <h4>Pep8Reindenter (Constructor)</h4> <b>Pep8Reindenter</b>(<i>sourceLines</i>) <p> Constructor </p><dl> <dt><i>sourceLines</i></dt> <dd> list of source lines including eol marker (list of string) </dd> </dl><a NAME="Pep8Reindenter.__genStats" ID="Pep8Reindenter.__genStats"></a> <h4>Pep8Reindenter.__genStats</h4> <b>__genStats</b>(<i>tokens</i>) <p> Private method to generate the re-indent statistics. </p><dl> <dt><i>tokens</i></dt> <dd> tokens generator (tokenize._tokenize) </dd> </dl><a NAME="Pep8Reindenter.__getlspace" ID="Pep8Reindenter.__getlspace"></a> <h4>Pep8Reindenter.__getlspace</h4> <b>__getlspace</b>(<i>line</i>) <p> Private method to count number of leading blanks. </p><dl> <dt><i>line</i></dt> <dd> line to check (string) </dd> </dl><dl> <dt>Returns:</dt> <dd> number of leading blanks (integer) </dd> </dl><a NAME="Pep8Reindenter.fixedLine" ID="Pep8Reindenter.fixedLine"></a> <h4>Pep8Reindenter.fixedLine</h4> <b>fixedLine</b>(<i>line</i>) <p> Public method to get a fixed line. </p><dl> <dt><i>line</i></dt> <dd> number of the line to retrieve (integer) </dd> </dl><dl> <dt>Returns:</dt> <dd> fixed line (string) </dd> </dl><a NAME="Pep8Reindenter.getline" ID="Pep8Reindenter.getline"></a> <h4>Pep8Reindenter.getline</h4> <b>getline</b>(<i></i>) <p> Public method to get a line of text for tokenize. </p><dl> <dt>Returns:</dt> <dd> line of text (string) </dd> </dl><a NAME="Pep8Reindenter.run" ID="Pep8Reindenter.run"></a> <h4>Pep8Reindenter.run</h4> <b>run</b>(<i></i>) <p> Public method to run the re-indenter. </p> <div align="right"><a href="#top">Up</a></div> <hr /> </body></html>