# File lib/scrubyt/core/scraping/filters/detail_page_filter.rb, line 4
    def evaluate(source)
      if source.is_a?(String)
        url = source
      else
        url = XPathUtils.find_nearest_node_with_attribute(source, 'href').attributes['href']
      end
      @parent_pattern.extractor.store_page
      original_host_name = @parent_pattern.extractor.get_host_name
      @parent_pattern.extractor.restore_host_name

      begin
        FetchAction.fetch url, :resolve => @parent_pattern.resolve 
      rescue
        Scrubyt.log :ERROR, "Couldn't get page, probably returned 404 or 500 status code"
      end
      

      if @detail_extractor.nil?
        @detail_extractor = Extractor.new @parent_pattern.extractor.mode, @parent_pattern.referenced_extractor
        root_results = @detail_extractor.result
      else
        root_results = @detail_extractor.evaluate_extractor
      end



      @parent_pattern.extractor.restore_page
      @parent_pattern.extractor.store_host_name original_host_name

      root_results
    end