view docker/libervia/scripts/libervia_cont_launch @ 138:274af514a5cf

flatpak: reworked packages + made a building script: a new `build_manifest.py` script can now be used to generate flatpak manifests for every frontend of SàT. The manifest can be used both for development versions and stable ones. Templates files (in the form `_tmp_<app-id>.json`) are used to set building instructions. A common runtime specific to SàT has been abandoned following a discussion on the official mailing list. A small wrapper is now used to launch backend automatically if it's not found. Desktop and app metadata have been added for Cagou. Jp and Primitivus don't have appdata and desktop files yet.
author Goffi <goffi@goffi.org>
date Sat, 22 Jun 2019 15:59:07 +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:])