#!/usr/bin/python3
# -*- coding: utf-8 -*-
#
# Add or remove an item to/from a UCRV list
#
# SPDX-FileCopyrightText: 2017-2026 Univention GmbH
# SPDX-License-Identifier: AGPL-3.0-only

import argparse
import sys

from ucsschool.lib.models.utils import add_or_remove_ucrv_value


def parse_cmdline():
    parser = argparse.ArgumentParser(
        description="Add or remove an item to/from a UCRV list.",
        epilog="Non-existent UCRVs will be created.",
    )
    parser.add_argument("UCRV", help="UCR variable name.")
    parser.add_argument("action", help='Either "add" or "remove".')
    parser.add_argument(
        "delimiter",
        help='Delimiter to place between items of the list (e.g. " " or ",").',
    )
    parser.add_argument("value", help="Item to add to or remove from the value list.")
    args = parser.parse_args()

    if args.action not in ("add", "remove"):
        parser.error('"action" must be either "add" or "remove".')

    return args


def main():
    args = parse_cmdline()
    return add_or_remove_ucrv_value(args.UCRV, args.action, args.value, args.delimiter)


if __name__ == "__main__":
    sys.exit(main())
