view docker/libervia/scripts/libervia_cont_launch @ 139:d36a68e396d5

flatpak: set appdata release version for dev version: appdata file can now use a template (which has the same name with "_tpl_" prefix), which is used in dev version to automatically set the release with the right Mercurial revision/date. Comment from org.salutatoi.Cagou.appdata.xml has been moved as first child of <component>, so it is not lost while parsing the file.
author Goffi <goffi@goffi.org>
date Sun, 23 Jun 2019 17:34:10 +0200
parents 5d8b9ca2afd4
children
line wrap: on
line source

#!/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:])