#! /usr/bin/env python3

import argparse
import sys

from linuxmusterTools.common import lprint
from linuxmusterTools.samba_util import GroupManager


lprint.alert(
    """This script is now deprecated and will be soon removed. 
Please use `lmncli mgmtgroup --add-members user1,user2 --remove-members user3,user4 GROUP` instead."""
)

parser = argparse.ArgumentParser(
                    prog='lmntools-managementgroup',
                    description='Add and remove members from a ldap management group, like internet or wifi')

parser.add_argument('-g', '--group', help="The group to modify")
parser.add_argument('-a', '--add-members', help="Comma separated list of users to add to GROUP")
parser.add_argument('-r', '--remove-members', help="Comma separated list of users to remove from GROUP")
parser.add_argument('-s', '--school', help="Schoolname, if different from default-school")

args = parser.parse_args()

if args.group is not None:

    if args.add_members is None and args.remove_members is None:
        parser.print_help()
        sys.exit(0)

    school = "default-school"
    if args.school is not None:
        school = args.school

    groupmanager = GroupManager(school=school)

    if args.add_members is not None:
        to_add = args.add_members.split(',')
        try:
            groupmanager.add_members(args.group, to_add)
        except Exception as e:
            sys.exit(e)

    if args.remove_members is not None:
        to_remove = args.remove_members.split(',')
        try:
            groupmanager.remove_members(args.group, to_remove)
        except Exception as e:
            sys.exit(e)

else:
    parser.print_help()
