# opzet/utils/opts.py
#
#
""" utils package. """
__copyright__ = "Copyright 2015, B.H.J Thate"
## IMPORT
from opzet.defines import homedir
from opzet import __version__
import optparse
import os
## DEFINES
optsdef = [
('', '--debug', 'store_true', False, 'debug', "enable debug mode."),
('', '--path', 'store_true', False, 'path', "show syspath"),
('-b', '--background', 'store_true', False, 'background', "switch to background mode."),
('-c', '--colors', 'store_true', False, 'colors', "turn off color mode"),
('-d', '--workdir', 'string', os.path.expanduser("~/.opzet"), 'workdir', "working directory."),
('-e', '--onerror', 'store_true', False, 'onerror', "raise on error"),
('-i', '--inits', 'string', "", 'inits', "whether to initialize plugins."),
('-l', '--loglevel', 'string', "error", 'loglevel', "loglevel."),
('-m', '--modules', 'string', "", 'modules', "list of modules to use."),
('-o', '--openfire', 'store_true', False, 'openfire', 'use openfire to connect to XMPP.'),
('-p', '--port', 'string', "", 'port', "port to run HTTP server on."),
('-s', '--shell', 'store_true', False, 'shell', "enable shell mode."),
('-v', '--verbose', 'store_true', False, 'verbose', 'use verbose mode.')
]
optssed = [
('-d', '--dir', 'string', "", 'directory', "directory to work with."),
('-l', '--loglevel', 'string', "", 'loglevel', "loglevel"),
]
optsudp = [
('-p', '--port', 'string', "", 'port', "port to run API server on"),
('-l', '--loglevel', 'string', "", 'loglevel', "loglevel"),
]
optsdoctest = [
('-e', '--onerror', 'store_true', False, 'onerror', "raise on error"),
('-v', '--verbose', 'store_true', False, 'verbose', "use verbose"),
('-l', '--loglevel', 'string', "", 'loglevel', "loglevel"),
]
## OPTIONS
[docs]def makeopts(options):
parser = optparse.OptionParser(usage='usage: %prog [options]', version=str(__version__))
for option in options:
type, default, dest, help = option[2:]
if "store" in type:
try: parser.add_option(option[0], option[1], action=type, default=default, dest=dest, help=help)
except Exception as ex: logging.error("^ fout: %s - optie: %s" % (str(ex), option)) ; continue
else:
try: parser.add_option(option[0], option[1], type=type, default=default, dest=dest, help=help)
except Exception as ex: logging.error("^ fout: %s - optie: %s" % (str(ex), option)) ; continue
args = parser.parse_args()
return args