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)
|
return self._doom.joinpath(self._dsda)
|
||||||
|
|
||||||
|
|
||||||
def AddCommonArgs(parser):
|
def get_parser_func(toc):
|
||||||
parser.add_argument(
|
def add_common_args(self, prog_name):
|
||||||
"--doom", default=pathlib.Path.home().joinpath("doom"))
|
parser = super(toc, self).get_parser(prog_name)
|
||||||
parser.add_argument("--config-name", default="config.toml")
|
parser.add_argument(
|
||||||
return parser
|
"--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):
|
class Base(cliff.command.Command, ConfigBase):
|
||||||
def get_parser(self, prog_name):
|
|
||||||
return AddCommonArgs(super().get_parser(prog_name))
|
|
||||||
|
|
||||||
def run(self, parsed_args):
|
def run(self, parsed_args):
|
||||||
super().init_base(parsed_args)
|
super().init_base(parsed_args)
|
||||||
super().finalize()
|
super().finalize()
|
||||||
|
@ -79,12 +79,13 @@ class Base(cliff.command.Command, ConfigBase):
|
||||||
|
|
||||||
|
|
||||||
class ListerBase(cliff.lister.Lister, 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):
|
def run(self, parsed_args):
|
||||||
super().init_base(parsed_args)
|
super().init_base(parsed_args)
|
||||||
super().finalize()
|
super().finalize()
|
||||||
self.formatter = self._formatter_plugins[parsed_args.formatter].obj
|
self.formatter = self._formatter_plugins[parsed_args.formatter].obj
|
||||||
columns, data = self.take_action(parsed_args)
|
columns, data = self.take_action(parsed_args)
|
||||||
return self.produce_output(parsed_args, columns, data)
|
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