#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
add_descriptions.py — わかりやすい説明を data/kigo.json に入れる
------------------------------------------------------------------------
- ko_desc[72] … 七十二候それぞれの「やさしい一文」（時候の行の説明）
- overlay[key]["d"] … 分類マスの季語の説明を、やさしい言葉に書き直し

実機OLEDは狭いので、なるべく短く（〜24文字目安）。
"""
import json, os
ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
PATH = os.path.join(ROOT, "data", "kigo.json")

KO_DESC = [
    # 春
    "春の東風がふき、冬の氷がとけはじめる頃。",
    "山里でうぐいすが鳴きはじめる頃。",
    "割れた氷の間から魚がはねる頃。",
    "春の雨で土がしっとりうるおう頃。",
    "春がすみがたなびきはじめる頃。",
    "草や木が芽ぶきはじめる頃。",
    "冬ごもりの虫が土から出てくる頃。",
    "桃の花がさきはじめる頃。",
    "青虫がかえって蝶になる頃。",
    "すずめが巣をつくりはじめる頃。",
    "桜の花がひらきはじめる頃。",
    "遠くで春の雷が鳴りはじめる頃。",
    "つばめが南から渡ってくる頃。",
    "雁が北へ帰っていく頃。",
    "雨あがりに虹が見えはじめる頃。",
    "水辺であしが芽を出す頃。",
    "霜がやみ、稲の苗が育つ頃。",
    "牡丹の花が大きくひらく頃。",
    # 夏
    "田んぼで蛙が鳴きはじめる頃。",
    "みみずが土から出てくる頃。",
    "たけのこが顔を出す頃。",
    "蚕が桑の葉をさかんに食べる頃。",
    "紅花があざやかに咲きそろう頃。",
    "麦がみのり、刈り入れの頃。",
    "かまきりの子が生まれる頃。",
    "草かげから蛍が飛びはじめる頃。",
    "梅の実が黄色くうれる、梅雨の頃。",
    "うつぼぐさが枯れていく頃。",
    "あやめの花が咲く頃。",
    "夏の折り返し、半夏が生える頃。",
    "あたたかく湿った南風がふく頃。",
    "蓮の花がひらきはじめる頃。",
    "若い鷹が飛び方をおぼえる頃。",
    "桐が来年の花のつぼみをつける頃。",
    "土がじっとりして蒸し暑い頃。",
    "夕立など大雨がときどき降る頃。",
    # 秋
    "すずしい風が立ちはじめる頃。",
    "ひぐらしが鳴きはじめる頃。",
    "深い霧が立ちこめる頃。",
    "綿を包むがくがひらく頃。",
    "暑さがやみ、涼しくなりはじめる頃。",
    "稲がみのる頃。",
    "草に白い露がむすぶ頃。",
    "せきれいが鳴きはじめる頃。",
    "つばめが南へ帰っていく頃。",
    "夏の雷が鳴りやむ頃。",
    "虫が土にもぐって戸をふさぐ頃。",
    "田の水をぬき、稲刈りにそなえる頃。",
    "雁が北から渡ってくる頃。",
    "菊の花がひらく頃。",
    "こおろぎが戸口で鳴く頃。",
    "霜がおりはじめる頃。",
    "小雨がときどき降る頃。",
    "もみじやつたが色づく頃。",
    # 冬
    "さざんかが咲きはじめる頃。",
    "大地がこおりはじめる頃。",
    "水仙が香りはじめる頃。",
    "虹が見えなくなる頃。",
    "北風が木の葉を吹きはらう頃。",
    "橘の実が黄色くなる頃。",
    "空がとざされ、冬本番になる頃。",
    "熊が冬ごもりに入る頃。",
    "鮭が群れて川をのぼる頃。",
    "うつぼぐさが芽を出す頃。",
    "大鹿の角が落ちる頃。",
    "雪の下で麦が芽を出す頃。",
    "せりがよく育つ頃。",
    "凍った泉が地中で動きはじめる頃。",
    "雄の雉が鳴きはじめる頃。",
    "ふきのとうが顔を出す頃。",
    "沢の水が厚くこおる頃。",
    "にわとりが卵を産みはじめる頃。",
]

OV_DESC = {
    "1-2":  "春ののどかで、おだやかな海。",
    "3-1":  "春の夜、うっすらかすんで見える月。",
    "6-6":  "冬から春に咲く、赤くつやのある花。",
    "7-5":  "春、水辺で鳴きはじめるかえる。",
    "8-5":  "春の空高くのぼってさえずる小鳥。",
    "10-6": "春を代表する、みんなが待つ花。",
    "11-4": "桜を見ながら楽しむ、春の行事。",
    "18-6": "初夏の、やわらかくみずみずしい葉。",
    "25-5": "夏の夜、おしりを光らせて飛ぶ虫。",
    "26-1": "梅雨のころ、降りつづく長い雨。",
    "29-4": "夏に神社でひらく、にぎやかな祭り。",
    "30-3": "暑さをさけて、すずしさを楽しむこと。",
    "31-1": "夏の夜空をわたる星の川。七夕の頃。",
    "33-5": "真夏にジージーと鳴きしきる虫。",
    "34-1": "夏の夕方、急にザッと降る強い雨。",
    "37-2": "稲をかり取ったあとの秋の田んぼ。",
    "39-5": "秋の空を飛ぶ、赤とんぼ。",
    "40-4": "秋の満月をながめて楽しむこと。",
    "41-1": "秋の、いちばん澄んできれいな満月。",
    "43-1": "秋の空に広がる、いわし雲。",
    "47-5": "秋、相手を求めて鳴く牡鹿。",
    "50-6": "秋に赤や黄色に色づく木の葉。",
    "54-1": "初冬、降ってはやむをくり返す雨。",
    "57-2": "草木がすっかり枯れた冬の野原。",
    "60-1": "冬に降りつもる雪。",
    "61-3": "落ち葉を集めてたく、冬の火。",
    "64-3": "冬、足を入れてあたたまる暖房。",
    "66-4": "一年が終わりに近づく、年の瀬。",
    "68-5": "冬の水辺におり立つ、大きな白い鳥。",
    "70-6": "寒い中、白く清らかに咲く花。",
}

def main():
    db = json.load(open(PATH, encoding="utf-8"))
    assert len(KO_DESC) == 72, f"KO_DESC must be 72, got {len(KO_DESC)}"
    assert set(OV_DESC) == set(db["overlay"]), "overlay keys mismatch"
    db["ko_desc"] = KO_DESC
    for k, d in OV_DESC.items():
        db["overlay"][k]["d"] = d
    json.dump(db, open(PATH, "w", encoding="utf-8"), ensure_ascii=False, indent=2)
    longest = max(len(d) for d in KO_DESC)
    print(f"ko_desc: 72 本（最長 {longest} 文字）／ overlay desc: {len(OV_DESC)} 本 更新")
    print(f"wrote {PATH}")

if __name__ == "__main__":
    main()
