Have pyinstaller always load the whole cliff module #3

Merged
yrriban merged 4 commits from iss2 into trunk 2025-09-06 05:37:39 +00:00
Showing only changes of commit 7317674e4c - Show all commits

View file

@ -61,17 +61,17 @@ class ConfigBase(object):
return self._doom.joinpath(self._dsda)
def AddCommonArgs(parser):
parser.add_argument(
"--doom", default=pathlib.Path.home().joinpath("doom"))
parser.add_argument("--config-name", default="config.toml")
return 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)