Changeset View
Changeset View
Standalone View
Standalone View
swh/scheduler/journal_client.py
Show All 13 Lines | |||||
msg_type = "origin_visit_status" | msg_type = "origin_visit_status" | ||||
def max_date(*dates: Optional[datetime]) -> datetime: | def max_date(*dates: Optional[datetime]) -> datetime: | ||||
"""Return the max date of given (possibly None) dates | """Return the max date of given (possibly None) dates | ||||
At least one date must be not None. | At least one date must be not None. | ||||
""" | """ | ||||
datesok: Tuple[datetime, ...] = tuple(d for d in dates if d is not None) | filtered_dates = [d for d in dates if d is not None] | ||||
if not datesok: | if not filtered_dates: | ||||
raise ValueError("At least one date should be a valid datetime") | raise ValueError("At least one date should be a valid datetime") | ||||
maxdate = datesok[0] | return max(filtered_dates) | ||||
if len(datesok) == 1: | |||||
return maxdate | |||||
for d in datesok[1:]: | |||||
maxdate = max(d, maxdate) | |||||
return maxdate | |||||
def process_journal_objects( | def process_journal_objects( | ||||
messages: Dict[str, List[Dict]], *, scheduler: SchedulerInterface | messages: Dict[str, List[Dict]], *, scheduler: SchedulerInterface | ||||
) -> None: | ) -> None: | ||||
"""Read messages from origin_visit_status journal topics, then inserts them in the | """Read messages from origin_visit_status journal topics, then inserts them in the | ||||
scheduler "origin_visit_stats" table. | scheduler "origin_visit_stats" table. | ||||
▲ Show 20 Lines • Show All 103 Lines • Show Last 20 Lines |