def _design_poll(self, name, mode, oldres, timeout=5, use_devmode=False):
        """
        Poll for an 'async' action to be complete.
        :param string name: The name of the design document
        :param string mode: One of ``add`` or ``del`` to indicate whether
            we should check for addition or deletion of the document
        :param oldres: The old result from the document's previous state, if
            any
        :param float timeout: How long to poll for. If this is 0 then this
            function returns immediately
        :type oldres: :class:`~couchbase.result.HttpResult`
        """
        if not timeout:
            return True

        if timeout < 0:
            raise ArgumentError.pyexc("Interval must not be negative")

        t_end = time.time() + timeout
        old_rev = None

        if oldres:
            old_rev = self._doc_rev(oldres)

        while time.time() < t_end:
            try:
                cur_resp = self.design_get(name, use_devmode=use_devmode)
                if old_rev and self._doc_rev(cur_resp) == old_rev:
                    continue

                try:
                    if not self._poll_vq_single(
                            name, use_devmode, cur_resp.value):
                        continue
                    return True

                except CouchbaseError:
                    continue

            except CouchbaseError:
                if mode == 'del':
                    # Deleted, whopee!
                    return True

        raise exceptions.TimeoutError.pyexc(
            "Wait time for design action completion exceeded")
def _design_poll ( self , name , mode , oldres , timeout = 5 , use_devmode = False ) : if not timeout : return True if timeout < 0 : raise ArgumentError . pyexc ( "Interval must not be negative" ) t_end = time . time ( ) + timeout old_rev = None if oldres : old_rev = self . _doc_rev ( oldres ) while time . time ( ) < t_end : try : cur_resp = self . design_get ( name , use_devmode = use_devmode ) if old_rev and self . _doc_rev ( cur_resp ) == old_rev : continue try : if not self . _poll_vq_single ( name , use_devmode , cur_resp . value ) : continue return True except CouchbaseError : continue except CouchbaseError : if mode == 'del' : return True raise exceptions . TimeoutError . pyexc ( "Wait time for design action completion exceeded" )
Poll for an 'async' action to be complete.
        :param string name: The name of the design document
        :param string mode: One of ``add`` or ``del`` to indicate whether
            we should check for addition or deletion of the document
        :param oldres: The old result from the document's previous state, if
            any
        :param float timeout: How long to poll for. If this is 0 then this
            function returns immediately
        :type oldres: :class:`~couchbase.result.HttpResult`