Skip to content

Commit d4dc77e

Browse files
committed
Fix:#477 Normalize command-line arguments with various dash types
1 parent 8c27331 commit d4dc77e

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

zulip_bots/zulip_bots/run.py

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import logging
55
import os
66
import sys
7+
import re
78
from typing import Optional
89

910
from zulip_bots import finder
@@ -16,8 +17,30 @@
1617

1718
current_dir = os.path.dirname(os.path.abspath(__file__))
1819

19-
20+
def normalize_args():
21+
"""Replaces various dash variations in arguments with standard options."""
22+
dash_variations = r"[\u002D\u2010\u2011\u2012\u2013\u2014\u2015]"
23+
for i, arg in enumerate(sys.argv):
24+
if re.match(rf"^{dash_variations}{{2}}config{dash_variations}file$", arg):
25+
sys.argv[i] = "--config-file"
26+
elif re.match(rf"^{dash_variations}c$", arg):
27+
sys.argv[i] = "-c"
28+
elif re.match(rf"^{dash_variations}{{2}}bot{dash_variations}config{dash_variations}file$", arg):
29+
sys.argv[i] = "--bot-config-file"
30+
elif re.match(rf"^{dash_variations}c$", arg):
31+
sys.argv[i] = "-b"
32+
elif re.match(rf"^{dash_variations}{{2}}force$", arg):
33+
sys.argv[i] = "--force"
34+
elif re.match(rf"^{dash_variations}{{2}}registry$", arg):
35+
sys.argv[i]='--registry'
36+
elif re.match(rf"^{dash_variations}r$", arg):
37+
sys.argv[i] = "-r"
38+
elif re.match(rf"^{dash_variations}{{2}}provision$", arg):
39+
sys.argv[i]='--provision'
40+
41+
2042
def parse_args() -> argparse.Namespace:
43+
normalize_args() # Fix arguments before parsing
2144
usage = """
2245
zulip-run-bot <bot_name> --config-file ~/zuliprc
2346
zulip-run-bot --help

0 commit comments

Comments
 (0)