fix(solar-return): thread the birth second into the return instant (BUG-1267, upstream e4a6ac01)
This commit is contained in:
@@ -43,6 +43,7 @@ def cmd_solar_return(args: Any) -> Dict[str, Any]:
|
||||
args.lat, args.lon, args.tz,
|
||||
args.target_year,
|
||||
ayanamsa_name=getattr(args, 'ayanamsa', None) or DEFAULT_AYANAMSA_NAME,
|
||||
birth_second=int(getattr(args, 'second', 0) or 0),
|
||||
**solar_return_location_kwargs(args),
|
||||
)
|
||||
|
||||
|
||||
@@ -8240,7 +8240,7 @@ class JyotishAPIHandler(BaseHTTPRequestHandler, VedastroEvidenceMixin, SynastryM
|
||||
lon,
|
||||
tz,
|
||||
target_year,
|
||||
ayanamsa_name=_request_ayanamsa(body),
|
||||
ayanamsa_name=_request_ayanamsa(body), birth_second=birth_dt.second,
|
||||
)
|
||||
return {'success': True, 'endpoint': 'annual', 'report': report}
|
||||
|
||||
|
||||
@@ -14671,7 +14671,8 @@ def _tajika_annual_core(args, planet_lons, asc_si, age, mode='all'):
|
||||
sr_cache['sr'] = calc_solar_return_chart(
|
||||
int(args.year), int(args.month), int(args.day), int(args.hour), int(args.minute),
|
||||
float(args.lat), float(args.lon), float(args.tz), int(args.year) + int(age),
|
||||
ayanamsa_name=sr_cache['ayanamsa'], **solar_return_location_kwargs(args),
|
||||
ayanamsa_name=sr_cache['ayanamsa'], birth_second=_arg_second(args),
|
||||
**solar_return_location_kwargs(args),
|
||||
)
|
||||
return sr_cache['sr']
|
||||
|
||||
@@ -16144,6 +16145,7 @@ def cmd_full_reading(args):
|
||||
args.lat, args.lon, args.tz,
|
||||
args.target_year,
|
||||
ayanamsa_name=_current_ayanamsa_name(args),
|
||||
birth_second=_arg_second(args),
|
||||
**_solar_return_location_kwargs(args),
|
||||
)
|
||||
report['modules']['solar_return'] = sr_result
|
||||
|
||||
@@ -314,6 +314,7 @@ def calc_solar_return_chart(
|
||||
return_lat: float | None = None,
|
||||
return_lon: float | None = None,
|
||||
return_tz: float | None = None,
|
||||
birth_second: int = 0,
|
||||
) -> Dict:
|
||||
"""
|
||||
计算太阳返照盘(Varshaphala)。
|
||||
@@ -358,7 +359,7 @@ def calc_solar_return_chart(
|
||||
'hint': '安装swisseph: pip install swisseph',
|
||||
'solar_return_approx': _find_solar_return_approx(
|
||||
_datetime_to_jd_ut(datetime(birth_year, birth_month, birth_day,
|
||||
birth_hour, birth_minute, 0)),
|
||||
birth_hour, birth_minute, birth_second)),
|
||||
0, # birth_sun_lon unknown
|
||||
target_year,
|
||||
annual_tz,
|
||||
@@ -372,6 +373,7 @@ def calc_solar_return_chart(
|
||||
birth_hour, birth_minute,
|
||||
birth_lat, birth_lon, birth_tz,
|
||||
'mean',
|
||||
second=birth_second,
|
||||
ayanamsa_name=ayanamsa_name,
|
||||
)
|
||||
if birth_chart is None:
|
||||
@@ -474,6 +476,7 @@ def solar_return_full_report(
|
||||
return_lat: float | None = None,
|
||||
return_lon: float | None = None,
|
||||
return_tz: float | None = None,
|
||||
birth_second: int = 0,
|
||||
) -> Dict:
|
||||
"""
|
||||
太阳返照盘完整报告(Varshaphala 年运分析)。
|
||||
@@ -503,6 +506,7 @@ def solar_return_full_report(
|
||||
ayanamsa_name=ayanamsa_name,
|
||||
local_timezone_id=local_timezone_id,
|
||||
return_lat=return_lat, return_lon=return_lon, return_tz=return_tz,
|
||||
birth_second=birth_second,
|
||||
)
|
||||
|
||||
if 'error' in sr:
|
||||
|
||||
Reference in New Issue
Block a user