mirror of
https://github.com/PyCQA/flake8.git
synced 2026-03-29 10:36:53 +00:00
76 lines
2.7 KiB
ReStructuredText
76 lines
2.7 KiB
ReStructuredText
===================
|
|
Utility Functions
|
|
===================
|
|
|
|
|Flake8| has a few utility functions that it uses internally.
|
|
|
|
.. warning::
|
|
|
|
As should be implied by where these are documented, these are all
|
|
**internal** utility functions. Their signatures and return types
|
|
may change between releases without notice.
|
|
|
|
Bugs reported about these **internal** functions will be closed
|
|
immediately.
|
|
|
|
If functions are needed by plugin developers, they may be requested
|
|
in the bug tracker and after careful consideration they *may* be added
|
|
to the *documented* stable API.
|
|
|
|
.. autofunction:: flake8.utils.parse_comma_separated_list
|
|
|
|
:func:`~flake8.utils.parse_comma_separated_list` takes either a string like
|
|
|
|
.. code-block:: python
|
|
|
|
"E121,W123,F904"
|
|
"E121,\nW123,\nF804"
|
|
" E121,\n\tW123,\n\tF804 "
|
|
" E121\n\tW123 \n\tF804"
|
|
|
|
And converts it to a list that looks as follows
|
|
|
|
.. code-block:: python
|
|
|
|
["E121", "W123", "F904"]
|
|
|
|
This function helps normalize any kind of comma-separated input you or |Flake8|
|
|
might receive. This is most helpful when taking advantage of |Flake8|'s
|
|
additional parameters to :class:`~flake8.options.manager.Option`.
|
|
|
|
.. autofunction:: flake8.utils.normalize_path
|
|
|
|
This utility takes a string that represents a path and returns the absolute
|
|
path if the string has a ``/`` in it. It also removes trailing ``/``\ s.
|
|
|
|
.. autofunction:: flake8.utils.normalize_paths
|
|
|
|
This function utilizes :func:`~flake8.utils.normalize_path` to normalize a
|
|
sequence of paths. See :func:`~flake8.utils.normalize_path` for what defines a
|
|
normalized path.
|
|
|
|
.. autofunction:: flake8.utils.stdin_get_value
|
|
|
|
This function retrieves and caches the value provided on ``sys.stdin``. This
|
|
allows plugins to use this to retrieve ``stdin`` if necessary.
|
|
|
|
.. autofunction:: flake8.utils.is_using_stdin
|
|
|
|
Another helpful function that is named only to be explicit given it is a very
|
|
trivial check, this checks if the user specified ``-`` in their arguments to
|
|
|Flake8| to indicate we should read from stdin.
|
|
|
|
.. autofunction:: flake8.utils.fnmatch
|
|
|
|
The standard library's :func:`fnmatch.fnmatch` is excellent at deciding if a
|
|
filename matches a single pattern. In our use case, however, we typically have
|
|
a list of patterns and want to know if the filename matches any of them. This
|
|
function abstracts that logic away with a little extra logic.
|
|
|
|
.. autofunction:: flake8.utils.parse_unified_diff
|
|
|
|
To handle usage of :option:`flake8 --diff`, |Flake8| needs to be able
|
|
to parse the name of the files in the diff as well as the ranges indicated the
|
|
sections that have been changed. This function either accepts the diff as an
|
|
argument or reads the diff from standard-in. It then returns a dictionary with
|
|
filenames as the keys and sets of line numbers as the value.
|