You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
#!/usr/bin/env python
|
|
|
|
import argparse
|
|
|
|
from podop import run_server, SERVER_TYPES, TABLE_TYPES
|
|
|
|
|
|
def main():
|
|
""" Run a podop server based on CLI arguments
|
|
"""
|
|
parser = argparse.ArgumentParser("Postfix and Dovecot proxy")
|
|
parser.add_argument("--socket", required=True,
|
|
help="path to the listening unix socket")
|
|
parser.add_argument("--mode", choices=SERVER_TYPES.keys(), required=True,
|
|
help="select which server will connect to Podop")
|
|
parser.add_argument("--name", action="append",
|
|
help="name of each configured table")
|
|
parser.add_argument("--type", choices=TABLE_TYPES.keys(), action="append",
|
|
help="type of each configured table")
|
|
parser.add_argument("--param", action="append",
|
|
help="mandatory param for each table configured")
|
|
parser.add_argument("-v", "--verbose", dest="verbosity",
|
|
action="count", default=0,
|
|
help="increases log verbosity for each occurence.")
|
|
args = parser.parse_args()
|
|
run_server(
|
|
args.verbosity, args.mode, args.socket,
|
|
zip(args.name, args.type, args.param) if args.name else []
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|