Darkweb007's picture
Initial commit: CPU-only multimodal AI content generator
d0ffa36 verified
Raw
History Blame Contribute Delete
916 Bytes
"""Shared helpers: logging setup and filesystem utilities."""
import logging
import re
import time
import uuid
from pathlib import Path
def get_logger(name: str = "multimodal_ai_generator") -> logging.Logger:
logger = logging.getLogger(name)
if not logger.handlers:
handler = logging.StreamHandler()
handler.setFormatter(logging.Formatter("%(asctime)s [%(levelname)s] %(name)s: %(message)s"))
logger.addHandler(handler)
logger.setLevel(logging.INFO)
return logger
def slugify(text: str, max_len: int = 40) -> str:
slug = re.sub(r"[^a-zA-Z0-9]+", "-", text.strip().lower()).strip("-")
return slug[:max_len] or "untitled"
def make_run_dir(output_dir: str, prompt: str) -> Path:
run_id = f"{int(time.time())}-{slugify(prompt)}-{uuid.uuid4().hex[:6]}"
run_dir = Path(output_dir) / run_id
run_dir.mkdir(parents=True, exist_ok=True)
return run_dir