summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/flake8/main/setuptools_command.py25
-rw-r--r--src/flake8/options/manager.py13
2 files changed, 33 insertions, 5 deletions
diff --git a/src/flake8/main/setuptools_command.py b/src/flake8/main/setuptools_command.py
index 1c27bf6..4978c9a 100644
--- a/src/flake8/main/setuptools_command.py
+++ b/src/flake8/main/setuptools_command.py
@@ -5,6 +5,8 @@ import setuptools
from flake8.main import application as app
+UNSET = object()
+
class Flake8(setuptools.Command):
"""Run Flake8 via setuptools/distutils for registered modules."""
@@ -21,11 +23,25 @@ class Flake8(setuptools.Command):
def initialize_options(self):
"""Override this method to initialize our application."""
- pass
+ self.flake8 = app.Application()
+ self.flake8.initialize([])
+ options = self.flake8.option_manager.options
+ for option in options:
+ if option.parse_from_config:
+ setattr(self, option.config_name, UNSET)
def finalize_options(self):
"""Override this to parse the parameters."""
- pass
+ options = self.flake8.option_manager.options
+ for option in options:
+ if option.parse_from_config:
+ name = option.config_name
+ value = getattr(self, name, UNSET)
+ if value is UNSET:
+ continue
+ setattr(self.flake8.options,
+ name,
+ option.normalize_from_setuptools(value))
def package_files(self):
"""Collect the files/dirs included in the registered modules."""
@@ -72,6 +88,5 @@ class Flake8(setuptools.Command):
def run(self):
"""Run the Flake8 application."""
- flake8 = app.Application()
- flake8.run(list(self.distribution_files()))
- flake8.exit()
+ self.flake8.run_checks(list(self.distribution_files()))
+ self.flake8.exit()
diff --git a/src/flake8/options/manager.py b/src/flake8/options/manager.py
index c6a3fcb..f9d9e26 100644
--- a/src/flake8/options/manager.py
+++ b/src/flake8/options/manager.py
@@ -133,6 +133,19 @@ class Option(object):
return utils.parse_comma_separated_list(value)
return value
+ def normalize_from_setuptools(self, value):
+ """Normalize the value received from setuptools."""
+ value = self.normalize(value)
+ if self.type == 'int' or self.action == 'count':
+ return int(value)
+ if self.action in ('store_true', 'store_false'):
+ value = str(value).upper()
+ if value in ('1', 'T', 'TRUE', 'ON'):
+ return True
+ if value in ('0', 'F', 'FALSE', 'OFF'):
+ return False
+ return value
+
def to_optparse(self):
"""Convert a Flake8 Option to an optparse Option."""
if self._opt is None: