From a7f7bbbeb2002ba0f581d6f77bca664c2057a4a6 Mon Sep 17 00:00:00 2001 From: Ian Cordasco Date: Sat, 9 Jan 2016 20:29:09 -0600 Subject: [PATCH] Handle when dest is provided to Option --- flake8/options/manager.py | 5 ++++- tests/unit/test_option.py | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/flake8/options/manager.py b/flake8/options/manager.py index 3e4c128..38eb605 100644 --- a/flake8/options/manager.py +++ b/flake8/options/manager.py @@ -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 = self.dest + self.config_name = long_option_name[2:].replace('-', '_') def __repr__(self): return ( @@ -104,6 +104,9 @@ class Option(object): ).format(*self.option_args, **self.option_kwargs) def _make_dest(self, dest): + if dest: + return dest + if self.long_option_name: return self.long_option_name[2:].replace('-', '_') return self.short_option_name[1] diff --git a/tests/unit/test_option.py b/tests/unit/test_option.py index c6fc98c..55cae5c 100644 --- a/tests/unit/test_option.py +++ b/tests/unit/test_option.py @@ -57,3 +57,8 @@ def test_config_name_needs_long_option_name(): """Show that we error out if the Option should be parsed from config.""" with pytest.raises(ValueError): manager.Option('-s', parse_from_config=True) + + +def test_dest_is_not_overridden(): + opt = manager.Option('-s', '--short', dest='something_not_short') + assert opt.dest == 'something_not_short'