view docker_legacy/prosody/scripts/container_server @ 171:a213053a03be

flatpak: update files following names change + Python 3 update: - `build_manifest.py` has been fixed to work with recent SàT/Libervia - filenames/scripts have been udpated to reflect project name change - installation now uses `requirements.txt` when dev version is requested - there are now 3 types of commands wrapper: * `libervia_wrapper.py` uses `pb` bridge, starts backend before frontend, and stops it when frontend is stopped. It's used by `Libervia Desktop` (Cagou) * `libervia_wrapper-dbus.py` uses `dbus` bridge, starts backend before frontend, and stops it when frontend is stopped. It's used for `Libervia TUI` (Primitivus) * `libervia_wrapper-dbus.py` uses `dbus` bridge, starts backend if necessary and doesn't stop it (to avoid waiting for backend start next time). It's used by `Libervia CLI` (jp).
author Goffi <goffi@goffi.org>
date Tue, 30 Nov 2021 21:42:06 +0100
parents 29873a41aae1
children
line wrap: on
line source

#!/usr/bin/env python2
# this script allow to call prosodyctl and get configuration variables from linked containers
import subprocess, SimpleXMLRPCServer, os

def prosodyctl(command, profile, pwd):
    process = subprocess.Popen(["/usr/bin/prosodyctl", command, profile], stdin=subprocess.PIPE)
    if pwd:
        process.communicate("%s\n%s" % (pwd,pwd))
    return process.wait()

def getenv(variable):
    assert variable in ("SAT_PUBSUB_SECRET", "SAT_SALUT_SECRET", "DOMAIN")
    return os.getenv(variable)

server = SimpleXMLRPCServer.SimpleXMLRPCServer(("0.0.0.0", 9999))
server.register_function(prosodyctl, "prosodyctl")
server.register_function(getenv, "getenv")
server.serve_forever()