fix(dignity): record Neecha Bhanga kendras and clip the first dasha from its full parent (BUG-1268, upstream 4a807e7d)

This commit is contained in:
jesse-ux
2026-10-07 17:40:58 +08:00
parent f02d27a73f
commit edeec41309
4 changed files with 202 additions and 36 deletions
+9 -8
View File
@@ -1197,11 +1197,11 @@ def render_pl9_parity_markdown(packet: dict) -> str:
)
lines.append('')
bhava_bala = _dict(strengths.get('bhava_bala'))
bhava_rows = _list(bhava_bala.get('houses')) or [
{'house': key, **value}
for key, value in bhava_bala.items()
if str(key).isdigit() and isinstance(value, dict)
]
try:
from special_lagnas import bhava_house_rows
except ImportError:
from scripts.special_lagnas import bhava_house_rows
bhava_rows = bhava_house_rows(bhava_bala)
if bhava_rows:
# BUG-1210 (甲13): the formal three components (scripts/bhava_bala.py);
# the local +2 / -1.5 house score is never shown.
@@ -1211,7 +1211,7 @@ def render_pl9_parity_markdown(packet: dict) -> str:
'| House | Sign | Lord | Bhavadhipati | Dig | Drishti | Total (Virupa) | Total (Rupa) |',
'|-------|------|------|--------------|-----|---------|----------------|--------------|',
])
for row in bhava_rows[:12]:
for row in bhava_rows:
if not isinstance(row, dict) or row.get('total') is None:
continue
lines.append(
@@ -1292,8 +1292,8 @@ def render_pl9_parity_markdown(packet: dict) -> str:
lines.extend(['### Jaimini Karaka、Arudha Pada 与特殊 Lagna', ''])
if karaka_table:
lines.extend([
'| Karaka | Planet | Degree | Domain |',
'|--------|--------|--------|--------|',
'| Karaka | Planet | Degree | Ranking degree | Domain |',
'|--------|--------|--------|----------------|--------|',
])
for name, row in karaka_table.items():
if not isinstance(row, dict):
@@ -1301,6 +1301,7 @@ def render_pl9_parity_markdown(packet: dict) -> str:
lines.append(
f"| {_cell(row.get('cn_name') or name)} | {_cell(_token(row.get('planet')))} | "
f"{_cell(_degree(row.get('degree_in_sign') or row.get('sign_degree')))} | "
f"{_cell(_degree(row.get('effective_degree_in_sign', row.get('degree_in_sign'))))} | "
f"{_cell(row.get('domain'))} |"
)
lines.append('')