Source code for uwsift.control.time_matcher

from datetime import datetime
from typing import Callable, List, Optional


[docs] class TimeMatcher: def __init__(self, policy: Callable): self.policy = policy
[docs] def match(self, timeline: List[datetime], t_sim: datetime, policy: Optional[Callable] = None): if not isinstance(t_sim, datetime): raise ValueError("Queried Time not an instance of a datetime object.") if policy is None: policy = self.policy matched = policy(timeline, t_sim) return matched