8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/brave_search/jobs/pdf_download_job.rb', line 8
def perform(query:, storage_config: nil, folder: "pdfs", **search_options)
client = BraveSearch::Client.new
storage = storage_config ? build_storage(storage_config) : nil
progress_callback = lambda do |current, total, url|
Rails.logger.info "Downloading PDFs: #{current}/#{total} - #{url}"
end
result = client.search_and_download_pdfs(
q: query,
storage: storage,
folder: folder,
**search_options,
&progress_callback
)
Rails.logger.info "PDF download completed: #{result[:files].size} files"
result
end
|