From 40988f193fe996cf3f56b6b8071ef7b72ec7fa15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Deuchnord?= Date: Sat, 22 May 2021 15:50:54 +0200 Subject: [PATCH] fix(ephemerides): fix a bug that made the ephemerides calculations impossible for the Poles (#21) --- kosmorrolib/ephemerides.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/kosmorrolib/ephemerides.py b/kosmorrolib/ephemerides.py index f201183..5994384 100644 --- a/kosmorrolib/ephemerides.py +++ b/kosmorrolib/ephemerides.py @@ -127,6 +127,22 @@ def get_ephemerides( >>> get_ephemerides(pos, datetime.date(2021, 6, 9), timezone=2) [>, >, >, >, >, >, >, >, >, >] + + If an objet does not rise nor set due to your latitude, then both rise and set will be `None`: + + >>> north_pole = Position(70, 20) + >>> south_pole = Position(-70, 20) + >>> get_ephemerides(north_pole, datetime.date(2021, 6, 20)) + [>, >, >, >, >, >, >, >, >, >] + + >>> get_ephemerides(north_pole, datetime.date(2021, 12, 21)) + [>, >, >, >, >, >, >, >, >, >] + + >>> get_ephemerides(south_pole, datetime.date(2021, 6, 20)) + [>, >, >, >, >, >, >, >, >, >] + + >>> get_ephemerides(south_pole, datetime.date(2021, 12, 22)) + [>, >, >, >, >, >, >, >, >, >] """ ephemerides = [] @@ -173,10 +189,12 @@ def get_ephemerides( except ValueError: culmination_time = None + rise_time, set_time = None, None + if len(rise_times) == 2: rise_time = rise_times[0 if arr[0] else 1] set_time = rise_times[1 if not arr[1] else 0] - else: + elif len(rise_times) == 1: rise_time = rise_times[0] if arr[0] else None set_time = rise_times[0] if not arr[0] else None