ersion=1127): type = e['type'] object = e['object'] # object is one of type return_type raw_object = e['raw_object'] # raw_object is a dict ... if should_stop: watch.stop() """ self._stop = False return_type = self.get_return_type(func) kwargs[self.get_watch_argument_name(func)] = True kwargs['_preload_content'] = False if 'resource_version' in kwargs: self.resource_version = kwargs['resource_version'] timeouts = ('timeout_seconds' in kwargs) while True: resp = func(*args, **kwargs) try: for line in iter_resp_lines(resp): yield self.unmarshal_event(line, return_type) if self._stop: break finally: resp.close() resp.release_conn() if self.resource_version is not None: kwargs['resource_version'] = self.resource_version else: self._stop = True if timeouts or self._stop: break