#!/usr/bin/python

import sys
import getopt
import ConfigParser

if __name__ == '__main__':
    shortopts = 'g:s:'
    longopts = ['get=', 'set=']

    try:
        opts, args = getopt.getopt(sys.argv[1:], shortopts, longopts)
        path = args[0]
    except getopt.GetoptError, e:
        print >>sys.stderr, 'conftool: %s' % e
        sys.exit(1)

    cp = ConfigParser.ConfigParser()
    cp.read(path)

    dirty = False
    for opt, arg in opts:
        if opt in ('--get', '-g'):
            section, option = arg.split('/', 1)
            try:
                print cp.get(section, option)
            except (ConfigParser.NoSectionError, ConfigParser.NoOptionError):
                pass
        if opt in ('--set', '-s'):
            section, option = arg.split('/', 1)
            try:
                cp.add_section(section)
            except ConfigParser.DuplicateSectionError:
                pass
            cp.set(section, option, raw_input())
            dirty = True

    if dirty:
        cp.write(file(path, 'w'))
