def _update_admin_user(Session, settings): """ Reads the init settings at application start up and sets or add the admin user with the set password. The necessary setting keys are "lmkp.admin_password" and "lmkp.admin_email". """ try: pw = settings["lmkp.admin_password"] email = settings["lmkp.admin_email"] except KeyError: raise Exception('"lmkp.admin_password" or "lmkp.admin_email" setting are missing ' "in configuration file.") # Try to get the admin user from the database admin_user = Session.query(User).filter(User.username == "admin").first() if admin_user == None: admin_group = Session.query(Group).filter(Group.name == "administrators").first() admin_user = User(username="******", password=pw, email=email) admin_user.groups.append(admin_group) Session.add(admin_user) else: admin_user.password = pw admin_user.email = email transaction.commit()