diff options
Diffstat (limited to 'taler-merchant-backoffice.in')
-rw-r--r-- | taler-merchant-backoffice.in | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/taler-merchant-backoffice.in b/taler-merchant-backoffice.in deleted file mode 100644 index eed11f3..0000000 --- a/taler-merchant-backoffice.in +++ /dev/null @@ -1,93 +0,0 @@ -#!/usr/bin/env python3 - -""" -Stand-alone script to manage the GNU Taler backoffice. -""" - -import logging -import argparse -import sys -import os -import site -from talerbackoffice.talerconfig import TalerConfig - - -os.environ.setdefault("TALER_PREFIX", "@prefix@") -site.addsitedir("%s/lib/python%d.%d/site-packages" % ( - "@prefix@", - sys.version_info.major, - sys.version_info.minor)) - -LOGGER = logging.getLogger(__name__) - -# No perfect match to our logging format, but good enough ... -UWSGI_LOGFMT = "%(ltime) %(proto) %(method) %(uri) %(proto) => %(status)" - -def handle_serve_http(args): - TC = TalerConfig.from_file(os.environ.get("TALER_CONFIG_FILE")) - port = args.port - if port is None: - port = TC["backoffice-%s" % args.frontend]["http_port"].value_int(required=True) - spec = ":%d" % (port) - os.execlp("uwsgi", "uwsgi", - "--master", - "--die-on-term", - "--log-format", UWSGI_LOGFMT, - "--http", spec, - "--wsgi-file", "@prefix@/share/taler/backoffice.wsgi", - "--env", "BACKOFFICE_BACKEND=%s" % TC["backoffice-%s" % args.frontend]["backend"].value_string(required=True), - "--env", "BACKOFFICE_INSTANCES=%s" % TC["backoffice-%s" % args.frontend]["instances"].value_string(required=True)) - -def handle_serve_uwsgi(args): - TC = TalerConfig.from_file(os.environ.get("TALER_CONFIG_FILE")) - serve_uwsgi = TC["backoffice-%s" % args.frontend]["uwsgi_serve"].value_string(required=True).lower() - params = ["uwsgi", "uwsgi", - "--master", - "--die-on-term", - "--log-format", UWSGI_LOGFMT, - "--wsgi-file", "@prefix@/share/taler/backoffice.wsgi", - "--env", "BACKOFFICE_BACKEND=%s" % TC["backoffice-%s" % args.frontend]["backend"].value_string(required=True), - "--env", "BACKOFFICE_INSTANCES=%s" % TC["backoffice-%s" % args.frontend]["instances"].value_string(required=True)] - if serve_uwsgi == "tcp": - port = TC["backoffice-%s" % args.frontend]["uwsgi_port"].value_int(required=True) - spec = ":%d" % (port,) - params.extend(["--socket", spec]) - elif serve_uwsgi == "unix": - spec = TC["backoffice-%s" % args.frontend]["uwsgi_unixpath"].value_filename(required=True) - mode = TC["backoffice-%s" % args.frontend]["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) - - -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('--frontend', '-f', - help="fetch config values from [backoffice-<FRONTEND>] section", - metavar="FRONTEND", type=str, - dest="frontend", required=True) -SUB = PARSER.add_subparsers() - -P = SUB.add_parser('serve-http', help="Serve 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 over UWSGI") -P.set_defaults(func=handle_serve_uwsgi) - -ARGS = PARSER.parse_args() -if getattr(ARGS, 'func', None) is None: - PARSER.print_help() - sys.exit(1) - -if ARGS.config is not None: - os.environ["TALER_CONFIG_FILE"] = ARGS.config - -ARGS.func(ARGS) |