This commit is contained in:
mike
2025-12-18 15:28:30 +01:00
parent 10199eaab5
commit 008888e08c
5 changed files with 293 additions and 9 deletions

View File

@@ -8,9 +8,15 @@ import urllib.request
import xml.etree.ElementTree as ET
import json, re
WORD_RE = re.compile(r"^[A-Z]{3,12}$")
# --- USER-FRIENDLY CONFIG ---
# Max 7 letters for shorter, more common words
WORD_RE = re.compile(r"^[A-Z]{3,7}$")
EMPTY = " "
SIZE = 11
# Slightly smaller grid for denser puzzles
SIZE = 10
# More words needed since they're shorter
TARGET_WORDS = 15
MIN_ACCEPT_WORDS = 10
FEEDS = [
"https://feeds.nos.nl/nosnieuwsalgemeen",
@@ -91,7 +97,7 @@ def sanitize_wordcluemap(obj):
Accepts:
- dict: {"WORD":"clue", ...}
- list: [{"word":"...","clue":"..."}, {"WOORD":"...","clue":"..."}, ...]
Returns dict with keys A-Z 3..12 and non-empty clue.
Returns dict with keys A-Z 3..7 and non-empty clue.
"""
out = {}
@@ -289,9 +295,10 @@ Formaat exact:
...
}}
Regels:
- WOORD: alleen letters A-Z, geen streepjes, geen cijfers, lengte 3..9.
- waarde: clue in het Nederlands, kort.
REGELS:
- WOORD: alleen letters A-Z, geen streepjes/cijfers, lengte 3..7.
- Gebruik KORTE, GEBRUIKELIJKE Nederlandse woorden (geen jargon, geen moeilijke termen).
- Clue: korte, duidelijke hint in het Nederlands.
- Maak {n_words} items.
Thema: {title}
Context: {desc[:260]}
@@ -315,7 +322,10 @@ Context: {desc[:260]}
if len(wc) < max(6, n_words - 4):
repair = f"""
Zet dit om naar een STRICT JSON OBJECT (geen array) "WOORD":"clue".
WOORD: A-Z only, 3..9, geen streepjes/cijfers. Vervang ongeldige woorden door passende synoniemen.
KRITIEK:
- WOORD: A-Z only, lengte 3..7. GEEN lange woorden!
- Gebruik ALLEEN korte, bekende Nederlandse woorden bij twijfel.
- Vervang ongeldige/moeilijke woorden door veelvoorkomende synoniemen.
Input:
{content}
""".strip()
@@ -384,4 +394,4 @@ def main():
if __name__ == "__main__":
main()
main()