def METHOD_NAME(argv):
    """
    Creates the GetOpt table + read and validate the options given when calling the script.
    :param argv: command-line arguments
     :type argv: list
    :return: the path to the conp-dataset directory
     :rtype: str
    """
    conp_dataset_dir_path = None
    description = (
        "\nThis tool facilitates the creation of statistics per data providers for reporting purposes."
        " It will read DATS files and print out a summary per data providers based on the following list"
        "of DATS fields present in the DATS. json of every dataset present in the conp-dataset/projects"
        "directory.\n Queried fields: <distribution->access->landingPage>; "
        "<distributions->access->authorizations>; "
        "<distributions->size>; <extraProperties->files>; <keywords>\n"
    )
    usage = (
        "\n"
        "usage  : python " + __file__ + " -d <conp-dataset directory path>\n\n"
        "options: \n"
        "\t-d: path to the conp-dataset directory to parse\n"
    )
    try:
        opts, args = getopt.getopt(argv, "hd:")
    except getopt.GetoptError:
        sys.exit()
    for opt, arg in opts:
        if opt == "-h":
            print(description + usage)
            sys.exit()
        elif opt == "-d":
            conp_dataset_dir_path = arg
    if not conp_dataset_dir_path:
        print(
            "a path to the conp-dataset needs to be given as an argument to the script by using the option `-d`",
        )
        print(description + usage)
        sys.exit()
    if not os.path.exists(conp_dataset_dir_path + "/projects"):
        print(
            conp_dataset_dir_path
            + "does not appear to be a valid path and does not include a `projects` directory",
        )
        print(description + usage)
        sys.exit()
    return conp_dataset_dir_path