Commit graph

20956 commits

Author SHA1 Message Date
Matt Martz
113c74faac flake8 clean ups 2016-10-13 14:22:34 +01:00
Matt Martz
75b299e6de Add CaptureStd context manager for capturing stdout and stderr 2016-10-13 14:22:34 +01:00
Matt Martz
60a2165987 Improved documentation error handling 2016-10-13 14:22:34 +01:00
Matt Martz
ddf0474a76 Manipulate YAMLError for docs. Fixes #14
* reference the section the error came from
* offset the line number to reference the actual line in the file
2016-10-13 14:22:34 +01:00
Matt Martz
6bcc5e6f6a Add *.txt and test dir to exclusions 2016-10-13 14:22:34 +01:00
Matt Martz
cd88cb753c Make sure we find the .py file when looking for a module to compare docs with 2016-10-13 14:22:34 +01:00
Matt Martz
87808797ea Fix flake8 error 2016-10-13 14:22:34 +01:00
Matt Martz
8ca303032f Clean up and re-order imports 2016-10-13 14:22:34 +01:00
Matt Martz
ef55f9a243 Clarify that RETURN is a form of documentation 2016-10-13 14:22:34 +01:00
Matt Martz
fca2f088ea Verify that new arguments have a correct version added. Fixes #16 2016-10-13 14:22:34 +01:00
Matt Martz
ab74928259 Fix local variable 'version_added' referenced before assignment. Fixes #15 2016-10-13 14:22:34 +01:00
Matt Martz
f0e769e125 s/Regex/RegEx/ 2016-10-13 14:22:34 +01:00
Matt Martz
ccd49201b1 Cast version to string for comparisons 2016-10-13 14:22:34 +01:00
Matt Martz
8daaa75027 Note that sys.exit should be exit_json or fail_json 2016-10-13 14:22:34 +01:00
Matt Martz
e37ba8dd29 Fix bottom import check weirdness 2016-10-13 14:22:34 +01:00
Matt Martz
bc51bb97dd No RETURN should be an error for new modules 2016-10-13 14:22:34 +01:00
Matt Martz
69ec1e8e6a Check for requests imports. Fixes #12 2016-10-13 14:22:34 +01:00
Matt Martz
61a49e0420 Only check version correctness on new modules. Fixes #11 2016-10-13 14:22:34 +01:00
Matt Martz
1d2cb3968f Still look for EXAMPLES and RETURN if DOCUMENTATION is invalid. Fixes #7 2016-10-13 14:22:34 +01:00
Matt Martz
99158a6a89 If no version_added is found, we should assume the string 0.0 instead of the int 0 2016-10-13 14:22:34 +01:00
Matt Martz
8c6c2caf61 Still scan modules with no extension assuming they are python. Fixes #8 2016-10-13 14:22:34 +01:00
Matt Martz
e9de4d136f Better tab checking, since we care about any tabs in the line, not just in initial indentation 2016-10-13 14:22:34 +01:00
Matt Martz
72690c89bd Try to parse RETURN as YAML 2016-10-13 14:22:34 +01:00
Matt Martz
2218e763f8 Get the index of the tab, not the line itself 2016-10-13 14:22:34 +01:00
Matt Martz
e3dbe85f25 Check the version_added value 2016-10-13 14:22:34 +01:00
Matt Martz
86c50839bd We are using enumerate to get line numbers, so we need to add 1 since it is 0 offset 2016-10-13 14:22:34 +01:00
Matt Martz
1464f246a3 Add a version 2016-10-13 14:22:34 +01:00
Matt Martz
cbe7052ebe get_docstring has changed output, rework code to get exception raised by get_docstring 2016-10-13 14:22:34 +01:00
Matt Martz
4d24f3ba61 Don't abspath things, and don't do root based magic 2016-10-13 14:22:34 +01:00
Matt Martz
2ce2b7a416 Detect duplicate globals from basic.py 2016-10-13 14:22:34 +01:00
Matt Martz
3760ae3bfe Add option for regex pattern exclusions for file paths 2016-10-13 14:22:34 +01:00
Matt Martz
cf9b22103d Warnings should not increment the exit status 2016-10-13 14:22:34 +01:00
Matt Martz
95c9e11cba Give line no and column for indentation 2016-10-13 14:22:34 +01:00
Matt Martz
cb87eeccad Catch the traceback from get_docstring so we can output it in the correct spot 2016-10-13 14:22:34 +01:00
Matt Martz
6b02c1c261 Print the modules path, so it's easier to go find that module 2016-10-13 14:22:34 +01:00
Matt Martz
48ce4b7d70 Don't trace if we check a non python module for just docs 2016-10-13 14:22:34 +01:00
Matt Martz
d488bd57cc Don't check docs only files for a proper interpreter line 2016-10-13 14:22:34 +01:00
Matt Martz
117ecc1e9b Update import for REPLACER_WINDOWS 2016-10-13 14:22:34 +01:00
Matt Martz
da3ce668fa Check for tabbed indentation 2016-10-13 14:22:34 +01:00
Matt Martz
b794d92991 Update BLACKLISTs 2016-10-13 14:22:34 +01:00
Matt Martz
dcb17e1800 Only run the interpreter check once 2016-10-13 14:22:34 +01:00
Matt Martz
4f9b6899fe Add some basic support for powershell modules 2016-10-13 14:22:34 +01:00
Matt Martz
0386aa2643 Allow running against a single file 2016-10-13 14:22:34 +01:00
Matt Martz
efd8787e0b flake8 cleanup 2016-10-13 14:22:34 +01:00
Matt Martz
90c469d8ec Require some module_utils imports to be at the bottom 2016-10-13 14:22:34 +01:00
Matt Martz
8ff644680d Check for missing GPLv3 license header in module. Fixes #4 2016-10-13 14:22:34 +01:00
Matt Martz
4c8c0b035f Check for sys.exit. Fixes #5 2016-10-13 14:22:34 +01:00
Matt Martz
823e3c72d3 Track errors/warnings and exit with a code equal to the total 2016-10-13 14:22:34 +01:00
Matt Martz
b121d202f5 Um, that was dumb, and apparently not tested, good job self. 2016-10-13 14:22:34 +01:00
Matt Martz
58703e47ac Make module_utils imports not at bottom a warning 2016-10-13 14:22:34 +01:00