diff --git a/flake8/options/manager.py b/flake8/options/manager.py index a471960..f4bd1d8 100644 --- a/flake8/options/manager.py +++ b/flake8/options/manager.py @@ -72,7 +72,7 @@ class Option(object): 'action': action, 'default': default, 'type': type, - 'dest': dest, + 'dest': self._make_dest(dest), 'callback': callback, 'callback_args': callback_args, 'callback_kwargs': callback_kwargs, @@ -93,7 +93,7 @@ class Option(object): if not long_option_name: raise ValueError('When specifying parse_from_config=True, ' 'a long_option_name must also be specified.') - self.config_name = long_option_name.strip('-').replace('-', '_') + self.config_name = self.dest def __repr__(self): return ( @@ -103,6 +103,11 @@ class Option(object): 'callback_kwargs={callback_kwargs}, metavar={metavar})' ).format(*self.option_args, **self.option_kwargs) + def _make_dest(self, dest): + if self.long_option_name: + return self.long_option_name[2:].replace('-', '_') + return self.short_option_name[1] + def to_optparse(self): """Convert a Flake8 Option to an optparse Option.""" if not hasattr(self, '_opt'): diff --git a/tests/unit/test_option.py b/tests/unit/test_option.py index 51b5dcf..c6fc98c 100644 --- a/tests/unit/test_option.py +++ b/tests/unit/test_option.py @@ -32,7 +32,7 @@ def test_to_optparse_creates_an_option_as_we_expect(Option): 'action': 'count', 'default': None, 'type': None, - 'dest': None, + 'dest': 'test', 'callback': None, 'callback_args': None, 'callback_kwargs': None,