From e64af7c046a7e85a2ccd7cc4deccb1ca78508c21 Mon Sep 17 00:00:00 2001 From: Elizabeth Tackett <emctackett@gmail.com> Date: Wed, 19 Aug 2020 10:12:38 -0500 Subject: [PATCH] make repology api queries more efficient --- Library/Homebrew/utils/repology.rb | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Library/Homebrew/utils/repology.rb b/Library/Homebrew/utils/repology.rb index bca1ce5ce1..0d367be396 100644 --- a/Library/Homebrew/utils/repology.rb +++ b/Library/Homebrew/utils/repology.rb @@ -32,20 +32,19 @@ module Repology ohai "Querying outdated packages from Repology" page_no = 1 - outdated_packages = query_api - response_size = outdated_packages.size - last_package_index = outdated_packages.size - 1 + outdated_packages = {} + last_package_index = "" - while response_size > 1 && page_no <= MAX_PAGINATION + while page_no <= MAX_PAGINATION 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 outdated_packages.merge!(response) last_package_index = outdated_packages.size - 1 + page_no += 1 - break if limit && outdated_packages.size >= limit + break if limit && outdated_packages.size >= limit || response_size <= 1 end puts "#{outdated_packages.size} outdated #{"package".pluralize(outdated_packages.size)} found" -- GitLab