From f539464368bd06b16a624b785ab97bb055a573aa Mon Sep 17 00:00:00 2001 From: Ian Cordasco Date: Wed, 30 Dec 2015 17:26:28 -0600 Subject: [PATCH] Start working on our option handling story --- flake8/option_parser.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 flake8/option_parser.py diff --git a/flake8/option_parser.py b/flake8/option_parser.py new file mode 100644 index 0000000..9d006ba --- /dev/null +++ b/flake8/option_parser.py @@ -0,0 +1,32 @@ +import optparse + + +class Option(object): + def __init__(self, short_option_name=None, long_option_name=None, + # Options below here are taken from the optparse.Option class + action=None, default=None, type=None, dest=None, + nargs=None, const=None, choices=None, callback=None, + callback_args=None, callback_kwargs=None, help=None, + metavar=None, + # Options below here are specific to Flake8 + parse_from_config=False + ): + self.short_option_name = short_option_name + self.long_option_name = long_option_name + self.option_args = filter(None, (short_option_name, long_option_name)) + self.option_kwargs = { + 'action': action, + 'default': default, + 'type': type, + 'dest': dest, + 'callback': callback, + 'callback_args': callback_args, + 'callback_kwargs': callback_kwargs, + 'help': help, + 'metavar': metavar, + } + for key, value in self.option_kwargs.items(): + setattr(self, key, value) + self.parse_from_config = parse_from_config + self._option = optparse.Option(*self.option_args, + **self.option_kwargs)