Mercurial > sat_docs
diff docker_legacy/libervia/scripts/libervia_cont_launch @ 164:29873a41aae1
docker: new docker files are now in sat main repos, this one is legacy
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 01 Jan 2021 18:33:52 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docker_legacy/libervia/scripts/libervia_cont_launch Fri Jan 01 18:33:52 2021 +0100 @@ -0,0 +1,33 @@ +#!/usr/bin/env python2 + +# this script check if libervia and admin accounts exist, and create them if necessary +# then it launch libervia +import os, sys, string, random +from sat.plugins import plugin_misc_account as account +from sat.tools import config +from sat_frontends.bridge import DBus + +def generate_pwd(): + chars = string.letters + string.digits + length = 12 + return "".join(random.choice(chars) for _ in range(length)) + +sat=DBus.DBusBridgeFrontend() +sat.getReady() +admin_email = sat.getConfig(account.CONFIG_SECTION, "admin_email") or account.default_conf["admin_email"] + +for profile in ["libervia", "admin"]: + try: + sat.getProfileName(profile) + except Exception as e: + print "{} profile doesn't exists, creating it".format(profile) + print "registering {}@{}".format(profile, sat.getNewAccountDomain()) + pwd = generate_pwd() + if profile == "libervia": + config.fixConfigOption("libervia", "passphrase", pwd) + elif profile == "admin": + with open("/home/sat/ADMIN_PWD", "w") as f: + f.write("%s\n" % pwd) + sat.registerSatAccount(admin_email, pwd, profile) + +os.execvp("libervia", ["libervia"] + sys.argv[1:])