def initialize_downloadable(self, current_date): def on_next(current_datetime): self.raw_stream.on_next(self._fetch_downloadable_files(current_datetime)) Observable.interval(1000)\ .zip( self.raw_stream, self.raw_stream.filter(lambda x: len(x) > 0), lambda x, y, z: y[-1].datetime if len(y) > 0 else z[-1] )\ .subscribe(on_next) self.raw_stream.on_next([KeyWithTimeSeriese(None, self.s_date)]) self.downloadable_file_stream = self.raw_stream\ .flat_map(lambda x: Observable.from_iterable(x))\ .publish()
def sample(self, interval=None, sampler=None, scheduler=None): """Samples the observable sequence at each interval. 1 - res = source.sample(sample_observable) # Sampler tick sequence 2 - res = source.sample(5000) # 5 seconds 2 - res = source.sample(5000, rx.scheduler.timeout) # 5 seconds Keyword arguments: source -- Source sequence to sample. interval -- Interval at which to sample (specified as an integer denoting milliseconds). scheduler -- [Optional] Scheduler to run the sampling timer on. If not specified, the timeout scheduler is used. Returns sampled observable sequence. """ scheduler = scheduler or timeout_scheduler if not interval is None: return self._sample_observable(Observable.interval(interval, scheduler=scheduler)) return self.sample_observable(sampler)
def sample(self, interval=None, sampler=None, scheduler=None): """Samples the observable sequence at each interval. 1 - res = source.sample(sample_observable) # Sampler tick sequence 2 - res = source.sample(5000) # 5 seconds 2 - res = source.sample(5000, rx.scheduler.timeout) # 5 seconds Keyword arguments: source -- Source sequence to sample. interval -- Interval at which to sample (specified as an integer denoting milliseconds). scheduler -- [Optional] Scheduler to run the sampling timer on. If not specified, the timeout scheduler is used. Returns sampled observable sequence. """ scheduler = scheduler or timeout_scheduler if not interval is None: return self._sample_observable( Observable.interval(interval, scheduler=scheduler)) return self.sample_observable(sampler)
def projection(x): return Observable.interval(10, scheduler).map(lambda a, b: x).take(x)
def projection(x): return Observable.interval( 10, scheduler).select(lambda a, b: x).take(x)