From 08191f980f96ae7fc943c0a7d2155a9fb643eb0b Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Thu, 29 Aug 2019 23:06:59 +0200 Subject: simple build system --- taler-merchant-survey.in | 119 ----------------------------------------------- 1 file changed, 119 deletions(-) delete mode 100644 taler-merchant-survey.in (limited to 'taler-merchant-survey.in') diff --git a/taler-merchant-survey.in b/taler-merchant-survey.in deleted file mode 100644 index a5d5403..0000000 --- a/taler-merchant-survey.in +++ /dev/null @@ -1,119 +0,0 @@ -#!/usr/bin/env python3 - -## -# This file is part of TALER -# (C) 2017 INRIA -# -# TALER is free software; you can redistribute it and/or -# modify it under the terms of the GNU Affero General Public -# License as published by the Free Software Foundation; either -# version 3, or (at your option) any later version. -# -# TALER is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty -# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with TALER; see the file COPYING. If not, -# see -# -# @author Florian Dold -# @file Standalone script to launch the Survey site. - -import argparse -import sys -import os -import site -import logging -from talersurvey.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)) - - -## @cond -LOGGER = logging.getLogger(__name__) -# No perfect match to our logging format, but good enough ... -UWSGI_LOGFMT = "%(ltime) %(proto) %(method) %(uri) %(proto) => %(status)" -## @endcond - - -## -# This function interprets the 'serve-http' subcommand. -# The effect it to launch the Survey site as a HTTP service. -# -# @param args command line options. -def handle_serve_http(args): - port = args.port - if port is None: - port = TC["survey"]["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/frontend-survey.wsgi") - - -## -# This function interprets the 'serve-uwsgi' subcommand. -# The effect is to launch the Survey UWSGI service. This -# type of service is usually used when the HTTP Survey interface -# is accessed via a reverse proxy (like Nginx, for example). -# -# @param command line options. -def handle_serve_uwsgi(args): - del args # pacify PEP checkers - serve_uwsgi = TC["survey"]["uwsgi_serve"].value_string(required=True).lower() - params = ["uwsgi", "uwsgi", - "--master", - "--die-on-term", - "--log-format", UWSGI_LOGFMT, - "--wsgi-file", "@prefix@/share/taler/frontend-survey.wsgi"] - if serve_uwsgi == "tcp": - port = TC["survey"]["uwsgi_port"].value_int(required=True) - spec = ":%d" % (port,) - params.extend(["--socket", spec]) - elif serve_uwsgi == "unix": - spec = TC["survey"]["uwsgi_unixpath"].value_filename(required=True) - mode = TC["survey"]["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) - - -## @cond -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) -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() -## @endcond - -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 -TC = TalerConfig.from_file(os.environ.get("TALER_CONFIG_FILE")) - -ARGS.func(ARGS) -- cgit v1.2.3