view docker/libervia/scripts/libervia_cont_launch @ 161:4fe61dcd856e

flatpak: update build-manifest to retrieve dependencies without initial download phase: - dependencies are now entirely retrieved from the installation, and requirement are build from there. The source package is currently always used, and it is now possible to use PYTHON_DEP_PREINSTALL to add extra packages or use a specific version of a package. - fixed insertion of `release_elt` for dev version at the right location. - `branch` is not set anymore for stable versions. - libxslt is not added anymore as it is part of freedesktop runtime - flathub share-modules is now used for Python 2
author Goffi <goffi@goffi.org>
date Fri, 23 Aug 2019 16:41:05 +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:])