2021-07-18 10:52:39 -04:00
|
|
|
"""Configuration for Matrix Webhook."""
|
|
|
|
import argparse
|
|
|
|
import os
|
|
|
|
|
2021-07-18 12:12:08 -04:00
|
|
|
parser = argparse.ArgumentParser(description=__doc__, prog="python -m matrix_webhook")
|
2021-07-18 10:52:39 -04:00
|
|
|
parser.add_argument(
|
|
|
|
"-H",
|
|
|
|
"--host",
|
|
|
|
default=os.environ.get("HOST", ""),
|
|
|
|
help="host to listen to. Default: `''`. Environment variable: `HOST`",
|
|
|
|
)
|
|
|
|
parser.add_argument(
|
|
|
|
"-P",
|
|
|
|
"--port",
|
|
|
|
type=int,
|
|
|
|
default=os.environ.get("PORT", 4785),
|
|
|
|
help="port to listed to. Default: 4785. Environment variable: `PORT`",
|
|
|
|
)
|
|
|
|
parser.add_argument(
|
|
|
|
"-u",
|
|
|
|
"--matrix-url",
|
|
|
|
default=os.environ.get("MATRIX_URL", "https://matrix.org"),
|
2021-08-27 12:04:34 -04:00
|
|
|
help="matrix homeserver url. Default: `https://matrix.org`. "
|
|
|
|
"Environment variable: `MATRIX_URL`",
|
2021-07-18 10:52:39 -04:00
|
|
|
)
|
|
|
|
parser.add_argument(
|
|
|
|
"-i",
|
|
|
|
"--matrix-id",
|
|
|
|
help="matrix user-id. Required. Environment variable: `MATRIX_ID`",
|
|
|
|
**(
|
|
|
|
{"default": os.environ["MATRIX_ID"]}
|
|
|
|
if "MATRIX_ID" in os.environ
|
|
|
|
else {"required": True}
|
|
|
|
),
|
|
|
|
)
|
|
|
|
parser.add_argument(
|
|
|
|
"-p",
|
|
|
|
"--matrix-pw",
|
|
|
|
help="matrix password. Required. Environment variable: `MATRIX_PW`",
|
|
|
|
**(
|
|
|
|
{"default": os.environ["MATRIX_PW"]}
|
|
|
|
if "MATRIX_PW" in os.environ
|
|
|
|
else {"required": True}
|
|
|
|
),
|
|
|
|
)
|
|
|
|
parser.add_argument(
|
|
|
|
"-k",
|
2021-11-04 13:26:54 -04:00
|
|
|
"--api-keys",
|
|
|
|
help="comma separated list of shared secrets to use this service. Required. Environment variable: `API_KEYS`",
|
2021-07-18 10:52:39 -04:00
|
|
|
**(
|
2021-11-04 13:26:54 -04:00
|
|
|
{"default": os.environ["API_KEYS"]}
|
2021-11-04 13:58:12 -04:00
|
|
|
if "API_KEYS" in os.environ
|
2021-07-18 10:52:39 -04:00
|
|
|
else {"required": True}
|
|
|
|
),
|
|
|
|
)
|
|
|
|
parser.add_argument(
|
|
|
|
"-v", "--verbose", action="count", default=0, help="increment verbosity level"
|
|
|
|
)
|
|
|
|
|
|
|
|
args = parser.parse_args()
|
|
|
|
|
|
|
|
SERVER_ADDRESS = (args.host, args.port)
|
|
|
|
MATRIX_URL = args.matrix_url
|
|
|
|
MATRIX_ID = args.matrix_id
|
|
|
|
MATRIX_PW = args.matrix_pw
|
2021-11-04 13:26:54 -04:00
|
|
|
API_KEYS = args.api_keys.split(",")
|
2021-07-18 10:52:39 -04:00
|
|
|
VERBOSE = args.verbose
|