def drop_metanetworks_for_ranges(self, range_tuples, keep_in_range=True):
        """
        :param list range_tuples: A list of tuples containing of a  start date and end date pair
        :param list keep_in_range: If true, dates outside of any tuple are dropped. If false, dates within any tuple \
        are dropped.
        """
        dmlpu.check_contained_types(range_tuples, 'range_tuples', datetime)

        for mn in self.metanetworks:
            date_val = datetime.strptime(self.metanetworks[-1].attributes['id'], '%Y%m%dT%H:%M:%S')
            for r_t in range_tuples:
                if (keep_in_range and r_t[0] > date_val or r_t[1] < date_val) or \
                        (keep_in_range is False and r_t[0] <= date_val <= r_t[1]):
                    self.metanetworks.remove(mn)
    def drop_metanetworks_for_ranges(self, range_tuples, keep_in_range=True):
        """
        Drop metanetworks relative to a number of range_tuples
        :param range_tuples: a list of tuples consisting of a start date and end date.
        :param keep_in_range: if True, dates within the range are retained. If false, dates within the range are
        discarded
        :type range_tuples: list
        :type keep_in_range: bool
        """
        dmlpu.check_contained_types(range_tuples, 'range_tuples', datetime)

        for mn in self.metanetworks:
            date_val = datetime.strptime(self.metanetworks[-1].attributes['id'], '%Y%m%dT%H:%M:%S')
            for r_t in range_tuples:
                if (keep_in_range and r_t[0] > date_val or r_t[1] < date_val) or \
                (keep_in_range is False and r_t[0] <= date_val and r_t[1] >= date_val):
                    self.metanetworks.remove(mn)