diff --git a/kosmorrolib/events.py b/kosmorrolib/events.py index 5ab7e84..36af636 100644 --- a/kosmorrolib/events.py +++ b/kosmorrolib/events.py @@ -17,6 +17,23 @@ from .core import get_timescale, get_skf_objects, flatten_list def _search_conjunction(start_time: Time, end_time: Time, timezone: int) -> [Event]: + """Function to search conjunction. + + **Warning:** this is an internal function, not intended for use by end-developers. + + Will return MOON and VENUS opposition on 2021-06-12: + + >>> conjunction = _search_conjunction(get_timescale().utc(2021,6,12),get_timescale().utc(2021,6,13),0) + >>> len(conjunction) + 1 + >>> conjunction[0].objects + [, ] + + Will return nothing if no conjunction happens: + + >>> _search_conjunction(get_timescale().utc(2021,6,17),get_timescale().utc(2021,6,18),0) + [] + """ earth = get_skf_objects()["earth"] aster1 = None aster2 = None @@ -252,17 +269,19 @@ def _search_earth_season_change(start_time: Time, end_time: Time, timezone: int) **Warning:** this is an internal function, not intended for use by end-developers. - Will return Summer Solstice and Autumnal Equinox on respectively 2020-06-20 and 2020-09-21: + Will return JUNE SOLSTICE on 2020/06/20: >>> season_change = _search_earth_season_change(get_timescale().utc(2020, 6, 20), get_timescale().utc(2020, 6, 21), 0) >>> len(season_change) - 2 - >>> oppositions[0].objects[0] - 'Summer Solstice' + 1 + >>> season_change[0].event_type + + >>> season_change[0].details + {'season': } Will return nothing if there is no season change event in the period of time being calculated: - >>> _search_earh_season_change(get_timescale().utc(2021, 3, 20), get_timescale().utc(2021, 3, 21), 0) + >>> _search_earth_season_change(get_timescale().utc(2021, 6, 17), get_timescale().utc(2021, 6, 18), 0) [] """ @@ -270,13 +289,12 @@ def _search_earth_season_change(start_time: Time, end_time: Time, timezone: int) t, y = almanac.find_discrete(start_time,end_time,almanac.seasons(get_skf_objects())) if len(t) == 0: return [] - else: - events.append(Event( - EventType.SEASON_CHANGE, - [], - translate_to_timezone(t.utc_datetime()[0], timezone), - details={'season':SeasonType(y[0])} )) - return events + events.append(Event( + EventType.SEASON_CHANGE, + [], + translate_to_timezone(t.utc_datetime()[0], timezone), + details={'season':SeasonType(y[0])} )) + return events @@ -300,7 +318,7 @@ def get_events(for_date: date = date.today(), timezone: int = 0) -> [Event]: If there is no events for the given date, then an empty list is returned: - >>> get_events(date(2021, 3, 20)) + >>> get_events(date(2021, 4, 20)) [] :param for_date: the date for which the events must be calculated @@ -324,7 +342,7 @@ def get_events(for_date: date = date.today(), timezone: int = 0) -> [Event]: _search_maximal_elongations, _search_moon_apogee, _search_moon_perigee, - _earth_change_season + _search_earth_season_change ]: found_events.append(fun(start_time, end_time, timezone)) diff --git a/kosmorrolib/model.py b/kosmorrolib/model.py index e721cfc..0fc79bc 100644 --- a/kosmorrolib/model.py +++ b/kosmorrolib/model.py @@ -154,7 +154,7 @@ class Event(Serializable): objects: [Object], start_time: datetime, end_time: Union[datetime, None] = None, - details: dict=None, + details: dict = None, ): self.event_type = event_type self.objects = objects