本文整理汇总了Python中rx.observable.Observable类的典型用法代码示例。如果您正苦于以下问题:Python Observable类的具体用法?Python Observable怎么用?Python Observable使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Observable类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_select_with_index_throws
def test_select_with_index_throws(self):
try:
return Observable.return_value(1) \
.select(lambda x, index: x) \
.subscribe(lambda x: _raise('ex'))
except RxException:
pass
try:
return Observable.throw_exception('ex') \
.select(lambda x, index: x) \
.subscribe(lambda x: x, lambda ex: _raise(ex))
except RxException:
pass
try:
return Observable.empty() \
.select(lambda x, index: x) \
.subscribe(lambda x: x, lambda ex: _, lambda : _raise('ex'))
except RxException:
pass
try:
return Observable.create(lambda o: _raise('ex')) \
.select(lambda x, index: x) \
.subscribe()
except RxException:
pass
示例2: test_repeat_observable_repeat_count_throws
def test_repeat_observable_repeat_count_throws(self):
scheduler1 = TestScheduler()
xs = Observable.return_value(1, scheduler1).repeat(3)
xs.subscribe(lambda x: _raise('ex'))
try:
return scheduler1.start()
except RxException:
pass
scheduler2 = TestScheduler()
ys = Observable.throwException('ex1', scheduler2).repeat(3)
ys.subscribe(lambda ex: _raise('ex2'))
try:
return scheduler2.start()
except RxException:
pass
scheduler3 = TestScheduler()
zs = Observable.return_value(1, scheduler3).repeat(100)
d = zs.subscribe(on_complete=lambda: _raise('ex3'))
scheduler3.schedule_absolute(10, lambda: d.dispose())
scheduler3.start()
xss = Observable.create(lambda o: _raise('ex4')).repeat(3)
try:
return xss.subscribe()
except RxException:
pass
示例3: test_retry_observable_throws
def test_retry_observable_throws(self):
scheduler1 = TestScheduler()
xs = Observable.return_value(1, scheduler1).retry()
xs.subscribe(lambda x: _raise('ex'))
try:
return scheduler1.start()
except RxException:
pass
scheduler2 = TestScheduler()
ys = Observable.throw_exception('ex', scheduler2).retry()
d = ys.subscribe(on_error=lambda ex: _raise('ex'))
scheduler2.schedule_absolute(210, lambda: d.dispose())
scheduler2.start()
scheduler3 = TestScheduler()
zs = Observable.return_value(1, scheduler3).retry()
zs.subscribe(on_completed=lambda: _raise('ex'))
try:
return scheduler3.start()
except RxException:
pass
xss = Observable.create(lambda o: _raise('ex')).retry()
try:
return xss.subscribe()
except RxException:
pass
示例4: retry
def retry(self, count = None):
assert isinstance(self, Observable)
if count == None:
return Observable.catchFallback(itertools.repeat(self))
else:
return Observable.catchFallback(itertools.repeat(self, count))
示例5: repeatSelf
def repeatSelf(self, count = None):
assert isinstance(self, Observable)
if count == None:
return Observable.concat(itertools.repeat(self))
else:
return Observable.concat(itertools.repeat(self, count))
示例6: test_repeat_observable_repeat_count_throws
def test_repeat_observable_repeat_count_throws(self):
scheduler1 = TestScheduler()
xs = Observable.return_value(1, scheduler1).repeat(3)
xs.subscribe(lambda x: _raise('ex'))
with self.assertRaises(RxException):
scheduler1.start()
scheduler2 = TestScheduler()
ys = Observable.throw_exception('ex1', scheduler2).repeat(3)
ys.subscribe(on_error=lambda ex: _raise('ex2'))
with self.assertRaises(RxException):
scheduler2.start()
scheduler3 = TestScheduler()
zs = Observable.return_value(1, scheduler3).repeat(100)
d = zs.subscribe(on_completed=lambda: _raise('ex3'))
scheduler3.schedule_absolute(10, lambda sc, st: d.dispose())
scheduler3.start()
xss = Observable.create(lambda o: _raise('ex4')).repeat(3)
with self.assertRaises(RxException):
xss.subscribe()
示例7: subscribe
def subscribe(observer):
try:
result = observable_factory()
except Exception as ex:
return Observable.throw_exception(ex).subscribe(observer)
result = Observable.from_future(result)
return result.subscribe(observer)
示例8: _start
def _start(self, app_context, **kwargs):
if self.__input is None:
self.__input = app_context.inst_data_mgr.get_series(self.input.name)
self.__input.subject.subscribe(on_next=self.on_update)
if self.__output_bar_type == BarType.Time:
current_ts = self.__clock.now()
next_ts = Bar.get_next_bar_start_time(current_ts, self.__output_size)
diff = next_ts - current_ts
Observable.timer(int(diff), self.__output_size * 1000, self.__clock.scheduler).subscribe(
on_next=self.publish)
示例9: do_while
def do_while(self, condition):
"""Repeats source as long as condition holds emulating a do while loop.
Keyword arguments:
condition -- {Function} The condition which determines if the source
will be repeated.
Returns an observable {Observable} sequence which is repeated as long
as the condition holds."""
return Observable.concat([self, Observable.while_do(condition, self)])
示例10: branch
def branch(condition, thenSource, schedulerOrElseSource=None):
assert callable(condition)
assert isinstance(thenSource, Observable)
if schedulerOrElseSource == None:
return If(condition, thenSource, Observable.empty())
elif isinstance(schedulerOrElseSource, Scheduler):
return If(condition, thenSource, Observable.empty(schedulerOrElseSource))
else:
assert isinstance(schedulerOrElseSource, Observable)
return If(condition, thenSource, schedulerOrElseSource)
示例11: case
def case(selector, sources, schedulerOrDefaultSource=None):
assert callable(selector)
assert isinstance(sources, dict)
if schedulerOrDefaultSource == None:
return Case(selector, sources, Observable.empty())
elif isinstance(schedulerOrDefaultSource, Scheduler):
return Case(selector, sources, Observable.empty(schedulerOrDefaultSource))
else:
assert isinstance(schedulerOrDefaultSource, Observable)
return Case(selector, sources, schedulerOrDefaultSource)
示例12: timeoutIndividual
def timeoutIndividual(self, durationSelector, firstTimeout=None, other=None):
assert isinstance(self, Observable)
if firstTimeout == None:
firstTimeout = Observable.never()
if other == None:
other = Observable.throw(TimeoutException())
assert isinstance(firstTimeout, Observable)
assert isinstance(other, Observable)
return TimeoutObservable(self, firstTimeout, durationSelector, other)
示例13: test_return_observer_throws
def test_return_observer_throws(self):
scheduler1 = TestScheduler()
xs = Observable.return_value(1, scheduler1)
xs.subscribe(lambda x: _raise('ex'))
self.assertRaises(RxException, scheduler1.start)
scheduler2 = TestScheduler()
ys = Observable.return_value(1, scheduler2)
ys.subscribe(lambda x: x, lambda ex: ex, lambda: _raise('ex'))
self.assertRaises(RxException, scheduler2.start)
示例14: while_do
def while_do(cls, condition, source):
"""Repeats source as long as condition holds emulating a while loop.
Keyword arguments:
condition -- {Function} The condition which determines if the source
will be repeated.
source -- {Observable} The observable sequence that will be run if the
condition function returns true.
Returns an observable {Observable} sequence which is repeated as long
as the condition holds."""
source = Observable.from_future(source)
return Observable.concat(Enumerable.while_do(condition, source))
示例15: test_select_throws
def test_select_throws(self):
try:
Observable.return_value(1) \
.select(lambda x, y: x) \
.subscribe(lambda x: _raise("ex"))
except RxException:
pass
try:
Observable.throw_exception('ex') \
.select(lambda x, y: x) \
.subscribe(on_error=lambda ex: _raise(ex))
except RxException:
pass
try:
Observable.empty() \
.select(lambda x, y: x) \
.subscribe(lambda x: x, lambda ex: ex, lambda: _raise('ex'))
except RxException:
pass
def subscribe(observer):
_raise('ex')
try:
Observable.create(subscribe) \
.select(lambda x: x) \
.subscribe()
except RxException:
pass