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))
def repeat(self, repeat_count=None): """Repeats the observable sequence a specified number of times. If the repeat count is not specified, the sequence repeats indefinitely. 1 - repeated = source.repeat() 2 - repeated = source.repeat(42) Keyword arguments: repeat_count -- Number of times to repeat the sequence. If not provided, repeats the sequence indefinitely. Returns the observable sequence producing the elements of the given sequence repeatedly.""" return Observable.concat(Enumerable.repeat(self, repeat_count))
def retry(self, retry_count=None): """Repeats the source observable sequence the specified number of times or until it successfully terminates. If the retry count is not specified, it retries indefinitely. 1 - retried = retry.repeat() 2 - retried = retry.repeat(42) retry_count -- [Optional] Number of times to retry the sequence. If not provided, retry the sequence indefinitely. Returns an observable sequence producing the elements of the given sequence repeatedly until it terminates successfully. """ return Observable.catch_exception(Enumerable.repeat(self, retry_count))
def while_do(cls, condition, source): """Repeats source as long as condition holds emulating a while loop. Keyword arguments: :param types.FunctionType condition: The condition which determines if the source will be repeated. :param Observable source: The observable sequence that will be run if the condition function returns true. :returns: An observable sequence which is repeated as long as the condition holds. :rtype: Observable """ source = Observable.from_future(source) return Observable.concat(Enumerable.while_do(condition, source))
def while_do(cls, condition, source): """Repeats source as long as condition holds emulating a while loop. Arguments: condition (types.FunctionType): 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: (Observable): An observable sequence which is repeated as long as the condition holds. """ source = Observable.from_future(source) return Observable.concat(Enumerable.while_do(condition, source))