#!/usr/bin/env python import os import sys import django os.environ.setdefault("DJANGO_SETTINGS_MODULE", "sapl.settings") def get_enviroment_admin_password(username): password = os.environ.get("ADMIN_PASSWORD") if not password: print( "[SUPERUSER] Environment variable $ADMIN_PASSWORD" " for user %s was not set. Leaving..." % username ) sys.exit("MISSING_ADMIN_PASSWORD") return password def create_user_interlegis(): from django.contrib.auth.models import User password = get_enviroment_admin_password("interlegis") print("[SUPERUSER INTERLEGIS] Creating interlegis superuser...") user, created = User.objects.get_or_create(username="interlegis") if not created: print( "[SUPERUSER INTERLEGIS] User interlegis already exists." " Updating password." ) user.is_superuser = True user.is_staff = True user.set_password(password) user.save() print("[SUPERUSER INTERLEGIS] Done.") def create_superuser(): from django.contrib.auth.models import User username = "admin" email = os.environ.get("ADMIN_EMAIL", "") if User.objects.filter(username=username).exists(): print( "[SUPERUSER] User %s already exists." " Exiting without change." % username ) sys.exit("ADMIN_USER_EXISTS") else: password = get_enviroment_admin_password(username) print("[SUPERUSER] Creating superuser...") u = User.objects.create_superuser( username=username, password=password, email=email ) u.save() print("[SUPERUSER] Done.") sys.exit(0) if __name__ == "__main__": django.setup() create_user_interlegis() # must come before create_superuser create_superuser()