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