diff options
author | makefu <github@syntax-fehler.de> | 2015-08-28 13:53:08 +0200 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2015-08-28 13:53:08 +0200 |
commit | c4d5f80b839d8969e99087268fe40e8ac723c629 (patch) | |
tree | 9e34d04d87b62955c0f3c6478ff5b04d0175c4b5 | |
parent | 5cde47e9c5ef649482b414009a601a8e23ae29b3 (diff) |
Reaktor: add new core, parse args with docopt instead of sys.argv
-rwxr-xr-x | index | 7 | ||||
-rwxr-xr-x | reaktor/core.py | 30 | ||||
-rw-r--r-- | setup.py | 3 |
3 files changed, 27 insertions, 13 deletions
@@ -1,7 +0,0 @@ -#! /bin/sh -set -euf - -# cd //Reaktor -cd $(dirname $(readlink -f $0)) - -exec IRC/index "$@" diff --git a/reaktor/core.py b/reaktor/core.py index 327d120..e6250df 100755 --- a/reaktor/core.py +++ b/reaktor/core.py @@ -1,16 +1,30 @@ #!/usr/bin/env python3 +""" usage: + reaktor (get-config|run) [CONFIG] + + `get-config` writes the reaktor configuration to stdout + if CONFIG is not given it will write the + reaktor default config. + + use this for creating your own config + + +""" import os from reaktor.ircasy import asybot from asyncore import loop +import reaktor from reaktor.translate_colors import translate_colors import shlex from re import split, search, match +from os.path import dirname -default_config = './config.py' +default_config = dirname(reaktor.__file__)+'/config.py' from reaktor.getconf import make_getconf import logging,logging.handlers log = logging.getLogger('Reaktor') + #hdlr = logging.handlers.SysLogHandler(address='/dev/log', facility=logging.handlers.SysLogHandler.LOG_DAEMON) #formatter = logging.Formatter( '%(filename)s: %(levelname)s: %(message)s') #hdlr.setFormatter(formatter) @@ -141,13 +155,21 @@ class Reaktor(asybot): def main(): import sys - conf = sys.argv[1] if len(sys.argv) == 2 else default_config + from docopt import docopt + from docopt import docopt + args = docopt(__doc__) + conf = args['CONFIG'] if args['CONFIG'] else default_config getconf = make_getconf(conf) logging.basicConfig(level = logging.DEBUG if getconf('debug') else logging.INFO) log.debug("Debug enabled") - Reaktor(conf,getconf) - loop() + + if args['run']: + Reaktor(conf,getconf) + loop() + elif args['get-config']: + print(open(conf).read()) if __name__ == "__main__": main() + @@ -13,7 +13,7 @@ setup( author='krebs', author_email='spam@krebsco.de', - + install_requires = [ 'docopt' ], packages=['reaktor'], # optional non-python Deps: # whatweb in path for 'whatweb' @@ -27,7 +27,6 @@ setup( ] }, - install_requires= [ ], classifiers=[ "Intended Audience :: Developers", "Natural Language :: English", |