|
@@ -426,12 +426,15 @@ class Command(object):
|
|
|
formatter=HelpFormatter(),
|
|
|
description=self.description,
|
|
|
)
|
|
|
- parser.option_list.extend(self.preload_options)
|
|
|
- self.prepare_arguments(parser)
|
|
|
- option_list = self.get_options()
|
|
|
- if option_list:
|
|
|
- parser.option_lisat.extend(option_list)
|
|
|
- parser.option_list.extend(self.app.user_options['preload'])
|
|
|
+ parser.add_options(self.preload_options)
|
|
|
+ for typ_ in reversed(type(self).mro()):
|
|
|
+ try:
|
|
|
+ prepare_arguments = typ_.prepare_arguments
|
|
|
+ except AttributeError:
|
|
|
+ continue
|
|
|
+ prepare_arguments(self, parser)
|
|
|
+ parser.add_options(self.get_options() or ())
|
|
|
+ parser.add_options(self.app.user_options['preload'])
|
|
|
return self.prepare_parser(parser)
|
|
|
|
|
|
def prepare_parser(self, parser):
|