#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Session 39 — Diwan Vol 3 Batch Write #7 Pages 102-131 (printed 104-133, PDF 876-905) Content: CVC nouns (animals, colors, geography, materials), section transitions Run: python3 Code_files/diwan_s39_batch_07.py """ import sys, os sys.path.insert(0, os.path.join(os.path.dirname(__file__))) from uslap_handler import write_entry KITAB = "kitab dhawat al-thalatha" VOL = 3 def w(headword, gloss, page, section, wc="NOUN", nazm=False, proverb=False): data = { "headword": headword, "aa_gloss": gloss, "ms_page": page, "diwan_section": section, "word_class": wc, "kitab": KITAB, "volume": VOL, } if nazm: data["has_nazm"] = 1 if proverb: data["has_proverb"] = 1 try: r = write_entry(data, "WORD_DIWAN") status = "OK" if r.get("success") else f"FAIL: {r.get('message', '')[:100]}" print(f" {status}: {headword[:60]}") return r.get("success", False) except Exception as e: print(f" ERR: {headword[:40]} — {e}") return False ok = fail = 0 def track(result): global ok, fail if result: ok += 1 else: fail += 1 # ─── p.102: bustard, sheep, valley, deceit ─────────────────────────── track(w("quyi (1)", "al-hubaaraa — bustard bird. lugha fi al-dhaal fi qawl jikil: tuydh. ala madhhab man yaqlib al-dhaal yaa", 102, "bab al-matwi / (y)")) track(w("quyi (2)", "al-ghanam — sheep/livestock", 102, "bab al-matwi / (y)")) track(w("quyi (3)", "qarar al-waadi — bottom of the valley", 102, "bab al-matwi / (y)")) track(w("yab yub", "al-makr wa-al-khadii'a — deceit/cunning. la yufrad: yuwb. lakin yazdawwij. al-ghuzziyya: al ani yu bladi = haddaahu", 102, "bab al-matwi / (b)")) # ─── p.103: brocade, spinning, face ────────────────────────────────── track(w("yishil biyr alik bir jiin", "dibaaj al-aghlab fihi al-khudra wa-hiya asl — brocade where green is primary color. wa-al-baaqi min al-alwaan fara", 103, "bab al-matwi / (z)")) track(w("biyz", "al-ghazl wa-al-binaa — spinning and building/construction", 103, "bab al-matwi / (z)")) track(w("yuz", "al-wajh — the face", 103, "bab al-matwi / (z)")) # ─── p.104: bridle, particle, raw meat ─────────────────────────────── track(w("biyt", "faas al-lijaam — bridle bit (mouth iron)", 104, "bab al-matwi / (t)")) track(w("bik (1)", "harf wa-maanaahu khayr — particle meaning: good/better. bu at anda yik = hadha al-faras khayr minhu", 104, "bab al-matwi / (k)")) track(w("bik at", "al-lahm al-nay — raw meat. wa-kadhalik kull shay nay yuqaal lahu: bik", 104, "bab al-matwi / (k)")) # ─── p.105: NEW SECTION — voweled waw patterns ────────────────────── track(w("GRAMMAR: bab fa'l muharrak al-faa wa-al-ayn min dhawat al-waw", "New section: fa'l with voweled fa and ayn from waw-words. CVC patterns with both consonants voweled", 105, "bab fa'l muharrak — introduction", "GRAMMAR")) track(w("tab", "al-nadab fi al-julud min athar al-jurh aw al-darb — scar on skin from wound or beating", 105, "bab fa'l muharrak / (b)")) # ─── p.106: bridle, good, raw ──────────────────────────────────────── track(w("qab (1)", "al-faras alladhi yakuun al-walad muallaqan fihi fi al-batn — horse born with colt attached. yusamma: qaaligh aghl", 106, "bab fa'l muharrak / (b)")) track(w("qab (2)", "al-qurb ala tariiq al-isti'aara — closeness metaphorically. ka-annahuma waladaa min zarf waahid", 106, "bab fa'l muharrak / (b)")) # ─── p.108: bald, spotted, hornless ────────────────────────────────── track(w("taz (1)", "al-aqra — the bald", 108, "bab fa'l muharrak / (z)")) track(w("taz at", "al-faras al-abras — the spotted/piebald horse", 108, "bab fa'l muharrak / (z)")) track(w("taz quyi", "al-ghanam al-ajam — hornless sheep", 108, "bab fa'l muharrak / (z)")) track(w("taz biyr", "al-ard al-saiiha — the flat/slightly sloping land", 108, "bab fa'l muharrak / (z)")) # ─── p.111: KHOTAN GEOGRAPHY ───────────────────────────────────────── track(w("qash akuz", "waadiyaan yasiilaan min jaanibay balda khutan — two valleys flowing from both sides of Khotan. ahaduhuma: aznak qash akuz (white, with white polished stones). wa-al-aakhar: qara qash akuz (black). fa-susmiya al-waadi bi-al-hijaara", 111, "bab fa'l muharrak / (q)")) # ─── p.115: fresh branch, stature ──────────────────────────────────── track(w("tal", "al-qadib al-ratb — fresh green branch/rod. wa-li-al-insaan al-mushtatab al-qaama — person of upright stature. aktharu istimal dhalik", 115, "bab fa'l muharrak / (l)")) # ─── p.120: COLOR SYSTEM ───────────────────────────────────────────── track(w("GRAMMAR: wa-bima jaa ala asl fa'l min al-waw — waw-pattern colors", "Section: colors and compound nouns on fa'l pattern from waw. Lists color vocabulary", 120, "bab fa'l min al-waw — introduction", "GRAMMAR")) track(w("qizl juwt", "al-sakhanjiir — crimson/deep red", 120, "bab fa'l min al-waw / colors")) track(w("al juwt", "al-asrii — the bright/quick", 120, "bab fa'l min al-waw / colors")) track(w("kulk juwt", "al-laazuurd — lapis lazuli blue", 120, "bab fa'l min al-waw / colors")) track(w("ishil juwt", "al-ushaar — greenish", 120, "bab fa'l min al-waw / colors")) track(w("sarigh juwt", "al-wardiyy — rose/pink", 120, "bab fa'l min al-waw / colors")) # ─── p.125: people, stingy, salt ───────────────────────────────────── track(w("biyn", "al-qawm — the people. fi lugha min jaml al-daal yaa", 125, "bab fa'l min al-waw / (n)")) track(w("tiyn az", "al-rajul al-daniin al-mutaqabbid — the stingy/tight man", 125, "bab fa'l min al-waw / (n)")) track(w("tiyn", "al-milh min ummat al-kufr — salt among disbelievers. fihum ka-al-maa wa-al-fida fina. abda lakuwni inda al-sawm wa-qiraa al-kutub", 125, "bab fa'l min al-waw / (n)")) # ─── p.130: proverb about rivalry, valley name ────────────────────── track(w("GRAMMAR: proverb — rivalry and superiority", "mathal: al-sikaalaab al-qulb fi al-aduw. yudrab fi ma la-bin ahaduhuma yubghidu al-aakhar li-ziyaadat fadl fihi", 130, "bab fa'l min al-waw — proverb", "GRAMMAR", proverb=True)) track(w("kikan", "ism waadiyayn faydasaan min qiyaas — name of two flooding valleys", 130, "bab fa'l min al-waw / (k)")) # ═══════════════════════════════════════════════════════════════════════ print(f"\n{'='*60}") print(f" BATCH 07 COMPLETE: {ok} OK, {fail} FAIL (total {ok+fail})") print(f"{'='*60}")