def test_iter_on_dates(orb): # Generate a free step ephemeris start = orb.date stop1 = start + timedelta(hours=3) step1 = timedelta(seconds=10) stop2 = stop1 + timedelta(hours=3) step2 = timedelta(seconds=120) dates = list(Date.range(start, stop1, step1)) + list(Date.range(stop1, stop2, step2, inclusive=True)) ephem = orb.ephem(dates=dates) assert ephem.start == start assert ephem.stop == stop2 assert ephem[1].date - ephem[0].date == step1 assert ephem[-1].date - ephem[-2].date == step2
def test_iter_on_dates(orbit): # Generate a free step ephemeris start = orbit.date if isinstance(orbit, Orbit) else orbit.start stop1 = start + timedelta(hours=3) step1 = timedelta(seconds=10) stop2 = stop1 + timedelta(hours=3) step2 = timedelta(seconds=120) dates = list(Date.range(start, stop1, step1)) + list( Date.range(stop1, stop2, step2, inclusive=True)) ephem = orbit.ephem(dates=dates) assert ephem.start == start assert ephem.stop == stop2 assert ephem[1].date - ephem[0].date == step1 assert ephem[-1].date - ephem[-2].date == step2
def test_iter_on_dates(ephem): # Generate a free step ephemeris start = ephem.start stop1 = start + timedelta(hours=1, minutes=10) step1 = timedelta(seconds=60) stop2 = ephem.stop step2 = timedelta(seconds=120) dates = list(Date.range(start, stop1, step1)) + list(Date.range(stop1, stop2, step2, inclusive=True)) subephem = ephem.ephem(dates=dates) assert subephem.start == ephem.start assert subephem.stop == ephem.stop assert subephem[1].date - subephem[0].date == step1 assert subephem[-1].date - subephem[-2].date == step2
def test_iter_on_dates(ephem): # Generate a free step ephemeris start = ephem.start stop1 = start + (ephem.stop - ephem.start) / 2 step1 = timedelta(seconds=60) stop2 = ephem.stop step2 = timedelta(seconds=120) dates = list(Date.range(start, stop1, step1)) + list(Date.range(stop1, stop2, step2, inclusive=True)) subephem = ephem.ephem(dates=dates) assert subephem.start == ephem.start assert subephem.stop == ephem.stop assert subephem[1].date - subephem[0].date == step1 assert subephem[-1].date - subephem[-2].date == step2
def test_iter_on_dates(orbit_kepler): # Generate a free step ephemeris start = orbit_kepler.date stop = timedelta(hours=3) step = timedelta(seconds=10) drange = Date.range(start, stop, step, inclusive=True) ephem = orbit_kepler.ephem(dates=drange) assert ephem.start == start assert ephem.stop == start + stop assert ephem[1].date - ephem[0].date == step
def iter_listeners(orb, listeners, mode, **kwargs): start = kwargs.get("start", Date(2018, 4, 5, 16, 50)) stop = kwargs.get("stop", timedelta(minutes=100)) step = kwargs.get("step", timedelta(minutes=3)) subkwargs = {} if mode == 'range-nostep': subkwargs['start'] = start subkwargs['stop'] = stop if not isinstance(orb, Ephem): subkwargs['step'] = step elif mode == 'range': subkwargs['start'] = start subkwargs['stop'] = stop subkwargs['step'] = step else: subkwargs['dates'] = Date.range(start, stop, step) for orb in orb.iter(listeners=listeners, **subkwargs): if orb.event: yield orb
def iter_listeners(orb, listeners, mode): start = Date(2018, 4, 5, 16, 50) stop = timedelta(minutes=100) step = timedelta(minutes=3) kwargs = {} if mode == 'range-nostep': kwargs['start'] = start kwargs['stop'] = stop if not isinstance(orb, Ephem): kwargs['step'] = step elif mode == 'range': kwargs['start'] = start kwargs['stop'] = stop kwargs['step'] = step else: kwargs['dates'] = Date.range(start, stop, step) for orb in orb.iter(listeners=listeners, **kwargs): if orb.event: yield orb