Molodetz blogrol volgens DPP-template

This commit is contained in:
2026-10-05 09:36:20 +02:00
commit f290a4c766
277 changed files with 15758 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
# retoor <retoor@molodetz.nl>
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)