Ephemeriden Karte verbessert
This commit is contained in:
@@ -419,13 +419,20 @@ def build_rows_response(
|
||||
row_builder,
|
||||
rise_set_builder,
|
||||
action_name: str,
|
||||
start_dt_str: str = "",
|
||||
) -> dict:
|
||||
try:
|
||||
tz = ZoneInfo(timezone_name)
|
||||
except Exception as exc:
|
||||
fail("Zeitzone ist ungueltig.", extra={"details": str(exc)})
|
||||
|
||||
local_start = datetime.now(tz).replace(second=0, microsecond=0)
|
||||
if start_dt_str:
|
||||
try:
|
||||
local_start = datetime.strptime(start_dt_str, "%Y-%m-%dT%H:%M").replace(tzinfo=tz)
|
||||
except ValueError as exc:
|
||||
fail("Startdatum ist ungueltig.", extra={"details": str(exc), "start_dt_str": start_dt_str})
|
||||
else:
|
||||
local_start = datetime.now(tz).replace(second=0, microsecond=0)
|
||||
local_end = add_calendar_unit(local_start, range_value, range_unit)
|
||||
|
||||
rows = []
|
||||
@@ -483,9 +490,9 @@ def build_rows_response(
|
||||
|
||||
|
||||
def action_planet_ephemeris(args: list[str]) -> dict:
|
||||
if len(args) != 8:
|
||||
if len(args) not in {8, 9}:
|
||||
fail(
|
||||
"Aktion planet_ephemeris erwartet 8 Argumente: latitude longitude elevation timezone body intervalMinutes rangeValue rangeUnit",
|
||||
"Aktion planet_ephemeris erwartet 8 oder 9 Argumente: latitude longitude elevation timezone body intervalMinutes rangeValue rangeUnit [startDt]",
|
||||
extra={"argv": args},
|
||||
)
|
||||
|
||||
@@ -502,6 +509,7 @@ def action_planet_ephemeris(args: list[str]) -> dict:
|
||||
fail("Intervall oder Zeitraum ist ungueltig.", extra={"details": str(exc), "argv": args})
|
||||
|
||||
range_unit = str(args[7]).strip()
|
||||
start_dt_str = str(args[8]).strip() if len(args) == 9 else ""
|
||||
|
||||
if interval_minutes <= 0:
|
||||
fail("Intervall muss groesser als 0 sein.", extra={"interval_minutes": interval_minutes})
|
||||
@@ -559,13 +567,14 @@ def action_planet_ephemeris(args: list[str]) -> dict:
|
||||
row_builder=row_builder,
|
||||
rise_set_builder=rise_set_builder,
|
||||
action_name="planet_ephemeris",
|
||||
start_dt_str=start_dt_str,
|
||||
)
|
||||
|
||||
|
||||
def action_small_body_ephemeris(args: list[str]) -> dict:
|
||||
if len(args) != 9:
|
||||
if len(args) not in {9, 10}:
|
||||
fail(
|
||||
"Aktion small_body_ephemeris erwartet 9 Argumente: latitude longitude elevation timezone bodyType payload intervalMinutes rangeValue rangeUnit",
|
||||
"Aktion small_body_ephemeris erwartet 9 oder 10 Argumente: latitude longitude elevation timezone bodyType payload intervalMinutes rangeValue rangeUnit [startDt]",
|
||||
extra={"argv": args},
|
||||
)
|
||||
|
||||
@@ -588,6 +597,7 @@ def action_small_body_ephemeris(args: list[str]) -> dict:
|
||||
fail("Intervall oder Zeitraum ist ungueltig.", extra={"details": str(exc), "argv": args})
|
||||
|
||||
range_unit = str(args[8]).strip()
|
||||
start_dt_str = str(args[9]).strip() if len(args) == 10 else ""
|
||||
|
||||
if body_type not in {"minorplanet", "comet"}:
|
||||
fail("Objekttyp ist ungueltig.", extra={"body_type": body_type})
|
||||
@@ -649,6 +659,7 @@ def action_small_body_ephemeris(args: list[str]) -> dict:
|
||||
row_builder=row_builder,
|
||||
rise_set_builder=rise_set_builder,
|
||||
action_name="small_body_ephemeris",
|
||||
start_dt_str=start_dt_str,
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user