fix: report an invalid --port with a short message instead of listing every choice
This commit is contained in:
1 parent
c73a7cc3ce
commit
a3222d5ebe
2 files changed
+25
-2
No files matched your search
@@ -17,6 +17,17 @@ from aegis_gitea_mcp.config import Settings, get_settings, reset_settings
|
||||
from aegis_gitea_mcp.logging_utils import configure_logging
|
||||
|
||||
|
||||
def _port(value: str) -> int:
|
||||
"""Parse ``--port`` (argparse ``type``): an integer from 1 to 65535."""
|
||||
try:
|
||||
port = int(value)
|
||||
except ValueError:
|
||||
raise argparse.ArgumentTypeError("must be an integer from 1 to 65535") from None
|
||||
if not 1 <= port <= 65535:
|
||||
raise argparse.ArgumentTypeError("must be between 1 and 65535")
|
||||
return port
|
||||
|
||||
|
||||
def build_parser() -> argparse.ArgumentParser:
|
||||
"""Build the argument parser."""
|
||||
parser = argparse.ArgumentParser(
|
||||
@@ -35,9 +46,8 @@ def build_parser() -> argparse.ArgumentParser:
|
||||
serve.add_argument("--host", default=None, help="HTTP bind address (default: MCP_HOST)")
|
||||
serve.add_argument(
|
||||
"--port",
|
||||
type=int,
|
||||
type=_port,
|
||||
default=None,
|
||||
choices=range(1, 65536),
|
||||
metavar="PORT",
|
||||
help="HTTP port (default: MCP_PORT)",
|
||||
)
|
||||
|
||||
Reference in new issue
Block a user