From c4d5f80b839d8969e99087268fe40e8ac723c629 Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 28 Aug 2015 13:53:08 +0200 Subject: Reaktor: add new core, parse args with docopt instead of sys.argv --- index | 7 ------- reaktor/core.py | 30 ++++++++++++++++++++++++++---- setup.py | 3 +-- 3 files changed, 27 insertions(+), 13 deletions(-) delete mode 100755 index diff --git a/index b/index deleted file mode 100755 index fc59cd7..0000000 --- a/index +++ /dev/null @@ -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() + diff --git a/setup.py b/setup.py index ab26428..959d4c7 100644 --- a/setup.py +++ b/setup.py @@ -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", -- cgit v1.2.3