Commit graph

41 commits

Author SHA1 Message Date
Anthony Sottile
32c7ebcd7b split lines the same when read from stdin 2020-01-16 14:10:33 -08:00
Eric N. Vander Weele
9fa5663986 application: Inline creation of config.ConfigFileFinder
Simplify the initialization code path by invoking
`config.ConfigFileFinder` directly instead of the extra hop by calling
the static class-level `Application.make_config_finder()` method.
2019-12-03 13:21:01 -05:00
Byeonghoon Yoo
705c16a268
Fix codes 2019-11-06 00:28:09 +09:00
Byeonghoon Yoo
d23f77d06e
Fix lint error 2019-11-05 22:16:18 +09:00
Byeonghoon Yoo
dd411e95bc
Fix should_ignore_file() to handle disable-noqa configuration 2019-11-05 21:59:19 +09:00
Byeonghoon Yoo
9a45593aae
Add disable_noqa attribute to FileProcessor 2019-11-05 21:54:24 +09:00
Anthony Sottile
7441c63de8 Merge branch 'specific_noqa_pycodestyle' into 'master'
Do not pass `noqa` to plugins, have flake8 decide whether to report

Closes #552

See merge request pycqa/flake8!331
2019-10-28 16:51:09 +00:00
Anthony Sottile
fdcec2803a Don't reset indent_char when we encounter E101 2019-09-24 13:54:32 -07:00
Anthony Sottile
92fbdda253 Add type annotations for flake8.processor 2019-09-07 23:31:43 -07:00
Anthony Sottile
5144196abd Do not pass noqa to plugins, have flake8 decide whether to report 2019-08-29 13:14:12 -07:00
Anthony Sottile
fb7e9338cd mypy now passes 2019-05-19 17:31:04 -07:00
Anthony Sottile
dcd37ec3d4 whitelist a bandit false positive and improve type annotation 2019-05-19 09:39:14 -07:00
Anthony Sottile
e8de066f94 Ensure exceptions are pickleable 2019-02-19 08:38:37 -08:00
Anthony Sottile
3d54751236 Remove noqa comments now that 3.7 has been released 2019-01-31 20:12:23 -08:00
Anthony Sottile
50e7cc71b9 Latest pycodestyle 2019-01-29 08:58:10 -08:00
Anthony Sottile
3127d213f6 Some lint / mypy fixes 2019-01-24 02:15:25 -08:00
Anthony Sottile
8dc2885d94 Fix typo 2018-12-31 22:26:21 -08:00
Jon Dufresne
3216c7b362 Remove workarounds for older, unsupported Pythons 2018-12-05 06:34:55 -08:00
Anthony Sottile
42590a68a5 Revert "Merge branch 'revert-63b91c95' into 'master'"
This reverts commit ba2fb9c53a, reversing
changes made to 63b91c95ea.
2018-10-23 15:06:49 -07:00
Anthony Sottile
fb1f257128 Revert "Merge branch 'match_newlines_py3' into 'master'"
This reverts merge request !253
2018-10-23 21:53:19 +00:00
Anthony Sottile
a42bfdf6d2 Fix inconsistent newlines read from a file in python3 2018-10-22 17:10:18 -07:00
Ian Stapleton Cordasco
c58a4662d8
Use black to reformat Flake8
Instead of just using Flake8 and pylint to keep Flake8 clean, let's also
use black to make it less manual for clean-up.
2018-10-20 12:37:14 -05:00
Anthony Sottile
e73055432c Only skip a file if # flake8: noqa is on a line by itself 2018-07-01 08:40:26 -07:00
Anthony Sottile
109f5f8888 Simplify and speed up multiprocessing 2016-11-29 09:00:33 -08:00
Yen Chi Hsuan
6595d3a08d Add previous_unindented_logical_line attribute
This attribute is introduced in pycodestyle 2.1.0

Closes #246

See: https://github.com/PyCQA/pycodestyle/issues/400
2016-11-08 23:34:56 +08:00
Ian Cordasco
352a7250b7
Handle empty stdin-display-name values
Apparently, some folks pass an empty string to --stdin-display-name. To
avoid the errors this causes, we need to handle it appropriately.

Closes #235
2016-10-28 07:09:43 -05:00
Ian Cordasco
8dfe38e9e6
Fix up FileProcessor.file_tokens property
We opted to not copy the file_tokens attribute each time it's accessed
in the merge request discussion but it was never reflected in the code.
Further, the attribute had no documentation or docstring, so we've added
that. Finally, we address a personal style nit that I otherwise wouldn't
have picked at.
2016-10-25 12:02:00 -05:00
Ian Cordasco
91a1ce47d6
Merge branch 'file-tokens' of xzise/flake8 2016-10-25 11:57:24 -05:00
Ian Cordasco
78100de8c6
Handle SyntaxErrors when tokenizing a file
Closes #205
2016-08-06 07:44:20 -05:00
Ian Cordasco
ce94cfea69 Merge branch 'bug/179' into 'master'
Serialize Checkers PluginTypeManager to a dict

*Description of changes*

Try to side-step issues with attributes not being set/updated on plugins when used with multiprocessing and Queues.

*Related to:*  #179, #164 

See merge request !98
2016-08-05 19:58:29 +00:00
Ian Cordasco
f434e9adf5
Clean up usage of InvalidSyntax exception 2016-08-05 06:39:08 -05:00
Wouter Bolsterlee
45ae0b9eeb Use str(exc) instead of exc.message
...since on py3 tokenize.TokenError does not have a 'message' attribute.
See #203.
2016-08-05 11:15:04 +02:00
Ian Cordasco
e14d0e6352
Serialize Checkers PluginTypeManager to a dict
It seems likely that the multiprocessing module on Windows is not
capable of serializing an object with the structure that we have and
preserving the attributes we dynamically set on plugins (like the
FlakesChecker). To avoid issues like this with all plugins (although
we have only found this on Windows with the FlakesChecker), let's try
serializing the Checkers PluginTypeManager to a dictionary so that the
only object that a Queue is really trying to serialize/deserialize is
the FlakesChecker itself.

Related to #179
2016-08-03 16:48:39 -05:00
Ian Cordasco
e51fc5458b
Fix handling of logical lines with noqa
When attempting to centralize all inline NoQA handling in the StyleGuide
we inadvertently broke plugins relying on it in combination with checker
state. For example, the check for E402 relies both on NoQA and the state
to determine if it has seen a non-import line. Placing NoQA on the sole
line that is not an import is more elegant than placing it on each of
the following import lines.

Closes #186
2016-07-26 19:45:05 -05:00
Fabian Neundorf
9cf8603e94 Add support for tokens of a complete file
The `tokens` property of the `FileProcessor` class only contains tokens of the
current line but not all tokens. So if a plugin which is only executed once
per file, that property is useless. To make the tokens also available to
plugins it is now be able to supply all the tokens of a file.

It also updates the documentation to separate which parameters are static and
which are changed on each line. Using the latter parameters on plugins which
are only run once per file isn't very sensible.
2016-07-22 00:28:23 +02:00
Fabian Neundorf
965d6f9509 Fix typo in documentation using indect
The documentation for the `FileProcessor` class used `indect_char` while the
class itself uses the more sensible name `indent_char`. This updates both the
docstring as well as the documentation.
2016-07-21 13:59:07 +02:00
Ian Cordasco
a1fdb5a2b5
Fix up merge request 78
This simplifies the changes, reduces the scope of refactors apparently
for refactoring's sake and ensures that the internals are reasonable.

It also airs on the side of preserving information rather than
discarding or overwriting it.
2016-07-20 19:28:13 -05:00
Leonardo Rochael Almeida
7934f8dce2 Propagate the stdin_display_name to checker and processor
This way plugins like flake8-putty can have access to the correct filename.
2016-07-20 18:45:01 -03:00
Ian Cordasco
57e82688df
Handle errors reported in empty files
Some plugins (e.g., flake8-future-import) report errors for empty
files. Those plugins default to reporting the line number as 1 which
caused earlier versions of Flake8 3.0 beta to crash on an IndexError

Closes #157
2016-07-09 20:21:26 -05:00
Ian Cordasco
2d3e277b1e
Handle optional parameters that were never supported
Previously, pycodestyle never introspected the argument names for
classes except to require that ``tree`` be an argument it could pass.
For Flake8 3.0, we lifted that restriction, but old plugins seem to
have cargo-culted their __init__ signature to be

    def __init__(self, tree, builtins=None):

For some yet unknown reason. This was causing an AttributeError. By
updating flake8.utils.parameters_for to return a dictionary that
indicates whether the parameter is required or not, we can side-step
this by simply ignoring the parameter if it has a default value and
we cannot provide it.

Closes #151
2016-06-28 09:36:24 -05:00
Ian Cordasco
1a2c68f5da
Move flake8 into src
This is an emerging best practice and there is little reason to not
follow it
2016-06-25 10:12:13 -05:00
Renamed from flake8/processor.py (Browse further)