def _parse_args(args: List[str]) -> _UpdateArgumentsRunConfig:
    """
    Parses the given CLI arguments to get a run configuration.
    :param args: CLI arguments
    :return: run configuration derived from the given CLI arguments
    """
    parser = argparse.ArgumentParser(
        prog="gitlab-update-variables", description="Tool for setting a GitLab project's build variables")
    add_common_arguments(parser)
    parser.add_argument("config_location", type=str, help="Location of the configuration file")
    parser.add_argument("--setting-repository", dest="setting_repository", nargs="+", type=str,
                        help="Directory from which variable settings groups may be sourced")
    parser.add_argument("--default-setting-extension", dest="default_setting_extensions",nargs="+", type=str,
                        help="Extensions to try adding to the variable to source location if it does not exist")

    arguments = parser.parse_args(args)
    return _UpdateArgumentsRunConfig(
        arguments.config_location, arguments.setting_repository, arguments.default_setting_extensions,
        url=arguments.url, token=arguments.token, debug=arguments.debug)
def _parse_args ( args : List [ str ] ) -> _UpdateArgumentsRunConfig : parser = argparse . ArgumentParser ( prog = "gitlab-update-variables" , description = "Tool for setting a GitLab project's build variables" ) add_common_arguments ( parser ) parser . add_argument ( "config_location" , type = str , help = "Location of the configuration file" ) parser . add_argument ( "--setting-repository" , dest = "setting_repository" , nargs = "+" , type = str , help = "Directory from which variable settings groups may be sourced" ) parser . add_argument ( "--default-setting-extension" , dest = "default_setting_extensions" , nargs = "+" , type = str , help = "Extensions to try adding to the variable to source location if it does not exist" ) arguments = parser . parse_args ( args ) return _UpdateArgumentsRunConfig ( arguments . config_location , arguments . setting_repository , arguments . default_setting_extensions , url = arguments . url , token = arguments . token , debug = arguments . debug )
Parses the given CLI arguments to get a run configuration.
    :param args: CLI arguments
    :return: run configuration derived from the given CLI arguments