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()
 |