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:])