#!/usr/bin/python

# vim: set ts=4 sw=4 et:

#
# Copyright (C) 2005 Vincent Untz <vuntz@gnome.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#

import sys

# Shamelessly stolen from /gnome-python/examples/bug-buddy-integration.py
# Original credit to Fernando Herrera
def bug_catcher(exctype, value, tb):
    import traceback
    import tempfile
    import os
    if exctype is not KeyboardInterrupt:
        msg = "".join(traceback.format_exception(exctype, value, tb))
        print >> sys.stderr, msg
        fd, name = tempfile.mkstemp()
        try:
            os.write(fd,msg)
            os.system("bug-buddy --include=\"%s\" --appname=\"%s\"" % (name, sys.argv[0]))
        finally:
            os.unlink(name)
    raise SystemExit


sys.excepthook = bug_catcher
# End bug-buddy integration theft.

if not "/usr/lib/python2.5/site-packages" in sys.path:
    sys.path.insert (0, "/usr/lib/python2.5/site-packages")


import Pessulus.main

from gobject.option import OptionGroup, OptionParser, make_option, OptionError

parser = OptionParser("", 
    description="Lockdown editor for gnome.",
    option_list = [
	make_option("--gconf-user", "-u",
		    type="string",
		    action="store",
		    dest="gconfuser",
		    help="Defines the user to write the gconf as"),

        make_option("--gconf-path", "-p", 
                    type="string", 
                    action="store", 
                    dest="gconfpath",
                    help="Defines an alternative gconf path"),

	make_option("--gconf-mandatory-path", "-m", 
		    type="string",
                    action="store", 
                    dest="gconfmandatory",
                    help="Defines an alternative mandatory gconf path"),

        make_option("--disable-mandatory", "-d", 
                    action="store_true", 
                    dest="disablemand", 
                    help="An example option."),


        # ...
    ])

parser.parse_args()

Pessulus.main.main(parser.values)
