def parse_firewall(rule):
    parser = argparse.ArgumentParser()
    rules = shlex.split(rule)
    rules.pop(0)
    parser.add_argument('--enable', '--enabled', dest='enable',
                        action='store_true')
    parser.add_argument('--disable', '--disabled', dest='disable',
                        action='store_true')
    parser.add_argument('--port', dest='port', action='store')
    parser.add_argument('--service', dest='service', action='store')
    parser.add_argument('--ssh', dest='ssh', action='store_true')
    parser.add_argument('--smtp', dest='smtp', action='store_true')
    parser.add_argument('--http', dest='http', action='store_true')
    parser.add_argument('--ftp', dest='ftp', action='store_true')

    args = clean_args(vars(parser.parse_args(rules)))
    parser = None
    return args
Parse the firewall line
dataset/ETHPy150Open saltstack/salt/salt/utils/kickstart.py/parse_firewall