<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def delete_sources(self, cuts=None, distance=None, skydir=None, minmax_ts=None, minmax_npred=None, exclude=None, square=False, names=None):
 """Delete sources in the ROI model satisfying the given selection criteria. Parameters cuts : dict Dictionary of [min,max] selections on source properties. distance : float Cut on angular distance from ``skydir``. If None then no selection will be applied. skydir : `~astropy.coordinates.SkyCoord` Reference sky coordinate for ``distance`` selection. If None then the distance selection will be applied with respect to the ROI center. minmax_ts : list Select sources that have TS in the range [min,max]. If either min or max are None then only a lower (upper) bound will be applied. If this parameter is none no selection will be applied. minmax_npred : list Select sources that have npred in the range [min,max]. If either min or max are None then only a lower (upper) bound will be applied. If this parameter is none no selection will be applied. square : bool Switch between applying a circular or square (ROI-like) selection on the maximum projected distance from the ROI center. names : list Select sources matching a name in this list. Returns ------- srcs : list A list of `~fermipy.roi_model.Model` objects. """


        srcs = self.roi.get_sources(skydir=skydir, distance=distance, cuts=cuts,
                                    minmax_ts=minmax_ts, minmax_npred=minmax_npred,
                                    exclude=exclude, square=square,
                                    coordsys=self.config[
                                        'binning']['coordsys'],
                                    names=names)

        for s in srcs:
            self.delete_source(s.name, build_fixed_wts=False)

        if self.like is not None:
            # Build fixed model weights in one pass
            for c in self.components:
                c.like.logLike.buildFixedModelWts()

            self._update_roi()

        return srcs