feat(shadbala): BPHS minimum check first, bands labelled as the site's (T3, BUG-1208)
Astrologer ruling 甲13. New scripts/shadbala_display.py (display only; shadbala.py is frozen and unchanged): chart.shadbala now carries min_required, meets_minimum, minimum_check (达到/未达到 BPHS 最低要求), level_source=site_band and level '<band>(网站分档)'; report Shadbala table gains 'BPHS minimum' and 'Site band' columns (zh/en); evidence snapshot ranking and health narrative say the minimum check first and mark the band as the site's. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
de79390175
commit
5fdf2f7498
@@ -1124,9 +1124,12 @@ def render_pl9_parity_markdown(packet: dict) -> str:
|
||||
f"- Shadbala 方法:{_cell(shadbala.get('method'))}",
|
||||
f"- 外部边界:{_cell(shadbala.get('external_parity_boundary'))}",
|
||||
'',
|
||||
'| Planet | Sthana | Dig | Kala | Chesta | Naisargika | Drik | Total | Required |',
|
||||
'|--------|--------|-----|------|--------|------------|------|-------|----------|',
|
||||
'| Planet | Sthana | Dig | Kala | Chesta | Naisargika | Drik | Total | Required | BPHS minimum | Site band |',
|
||||
'|--------|--------|-----|------|--------|------------|------|-------|----------|--------------|-----------|',
|
||||
])
|
||||
# BUG-1208 (甲13): whether the BPHS minimum is met comes first; the
|
||||
# 150/125/100/75/50 band is the site's own and is labelled so.
|
||||
from shadbala_display import band_text as _band_text, check_text as _check_text, row_fields as _row_fields
|
||||
for planet in ('Sun', 'Moon', 'Mars', 'Mercury', 'Jupiter', 'Venus', 'Saturn'):
|
||||
row = _dict(shadbala_planets.get(planet))
|
||||
if not row:
|
||||
@@ -1137,7 +1140,9 @@ def render_pl9_parity_markdown(packet: dict) -> str:
|
||||
f"| {_cell(_token(planet))} | {_num(_dict(row.get('sthana_bala')).get('total') or row.get('sthana_bala'))} | "
|
||||
f"{_num(_dict(row.get('dig_bala')).get('total') or row.get('dig_bala'))} | {_num(_dict(row.get('kala_bala')).get('total') or row.get('kala_bala'))} | "
|
||||
f"{_num(_dict(row.get('chesta_bala')).get('total') or row.get('chesta_bala'))} | {_num(row.get('naisargika_bala'))} | "
|
||||
f"{_num(_dict(row.get('drik_bala')).get('total') or row.get('drik_bala'))} | {_num(total)} | {_num(required)} |"
|
||||
f"{_num(_dict(row.get('drik_bala')).get('total') or row.get('drik_bala'))} | {_num(total)} | {_num(required)} | "
|
||||
f"{_cell(_check_text(_row_fields(row)['meets_minimum'], _pl9_report_language(packet)))} | "
|
||||
f"{_cell(_band_text(row.get('strength_level'), _pl9_report_language(packet)))} |"
|
||||
)
|
||||
lines.append('')
|
||||
lines.extend([
|
||||
|
||||
Reference in New Issue
Block a user