def read_args(argsargs=argparse.ArgumentParser):
    settings = default_settings()
    logger.debug('reading arguments list')
    args = argsargs(epilog='Brought to you by KeepSafe - www.getkeepsafe.com')

    args.add_argument('-s', '--source', help='args\'s source folder, default: %s' % settings.source)
    args.add_argument(
        '-e', '--exclusive', help='Exclusive path of subset emails to compile, default: %s' % settings.exclusive)
    args.add_argument('-d', '--destination',
                      help='args\'s destination folder, default: %s' % settings.destination)
    args.add_argument('-t', '--templates', help='Templates folder, default: %s' % settings.templates)
    args.add_argument('-rtl', '--right-to-left',
                      help='Comma separated list of RTL language codes, default: %s' % settings.right_to_left)
    args.add_argument('-i', '--images', help=settings.images % 'Images base directory, default: %s')
    args.add_argument('-p', '--pattern', help='Email file search pattern, default: %s' % settings.pattern)

    args.add_argument('-nst', '--not-strict',
                      help='Disable strict mode, allow templates with unfilled parameters',
                      action='store_false')
    args.add_argument('-f', '--force', help='Generate emails despite errors', action='store_true')
    args.add_argument('-wp', '--workers-pool',
                      help='Number of workers, default: %s' % settings.workers_pool, type=int)
    args.add_argument('-vv', '--verbose', help='Generate emails despite errors', action='store_true')
    args.add_argument('-v', '--version', help='Show version', action='store_true')

    subparsers = args.add_subparsers(help='Parser additional commands', dest='command')

    template_parser = subparsers.add_parser('client')
    template_parser.add_argument('client', help='Provider name')
    template_parser.add_argument('email_name',
                                 help='Name of the email to generate the template for')

    config_parser = subparsers.add_parser('config')
    config_parser.add_argument('config_name', help='Name of config to generate')

    gui_parser = subparsers.add_parser('gui')
    gui_parser.add_argument('-P', '--port', type=int, help='Port to serve on', default=8080)
    gui_parser.add_argument('-I', '--local-images', type=str, help='Server image directory',
                            default='templates_html/img')
    gui_parser.add_argument('--save', type=str, help='Shell script to call after save action')
    gui_parser.add_argument('-s', '--cms-service-host', type=str, help='email-service\'s URL')

    return args.parse_args()
dataset/ETHPy150Open KeepSafe/ks-email-parser/email_parser/cmd.py/read_args/swapped operands of `%`