Have pyinstaller always load the whole cliff module #3
1 changed files with 12 additions and 11 deletions
|
@ -61,17 +61,17 @@ class ConfigBase(object):
|
|||
return self._doom.joinpath(self._dsda)
|
||||
|
||||
|
||||
def AddCommonArgs(parser):
|
||||
def get_parser_func(toc):
|
||||
def add_common_args(self, prog_name):
|
||||
parser = super(toc, self).get_parser(prog_name)
|
||||
parser.add_argument(
|
||||
"--doom", default=pathlib.Path.home().joinpath("doom"))
|
||||
parser.add_argument("--config-name", default="config.toml")
|
||||
return parser
|
||||
return add_common_args
|
||||
|
||||
|
||||
class Base(cliff.command.Command, ConfigBase):
|
||||
def get_parser(self, prog_name):
|
||||
return AddCommonArgs(super().get_parser(prog_name))
|
||||
|
||||
def run(self, parsed_args):
|
||||
super().init_base(parsed_args)
|
||||
super().finalize()
|
||||
|
@ -79,12 +79,13 @@ class Base(cliff.command.Command, ConfigBase):
|
|||
|
||||
|
||||
class ListerBase(cliff.lister.Lister, ConfigBase):
|
||||
def get_parser(self, prog_name):
|
||||
return AddCommonArgs(super().get_parser(prog_name))
|
||||
|
||||
def run(self, parsed_args):
|
||||
super().init_base(parsed_args)
|
||||
super().finalize()
|
||||
self.formatter = self._formatter_plugins[parsed_args.formatter].obj
|
||||
columns, data = self.take_action(parsed_args)
|
||||
return self.produce_output(parsed_args, columns, data)
|
||||
|
||||
|
||||
for toc in (Base, ListerBase):
|
||||
toc.get_parser = get_parser_func(toc)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue