Skip to content

Commit 11ff62c

Browse files
authored
Sort arguments alphabetically (jquast#133)
1 parent db78457 commit 11ff62c

2 files changed

Lines changed: 152 additions & 153 deletions

File tree

telnetlib3/client.py

Lines changed: 108 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -774,100 +774,106 @@ def _get_argument_parser() -> argparse.ArgumentParser:
774774
)
775775
parser.add_argument("host", action="store", help="hostname")
776776
parser.add_argument("port", nargs="?", default=23, type=int, help="port number")
777-
parser.add_argument("--term", default=os.environ.get("TERM", "unknown"), help="terminal type")
778-
parser.add_argument("--loglevel", default="warn", help="log level")
779-
parser.add_argument("--logfmt", default=accessories._DEFAULT_LOGFMT, help="log format")
780-
parser.add_argument("--logfile", help="filepath")
781777
parser.add_argument(
782-
"--logfile-mode",
783-
default="append",
784-
choices=["append", "rewrite"],
785-
dest="logfile_mode",
786-
help="Log file write mode: append (default) or rewrite.",
778+
"--always-do",
779+
action="append",
780+
default=[],
781+
metavar="OPT",
782+
help="always send DO for this option (name like GMCP or number, repeatable)",
787783
)
788784
parser.add_argument(
789-
"--shell", default="telnetlib3.telnet_client_shell", help="module.function_name"
785+
"--always-will",
786+
action="append",
787+
default=[],
788+
metavar="OPT",
789+
help="always send WILL for this option (name like MXP or number, repeatable)",
790790
)
791-
parser.add_argument("--encoding", default="utf8", help="encoding name")
792-
parser.add_argument("--speed", default=38400, type=int, help="connection speed")
793791
parser.add_argument(
794-
"--encoding-errors",
795-
default="replace",
796-
help="handler for encoding errors",
797-
choices=("replace", "ignore", "strict"),
798-
)
799-
800-
parser.add_argument("--force-binary", action="store_true", help="force encoding", default=True)
801-
mode_group = parser.add_mutually_exclusive_group()
802-
mode_group.add_argument(
803-
"--raw-mode",
792+
"--ansi-keys",
804793
action="store_true",
805794
default=False,
806-
help="force raw terminal mode (no line buffering, no local echo). "
807-
"Correct for BBS and retro systems. Default: auto-detect from "
808-
"server negotiation.",
795+
help="transmit raw ANSI escape sequences for arrow and function "
796+
"keys instead of encoding-specific control codes. Use for "
797+
"BBSes that expect ANSI cursor sequences.",
809798
)
810-
mode_group.add_argument(
811-
"--line-mode",
799+
parser.add_argument(
800+
"--ascii-eol",
812801
action="store_true",
813802
default=False,
814-
help="force line-buffered input with local echo. Appropriate for "
815-
"simple command-line services.",
803+
help="use ASCII CR/LF for line endings instead of encoding-native "
804+
"EOL (e.g. ATASCII 0x9B). Use for BBSes that display retro "
805+
"graphics but use standard CR/LF for line breaks.",
816806
)
817807
parser.add_argument(
818-
"--connect-minwait", default=0, type=float, help="shell delay for negotiation"
808+
"--compression",
809+
action=argparse.BooleanOptionalAction,
810+
default=None,
811+
help="MCCP compression: --compression to request, --no-compression to reject, "
812+
"omit to passively accept (default)",
819813
)
820814
parser.add_argument(
821815
"--connect-maxwait", default=4.0, type=float, help="timeout for pending negotiation"
822816
)
817+
parser.add_argument(
818+
"--connect-minwait", default=0, type=float, help="shell delay for negotiation"
819+
)
823820
parser.add_argument(
824821
"--connect-timeout",
825822
default=10,
826823
type=float,
827824
help="timeout for TCP connection in seconds (default: 10)",
828825
)
826+
parser.add_argument("--encoding", default="utf8", help="encoding name")
829827
parser.add_argument(
830-
"--send-environ",
831-
default="TERM,LANG,COLUMNS,LINES,COLORTERM",
832-
help="comma-separated environment variables to send (NEW_ENVIRON)",
833-
)
834-
parser.add_argument(
835-
"--always-will",
836-
action="append",
837-
default=[],
838-
metavar="OPT",
839-
help="always send WILL for this option (name like MXP or number, repeatable)",
828+
"--encoding-errors",
829+
default="replace",
830+
help="handler for encoding errors",
831+
choices=("replace", "ignore", "strict"),
840832
)
833+
parser.add_argument("--force-binary", action="store_true", help="force encoding", default=True)
841834
parser.add_argument(
842-
"--always-do",
843-
action="append",
844-
default=[],
845-
metavar="OPT",
846-
help="always send DO for this option (name like GMCP or number, repeatable)",
835+
"--gmcp-modules",
836+
default=None,
837+
metavar="MODULES",
838+
help="comma-separated GMCP module specs to request "
839+
'(e.g. "Char 1,Room 1,IRE.Rift 1"). '
840+
"When provided, replaces the built-in defaults.",
847841
)
848-
parser.add_argument(
849-
"--ascii-eol",
842+
mode_group = parser.add_mutually_exclusive_group()
843+
mode_group.add_argument(
844+
"--line-mode",
850845
action="store_true",
851846
default=False,
852-
help="use ASCII CR/LF for line endings instead of encoding-native "
853-
"EOL (e.g. ATASCII 0x9B). Use for BBSes that display retro "
854-
"graphics but use standard CR/LF for line breaks.",
847+
help="force line-buffered input with local echo. Appropriate for "
848+
"simple command-line services.",
855849
)
856-
parser.add_argument(
857-
"--ansi-keys",
850+
mode_group.add_argument(
851+
"--raw-mode",
858852
action="store_true",
859853
default=False,
860-
help="transmit raw ANSI escape sequences for arrow and function "
861-
"keys instead of encoding-specific control codes. Use for "
862-
"BBSes that expect ANSI cursor sequences.",
854+
help="force raw terminal mode (no line buffering, no local echo). "
855+
"Correct for BBS and retro systems. Default: auto-detect from "
856+
"server negotiation.",
863857
)
858+
parser.add_argument("--logfile", help="filepath")
864859
parser.add_argument(
865-
"--compression",
866-
action=argparse.BooleanOptionalAction,
867-
default=None,
868-
help="MCCP compression: --compression to request, --no-compression to reject, "
869-
"omit to passively accept (default)",
860+
"--logfile-mode",
861+
default="append",
862+
choices=["append", "rewrite"],
863+
dest="logfile_mode",
864+
help="Log file write mode: append (default) or rewrite.",
865+
)
866+
parser.add_argument("--logfmt", default=accessories._DEFAULT_LOGFMT, help="log format")
867+
parser.add_argument("--loglevel", default="warn", help="log level")
868+
parser.add_argument(
869+
"--send-environ",
870+
default="TERM,LANG,COLUMNS,LINES,COLORTERM",
871+
help="comma-separated environment variables to send (NEW_ENVIRON)",
870872
)
873+
parser.add_argument(
874+
"--shell", default="telnetlib3.telnet_client_shell", help="module.function_name"
875+
)
876+
parser.add_argument("--speed", default=38400, type=int, help="connection speed")
871877
parser.add_argument(
872878
"--ssl", action="store_true", default=False, help="connect using TLS (TELNETS)"
873879
)
@@ -886,14 +892,7 @@ def _get_argument_parser() -> argparse.ArgumentParser:
886892
"the server identity is not verified, allowing "
887893
"man-in-the-middle attacks",
888894
)
889-
parser.add_argument(
890-
"--gmcp-modules",
891-
default=None,
892-
metavar="MODULES",
893-
help="comma-separated GMCP module specs to request "
894-
'(e.g. "Char 1,Room 1,IRE.Rift 1"). '
895-
"When provided, replaces the built-in defaults.",
896-
)
895+
parser.add_argument("--term", default=os.environ.get("TERM", "unknown"), help="terminal type")
897896
parser.add_argument(
898897
"--typescript",
899898
default=None,
@@ -1009,27 +1008,38 @@ def _get_fingerprint_argument_parser() -> argparse.ArgumentParser:
10091008
parser.add_argument("host", help="remote hostname or IP")
10101009
parser.add_argument("port", nargs="?", default=23, type=int, help="port number")
10111010
parser.add_argument(
1012-
"--data-dir",
1013-
default=None,
1014-
help="directory for fingerprint data (default: $TELNETLIB3_DATA_DIR)",
1011+
"--always-do",
1012+
action="append",
1013+
default=[],
1014+
metavar="OPT",
1015+
help="always send DO for this option (name like GMCP or number, repeatable)",
10151016
)
10161017
parser.add_argument(
1017-
"--save-json", default=None, metavar="PATH", help="write fingerprint JSON to this path"
1018+
"--always-will",
1019+
action="append",
1020+
default=[],
1021+
metavar="OPT",
1022+
help="always send WILL for this option (name like MXP or number, repeatable)",
10181023
)
10191024
parser.add_argument(
1020-
"--connect-timeout", default=10, type=float, help="TCP connection timeout in seconds"
1025+
"--banner-max-bytes", default=65536, type=int, help="max bytes per banner read call"
10211026
)
1022-
parser.add_argument("--loglevel", default="warn", help="log level")
1023-
parser.add_argument("--logfmt", default=accessories._DEFAULT_LOGFMT, help="log format")
1024-
parser.add_argument("--logfile", default=None, help="filepath")
10251027
parser.add_argument(
1026-
"--silent", action="store_true", help="suppress fingerprint output to stdout"
1028+
"--banner-max-wait", default=8.0, type=float, help="max seconds to wait for banner data"
10271029
)
10281030
parser.add_argument(
1029-
"--set-name",
1031+
"--banner-quiet-time",
1032+
default=2.0,
1033+
type=float,
1034+
help="seconds of silence before considering banner complete",
1035+
)
1036+
parser.add_argument(
1037+
"--connect-timeout", default=10, type=float, help="TCP connection timeout in seconds"
1038+
)
1039+
parser.add_argument(
1040+
"--data-dir",
10301041
default=None,
1031-
metavar="NAME",
1032-
help="store this name for the fingerprint in fingerprint_names.json",
1042+
help="directory for fingerprint data (default: $TELNETLIB3_DATA_DIR)",
10331043
)
10341044
parser.add_argument(
10351045
"--encoding",
@@ -1038,8 +1048,17 @@ def _get_fingerprint_argument_parser() -> argparse.ArgumentParser:
10381048
dest="stream_encoding",
10391049
help="character encoding of the remote server (e.g. cp037 for EBCDIC)",
10401050
)
1051+
parser.add_argument("--logfile", default=None, help="filepath")
1052+
parser.add_argument("--logfmt", default=accessories._DEFAULT_LOGFMT, help="log format")
1053+
parser.add_argument("--loglevel", default="warn", help="log level")
10411054
parser.add_argument(
1042-
"--ttype", default="VT100", help="terminal type sent in response to TTYPE requests"
1055+
"--mssp-wait",
1056+
default=5.0,
1057+
type=float,
1058+
help="max seconds since connect to wait for MSSP data",
1059+
)
1060+
parser.add_argument(
1061+
"--save-json", default=None, metavar="PATH", help="write fingerprint JSON to this path"
10431062
)
10441063
parser.add_argument(
10451064
"--scan-type",
@@ -1055,36 +1074,13 @@ def _get_fingerprint_argument_parser() -> argparse.ArgumentParser:
10551074
help="environment variable to send (repeatable)",
10561075
)
10571076
parser.add_argument(
1058-
"--always-will",
1059-
action="append",
1060-
default=[],
1061-
metavar="OPT",
1062-
help="always send WILL for this option (name like MXP or number, repeatable)",
1063-
)
1064-
parser.add_argument(
1065-
"--always-do",
1066-
action="append",
1067-
default=[],
1068-
metavar="OPT",
1069-
help="always send DO for this option (name like GMCP or number, repeatable)",
1070-
)
1071-
parser.add_argument(
1072-
"--mssp-wait",
1073-
default=5.0,
1074-
type=float,
1075-
help="max seconds since connect to wait for MSSP data",
1076-
)
1077-
parser.add_argument(
1078-
"--banner-quiet-time",
1079-
default=2.0,
1080-
type=float,
1081-
help="seconds of silence before considering banner complete",
1082-
)
1083-
parser.add_argument(
1084-
"--banner-max-wait", default=8.0, type=float, help="max seconds to wait for banner data"
1077+
"--set-name",
1078+
default=None,
1079+
metavar="NAME",
1080+
help="store this name for the fingerprint in fingerprint_names.json",
10851081
)
10861082
parser.add_argument(
1087-
"--banner-max-bytes", default=65536, type=int, help="max bytes per banner read call"
1083+
"--silent", action="store_true", help="suppress fingerprint output to stdout"
10881084
)
10891085
parser.add_argument(
10901086
"--ssl", action="store_true", default=False, help="connect using TLS (TELNETS)"
@@ -1104,6 +1100,9 @@ def _get_fingerprint_argument_parser() -> argparse.ArgumentParser:
11041100
"the server identity is not verified, allowing "
11051101
"man-in-the-middle attacks",
11061102
)
1103+
parser.add_argument(
1104+
"--ttype", default="VT100", help="terminal type sent in response to TTYPE requests"
1105+
)
11071106
return parser
11081107

11091108

0 commit comments

Comments
 (0)