make repology api queries more efficient
This commit is contained in:
parent
d6f2a1c6fa
commit
e64af7c046
@ -32,20 +32,19 @@ module Repology
|
|||||||
ohai "Querying outdated packages from Repology"
|
ohai "Querying outdated packages from Repology"
|
||||||
|
|
||||||
page_no = 1
|
page_no = 1
|
||||||
outdated_packages = query_api
|
outdated_packages = {}
|
||||||
response_size = outdated_packages.size
|
last_package_index = ""
|
||||||
last_package_index = outdated_packages.size - 1
|
|
||||||
|
|
||||||
while response_size > 1 && page_no <= MAX_PAGINATION
|
while page_no <= MAX_PAGINATION
|
||||||
odebug "Paginating Repology API page: #{page_no}"
|
odebug "Paginating Repology API page: #{page_no}"
|
||||||
last_package_in_response = outdated_packages.keys[last_package_index]
|
|
||||||
response = query_api(last_package_in_response)
|
|
||||||
|
|
||||||
|
response = query_api(last_package_index)
|
||||||
response_size = response.size
|
response_size = response.size
|
||||||
outdated_packages.merge!(response)
|
outdated_packages.merge!(response)
|
||||||
last_package_index = outdated_packages.size - 1
|
last_package_index = outdated_packages.size - 1
|
||||||
|
|
||||||
page_no += 1
|
page_no += 1
|
||||||
break if limit && outdated_packages.size >= limit
|
break if limit && outdated_packages.size >= limit || response_size <= 1
|
||||||
end
|
end
|
||||||
|
|
||||||
puts "#{outdated_packages.size} outdated #{"package".pluralize(outdated_packages.size)} found"
|
puts "#{outdated_packages.size} outdated #{"package".pluralize(outdated_packages.size)} found"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user