Mercurial > sat_docs
view docker_legacy/base/scripts/set_account_domain @ 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 set account domain in sat.conf if not already set # if not set, domain is got from prosody container or DOMAIN environment variable import os, os.path, xmlrpclib, ConfigParser, socket, subprocess from sat.core.constants import Const as C from sat.tools import config as sat_config SECTION = "plugin account" OPTION = "new_account_domain" CONFIG_PATH = "/home/sat/.config/sat/sat.conf" try: os.makedirs(os.path.dirname(CONFIG_PATH)) except OSError: pass config = ConfigParser.SafeConfigParser() config.read(C.CONFIG_FILES) domain = sat_config.getConfig(config, SECTION, OPTION) if domain is None: os.getenv("DOMAIN") if domain is None: proxy = xmlrpclib.ServerProxy("http://prosody:9999/") try: if "prosody" not in open("/etc/hosts").read(): raise socket.gaierror # this avoid waiting for timeout if prosody is not linked domain = proxy.getenv("DOMAIN") except socket.gaierror: print "No prosody container connected or known domain, using \"localhost\" for new domains" domain = "localhost" config = ConfigParser.SafeConfigParser() config.readfp(open(CONFIG_PATH, "a+")) try: config.add_section(SECTION) except ConfigParser.DuplicateSectionError: pass config.set(SECTION, OPTION, domain) config.write(open(CONFIG_PATH, "w")) subprocess.call(["add_host", domain, "prosody"]) for subdomain in ("chat", "proxy", "upload", "pubsub", "salut"): subprocess.call(["add_host", "{}.{}".format(subdomain, domain), "prosody"])