#!/usr/bin/python

import sys
from optparse import OptionParser

import Tartarus
from Tartarus.iface import SysDB, core

from Tartarus.client import initialize
comm, argv = initialize()

def main():
    name, opts = parse_cmdline()
    gm = gM()
    g = gm.getByName(name)
    g.description = opts.description
    gM().modify(g)

def parse_cmdline():
    optp = OptionParser()
    opt = optp.add_option
    opt('-d', '--description', help='New group\'s description.')
    optp.set_defaults()
    opts, argv = optp.parse_args(sys.argv)
    if len(argv) != 2: raise RuntimeError('You should specify group name.')
    if opts.description is None: raise RuntimeError('You should set group description.')
    return argv[1], opts

def gM():
    prx = comm.propertyToProxy('Tartarus.SysDB.GroupManagerPrx')
    return SysDB.GroupManagerPrx.checkedCast(prx)

try:
    main()
except core.Error, e:
    print e.reason
    sys.exit(1)
except SystemExit:
    raise
except:
    _, e, _ = sys.exc_info()
    print e
    sys.exit(1)

