fix: allow args before/after command
This commit is contained in:
+25
-9
@@ -75,6 +75,22 @@ def __add_arg_int(
|
||||
)
|
||||
|
||||
|
||||
def __add_arg_bool(
|
||||
parser: argparse.ArgumentParser,
|
||||
*flags: str,
|
||||
default: bool,
|
||||
help_txt: str,
|
||||
dest: str | None = None,
|
||||
) -> None:
|
||||
parser.add_argument(
|
||||
*flags,
|
||||
action=argparse.BooleanOptionalAction,
|
||||
help=f"{help_txt} (default: {str(default).lower()})",
|
||||
default=default,
|
||||
dest=dest,
|
||||
)
|
||||
|
||||
|
||||
def parse_parameters(args: typing.Sequence[str]) -> Parameters:
|
||||
default_values = Parameters()
|
||||
parser = argparse.ArgumentParser(
|
||||
@@ -94,11 +110,11 @@ def parse_parameters(args: typing.Sequence[str]) -> Parameters:
|
||||
default=default_values.data_dir,
|
||||
help_txt="directory where pages are/will be stored",
|
||||
)
|
||||
parser.add_argument(
|
||||
__add_arg_bool(
|
||||
parser,
|
||||
"--certificates",
|
||||
action=argparse.BooleanOptionalAction,
|
||||
help="Handle certificates (default: true)",
|
||||
default=default_values.with_certificates,
|
||||
help_txt="Handle certificates",
|
||||
dest="with_certificates",
|
||||
)
|
||||
__add_arg_str(
|
||||
@@ -108,11 +124,11 @@ def parse_parameters(args: typing.Sequence[str]) -> Parameters:
|
||||
default=default_values.self_signed_path,
|
||||
help_txt="Self-signed certificates dir",
|
||||
)
|
||||
parser.add_argument(
|
||||
__add_arg_bool(
|
||||
parser,
|
||||
"--certbot",
|
||||
action=argparse.BooleanOptionalAction,
|
||||
help="Use Certbot (default: true)",
|
||||
default=default_values.with_certbot,
|
||||
help_txt="Use Certbot",
|
||||
dest="with_certbot",
|
||||
)
|
||||
__add_arg_str(
|
||||
@@ -150,11 +166,11 @@ def parse_parameters(args: typing.Sequence[str]) -> Parameters:
|
||||
default=default_values.https_port,
|
||||
help_txt="server https port",
|
||||
)
|
||||
parser.add_argument(
|
||||
__add_arg_bool(
|
||||
parser,
|
||||
"--https",
|
||||
action=argparse.BooleanOptionalAction,
|
||||
help="Use https (implies --certificates) (default: true)",
|
||||
default=default_values.https,
|
||||
help_txt="Use https (implies --certificates)",
|
||||
)
|
||||
__add_arg_str(
|
||||
parser,
|
||||
|
||||
Reference in New Issue
Block a user