def del_piper(self, piper, forced=False):
        """
        Removes a ``Piper`` from the ``Dagger`` instance.

        Arguments:
        
          - piper(``Piper``  or id(``Piper``)) ``Piper`` instance or ``Piper`` 
            instance id.
          - forced(bool) [default: ``False``] If "forced" is ``True``, will not 
            raise a ``DaggerError`` if the ``Piper`` hase outgoing pipes and 
            will also remove it.
            
        """
        self.log.debug('%s trying to delete piper %s' % \
                      (repr(self), repr(piper)))
        try:
            piper = self.resolve(piper, forgive=False)
        except DaggerError:
            self.log.error('%s cannot resolve piper from %s' % \
                           (repr(self), repr(piper)))
            raise DaggerError('%s cannot resolve piper from %s' % \
                              (repr(self), repr(piper)))
        if self.incoming_edges(piper) and not forced:
            self.log.error('%s piper %s has down-stream pipers (use forced =True to override)' % \
                           (repr(self), piper))
            raise DaggerError('%s piper %s has down-stream pipers (use forced =True to override)' % \
                              (repr(self), piper))
        self.del_node(piper)
        self.log.debug('%s deleted piper %s' % (repr(self), piper))
def del_piper ( self , piper , forced = False ) : self . log . debug ( '%s trying to delete piper %s' % ( repr ( self ) , repr ( piper ) ) ) try : piper = self . resolve ( piper , forgive = False ) except DaggerError : self . log . error ( '%s cannot resolve piper from %s' % ( repr ( self ) , repr ( piper ) ) ) raise DaggerError ( '%s cannot resolve piper from %s' % ( repr ( self ) , repr ( piper ) ) ) if self . incoming_edges ( piper ) and not forced : self . log . error ( '%s piper %s has down-stream pipers (use forced =True to override)' % ( repr ( self ) , piper ) ) raise DaggerError ( '%s piper %s has down-stream pipers (use forced =True to override)' % ( repr ( self ) , piper ) ) self . del_node ( piper ) self . log . debug ( '%s deleted piper %s' % ( repr ( self ) , piper ) )
Removes a ``Piper`` from the ``Dagger`` instance.

        Arguments:
        
          - piper(``Piper``  or id(``Piper``)) ``Piper`` instance or ``Piper`` 
            instance id.
          - forced(bool) [default: ``False``] If "forced" is ``True``, will not 
            raise a ``DaggerError`` if the ``Piper`` hase outgoing pipes and 
            will also remove it.