code: def __filter_record(self, warc_record, article=None):
          
          # filter by host
          if self.__filter_valid_hosts:
              url = warc_record.rec_headers.get_header('WARC-Target-URI')
  
              # very simple check, check if one of the required host names is contained in the url of the WARC transaction
              # better would be to extract the host name from the WARC transaction Target URI and then check for equality
              # because currently something like g.co?forward_url=facebook.com would yield a positive filter test for
              # facebook.com even though the actual host is g.co
              for valid_host in self.__filter_valid_hosts:
                  if valid_host in url:
                      break
              else:
                  return False, article
  
          # filter by date
          if self.__filter_start_date or self.__filter_end_date:
              if not article:
                  article = NewsPlease.from_warc(warc_record)
  
              publishing_date = self.__get_publishing_date(warc_record, article)
              if not publishing_date:
                  if self.__filter_strict_date:
                      return False, article
              else:  # here we for sure have a date
                  # is article published too early?
                  if self.__filter_start_date and publishing_date < self.__filter_start_date:
                      return False, article
                  if self.__filter_end_date and publishing_date > self.__filter_end_date:
                      return False, article
  
          return True, article
docs: Returns true if a record passes all tests: hosts, publishing date
          :param warc_record:
          :return: A tuple of (True or False) and an article (might be None)