striplog/striplog.py
def crop(self, extent, copy=False):
        """
        Crop to a new depth range.

        Args:
            extent (tuple): The new start and stop depth. Must be 'inside'
                existing striplog.
            copy (bool): Whether to operate in place or make a copy.

        Returns:
            Operates in place by deault; if copy is True, returns a striplog.
        """
        try:
            if extent[0] is None:
                extent = (self.start.z, extent[1])
            if extent[1] is None:
                extent = (extent[0], self.stop.z)
        except:
            m = "You must provide a 2-tuple for the new extents. Use None for"
            m += " the existing start or stop."
            raise StriplogError(m)

        first_ix = self.read_at(extent[0], index=True)
        last_ix = self.read_at(extent[1], index=True)

        first = self[first_ix].split_at(extent[0])[1]
        last = self[last_ix].split_at(extent[1])[0]

        new_list = self.__list[first_ix:last_ix+1].copy()
        new_list[0] = first
        new_list[-1] = last

        if copy:
            return Striplog(new_list)
        else:
            self.__list = new_list
            return
def crop(self, extent, copy=False):
        try:
            if extent[0] is None:
                extent = (self.start.z, extent[1])
            if extent[1] is None:
                extent = (extent[0], self.stop.z)
        except:
            m = "You must provide a 2-tuple for the new extents. Use None for"
            m += " the existing start or stop."
            raise StriplogError(m)

        first_ix = self.read_at(extent[0], index=True)
        last_ix = self.read_at(extent[1], index=True)

        first = self[first_ix].split_at(extent[0])[1]
        last = self[last_ix].split_at(extent[1])[0]

        new_list = self.__list[first_ix:last_ix+1].copy()
        new_list[0] = first
        new_list[-1] = last

        if copy:
            return Striplog(new_list)
        else:
            self.__list = new_list
            return
def crop ( self , extent , copy = False ) : try : if extent [ 0 ] is None : extent = ( self . start . z , extent [ 1 ] ) if extent [ 1 ] is None : extent = ( extent [ 0 ] , self . stop . z ) except : m = "You must provide a 2-tuple for the new extents. Use None for" m += " the existing start or stop." raise StriplogError ( m ) first_ix = self . read_at ( extent [ 0 ] , index = True ) last_ix = self . read_at ( extent [ 1 ] , index = True ) first = self [ first_ix ] . split_at ( extent [ 0 ] ) [ 1 ] last = self [ last_ix ] . split_at ( extent [ 1 ] ) [ 0 ] new_list = self . __list [ first_ix : last_ix + 1 ] . copy ( ) new_list [ 0 ] = first new_list [ - 1 ] = last if copy : return Striplog ( new_list ) else : self . __list = new_list return
Crop to a new depth range.

        Args:
            extent (tuple): The new start and stop depth. Must be 'inside'
                existing striplog.
            copy (bool): Whether to operate in place or make a copy.

        Returns:
            Operates in place by deault; if copy is True, returns a striplog.
Crop to a new depth range .