fix: restore ayanamsa state and keep tests hermetic
This commit is contained in:
+9
-9
@@ -12,9 +12,9 @@ try:
|
||||
except ImportError:
|
||||
from scripts.saham_daynight import determine_daytime
|
||||
try:
|
||||
from ayanamsa_utils import ayanamsa_display_name, normalize_ayanamsa_name, sidereal_flags
|
||||
from ayanamsa_utils import DEFAULT_AYANAMSA_NAME, ayanamsa_display_name, normalize_ayanamsa_name, temporary_ayanamsa
|
||||
except ImportError:
|
||||
from scripts.ayanamsa_utils import ayanamsa_display_name, normalize_ayanamsa_name, sidereal_flags
|
||||
from scripts.ayanamsa_utils import DEFAULT_AYANAMSA_NAME, ayanamsa_display_name, normalize_ayanamsa_name, temporary_ayanamsa
|
||||
|
||||
|
||||
# Monday=0, matching datetime.weekday(). Values are the end of Saturn's share
|
||||
@@ -72,10 +72,10 @@ TEMPORAL_UPAGRAHAS = {
|
||||
}
|
||||
|
||||
|
||||
def _sidereal_ascendant(jd_ut: float, lat: float, lon: float, ayanamsa: str = "raman") -> float:
|
||||
flags = sidereal_flags(swe, ayanamsa)
|
||||
cusps, ascmc = swe.houses_ex(jd_ut, lat, lon, b"P", flags)
|
||||
return float(ascmc[0]) % 360
|
||||
def _sidereal_ascendant(jd_ut: float, lat: float, lon: float, ayanamsa: str = DEFAULT_AYANAMSA_NAME) -> float:
|
||||
with temporary_ayanamsa(ayanamsa, swe):
|
||||
_, ascmc = swe.houses_ex(jd_ut, lat, lon, b"P", swe.FLG_SWIEPH | swe.FLG_SIDEREAL)
|
||||
return float(ascmc[0]) % 360
|
||||
|
||||
|
||||
def calculate_gulika(
|
||||
@@ -85,7 +85,7 @@ def calculate_gulika(
|
||||
lon: float,
|
||||
tz: float,
|
||||
method: str = "saturn_part_start",
|
||||
ayanamsa: str = "raman",
|
||||
ayanamsa: str = DEFAULT_AYANAMSA_NAME,
|
||||
) -> dict[str, Any]:
|
||||
"""Return Gulika from local moment/location using Swiss sunrise and sunset."""
|
||||
ayanamsa_name = normalize_ayanamsa_name(ayanamsa)
|
||||
@@ -140,7 +140,7 @@ def _temporal_upagraha(
|
||||
tz: float,
|
||||
planet_index: int,
|
||||
segment_part: str,
|
||||
ayanamsa: str = "raman",
|
||||
ayanamsa: str = DEFAULT_AYANAMSA_NAME,
|
||||
) -> dict[str, Any]:
|
||||
ayanamsa_name = normalize_ayanamsa_name(ayanamsa)
|
||||
daynight = determine_daytime(moment, lat=lat, lon=lon, tz=tz)
|
||||
@@ -198,7 +198,7 @@ def calculate_upagrahas(
|
||||
lon: float,
|
||||
tz: float,
|
||||
sun_longitude: float,
|
||||
ayanamsa: str = "raman",
|
||||
ayanamsa: str = DEFAULT_AYANAMSA_NAME,
|
||||
) -> dict[str, Any]:
|
||||
"""Calculate the D1 Upagraha packet using local Swiss Ephemeris inputs."""
|
||||
ayanamsa_name = normalize_ayanamsa_name(ayanamsa)
|
||||
|
||||
Reference in New Issue
Block a user