diff options
author | Marcello Stanisci <marcello.stanisci@inria.fr> | 2016-11-04 11:35:32 +0100 |
---|---|---|
committer | Marcello Stanisci <marcello.stanisci@inria.fr> | 2016-11-04 11:35:32 +0100 |
commit | e7098c06cdb4f99c4ad0adaae1ed8fc8baf143c4 (patch) | |
tree | cfe35b17fb5c51871711ec0bf485026bf874df8b | |
parent | d5a5cb081f9a8c86a81345a253d005b700aae1da (diff) | |
download | bank-e7098c06cdb4f99c4ad0adaae1ed8fc8baf143c4.tar.gz bank-e7098c06cdb4f99c4ad0adaae1ed8fc8baf143c4.tar.bz2 bank-e7098c06cdb4f99c4ad0adaae1ed8fc8baf143c4.zip |
defining --admin option
-rw-r--r-- | taler-bank-manage.in | 41 |
1 files changed, 30 insertions, 11 deletions
diff --git a/taler-bank-manage.in b/taler-bank-manage.in index cbd89ef..3fa7f39 100644 --- a/taler-bank-manage.in +++ b/taler-bank-manage.in @@ -40,11 +40,20 @@ def handle_serve_http(args): call_command('provide_accounts') call_command('check') tc = TalerConfig.from_file(os.environ.get("TALER_CONFIG_FILE")) - os.execlp("uwsgi", "uwsgi", - "--master", - "--die-on-term", - "--log-format", uwsgi_logfmt, - "--emperor", "@prefix@/share/taler-bank/vassals-http") + port = args.port + if port is None: + port = tc[token]["http_port"].value_int(required=True) + + httpspec = ":%d" % (port,) + params = ["uwsgi", "uwsgi", + "--master", + "--die-on-term", + "--http", httpspec, + "--log-format", uwsgi_logfmt] + params.extend(["--wsgi-file", "@prefix@/share/taler-bank/%s.wsgi" % token]) + os.execlp(*params) + + # FIXME Emperor to be called def handle_serve_uwsgi(args): @@ -57,14 +66,19 @@ def handle_serve_uwsgi(args): tc = TalerConfig.from_file(os.environ.get("TALER_CONFIG_FILE")) serve_uwsgi = tc["bank"]["uwsgi_serve"].value_string(required=True).lower() params = ["uwsgi", "uwsgi", - "--master", - "--die-on-term", - "--log-format", uwsgi_logfmt] + "--master", + "--die-on-term", + "--log-format", uwsgi_logfmt] if "tcp" == serve_uwsgi: - params.extend(["--emperor", "@prefix@/share/taler-bank/vassals-http"]) + port = tc[token]["uwsgi_port"].value_int(required=True) + spec = ":%d" % (port,) + params.extend(["--socket", spec]) else: - params.extend(["--emperor", "@prefix@/share/taler-bank/vassals-unix"]) - + spec = tc[token]["uwsgi_unixpath"].value_filename(required=True) + mode = tc[token]["uwsgi_unixpath_mode"].value_filename(required=True) + params.extend(["--socket", spec]) + params.extend(["--chmod-socket="+mode]) + os.makedirs(os.path.dirname(spec), exist_ok=True) logging.info("launching uwsgi with argv %s", params[1:]) os.execlp(*params) @@ -84,6 +98,7 @@ parser = argparse.ArgumentParser() parser.set_defaults(func=None) parser.add_argument('--config', '-c', help="configuration file to use", metavar="CONFIG", type=str, dest="config", default=None) parser.add_argument('--with-db', help="use ALTERNATE_DB", type=str, metavar="ALTERNATE_DB", dest="altdb") +parser.add_argument("--admin", "-a", dest="admin", action="store_true", help="Only run the \"admin\" interface") sub = parser.add_subparsers() p = sub.add_parser('django', help="Run django-admin command") @@ -94,6 +109,7 @@ p = sub.add_parser('sampledata', help="Put sample data into the db") p.set_defaults(func=handle_sampledata) p = sub.add_parser('serve-http', help="Serve bank over HTTP") +p.add_argument("--port", "-p", dest="port", type=int, default=None, metavar="PORT") p.set_defaults(func=handle_serve_http) p = sub.add_parser('serve-uwsgi', help="Serve bank over UWSGI") @@ -105,6 +121,9 @@ p.set_defaults(func=handle_config) args = parser.parse_args() +token = "bank%s" % ("-admin" if args.admin else "") +logger.info("Setting token to %s" % token) + if args.altdb: os.environ.setdefault("ALTDB", args.altdb) |