75 lines
2.0 KiB
Python
75 lines
2.0 KiB
Python
import os
|
|
|
|
# Configuration constants for the SWIPER application
|
|
# --------------------------------------------------
|
|
# Centralising these values avoids circular imports
|
|
# and makes it easy to update paths / ports later
|
|
|
|
# Base directory of the repo (this file lives in the project root)
|
|
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
|
|
|
|
# Paths to the folders that contain source images. Add as many as you like.
|
|
IMAGE_DIRS = [
|
|
"/mnt/secret-items/sd-outputs/Sorted/Images/Portrait",
|
|
"/mnt/secret-items/sd-outputs/Sorted/Images/Landscape",
|
|
]
|
|
|
|
# Backwards-compatibility: first directory
|
|
IMAGE_DIR = IMAGE_DIRS[0]
|
|
|
|
from typing import Optional
|
|
|
|
# SQLite database file that stores selections & metadata
|
|
DB_PATH = os.path.join(BASE_DIR, "image_selections.db")
|
|
|
|
# Default port for the HTTP server
|
|
PORT = 8000
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# NSFW detection configuration
|
|
# ---------------------------------------------------------------------------
|
|
# List of keywords that, if present in an image's prompt data, should mark the
|
|
# image as NSFW. Feel free to customise this list as appropriate for your own
|
|
# needs.
|
|
NSFW_KEYWORDS = [
|
|
"nude",
|
|
"nudity",
|
|
"porn",
|
|
"explicit",
|
|
"sexual",
|
|
"sex",
|
|
"boobs",
|
|
"nipples",
|
|
"penis",
|
|
"vagina",
|
|
"pussy",
|
|
"cum",
|
|
"fellatio",
|
|
"blowjob",
|
|
"cunnilingus",
|
|
"paizuri",
|
|
"rape",
|
|
"handjob",
|
|
"lingerie",
|
|
"bikini",
|
|
"latex",
|
|
"saliva",
|
|
"ass",
|
|
"condom",
|
|
]
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Utility helpers
|
|
# ---------------------------------------------------------------------------
|
|
|
|
def find_image_file(rel_path: str) -> Optional[str]:
|
|
"""Return absolute path to `rel_path` by searching all IMAGE_DIRS.
|
|
|
|
Returns None if file is not found in any configured directory.
|
|
"""
|
|
for base in IMAGE_DIRS:
|
|
abs_path = os.path.join(base, rel_path)
|
|
if os.path.exists(abs_path):
|
|
return abs_path
|
|
return None
|