# retoor import logging from molodetz import config from molodetz.content import seed_placeholder_posts from molodetz.database import count_users, create_user, get_setting, get_user_by_username, set_setting from molodetz.gallery import sync_gallery from molodetz.utils.audit import record_system from molodetz.utils.auth import hash_password logger = logging.getLogger(__name__) ADMIN_BIO = "Begint de rol. Schrijft over het werk, het afmaken en het oordeel." def bootstrap_admin(): if count_users() > 0: return get_user_by_username(config.ADMIN_USERNAME) if not config.ADMIN_PASSWORD: logger.warning("no users and MOLODETZ_ADMIN_PASSWORD unset; skipping admin bootstrap") return None user = create_user(config.ADMIN_USERNAME, config.ADMIN_EMAIL, hash_password(config.ADMIN_PASSWORD), bio=ADMIN_BIO) record_system("admin.bootstrap", payload={"username": user["username"]}, targets=[("user", user["uid"])]) return user def bootstrap_content(): admin = bootstrap_admin() if admin and get_setting("seed_posts_done", "0") != "1": created = seed_placeholder_posts(admin) set_setting("seed_posts_done", "1") record_system("post.seed", payload={"count": len(created)}) synced = sync_gallery() logger.info("gallery synced: %d items", synced)