#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from argparse import ArgumentParser
from optparse import OptionParser
from samba.samdb import SamDB
from samba.auth import system_session
from samba import getopt, generate_random_password


def group_mod(args):
    parse = OptionParser()
    lp = getopt.SambaOptions(parse).get_loadparm()
    creds = getopt.CredentialsOptions(parse).get_credentials(lp)
    samdb = SamDB(session_info=system_session(), credentials=creds, lp=lp)
    # add user in group
    groupname = args.name
    if groupname.lower() == "domainadmins":
        groupname = "domain admins"
    elif groupname.lower() == "domainusers":
        groupname = "domain users"
    elif groupname.lower() == "printoperators":
        groupname = "print operators"
    if args.m:
        members = args.m.split(',')
        add_members_operation = True
    if args.x:
        members = args.x.split(',')
        add_members_operation = False
    samdb.add_remove_group_members(groupname, members, add_members_operation=add_members_operation)


if __name__ == '__main__':
    parser = ArgumentParser()
    parser.add_argument('-m', help='add members (comma delimited)')
    parser.add_argument('-x', help='delete members (comma delimted)')
    parser.add_argument('name')

    args = parser.parse_args()
    group_mod(args)
