summaryrefslogtreecommitdiff
path: root/taler-merchant-backoffice.in
diff options
context:
space:
mode:
Diffstat (limited to 'taler-merchant-backoffice.in')
-rw-r--r--taler-merchant-backoffice.in93
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)