From 09b7e525463b720e107ae32b9b714621b12513c3 Mon Sep 17 00:00:00 2001 From: "Lucas C. Villa Real" Date: Wed, 4 Jul 2018 12:56:10 -0300 Subject: Catch errors while retrieving data from remote URLs --- bin/RPMFinder | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/bin/RPMFinder b/bin/RPMFinder index d1c9b03..1811222 100755 --- a/bin/RPMFinder +++ b/bin/RPMFinder @@ -239,11 +239,19 @@ class RPMFinder: query = "/linux/rpm2html/search.php" query += "?query={0}&submit=Search+...&system={1}&arch={2}".format(path, self.distroname, arch) htmlparser = RPMFind_Parser() - html = subprocess.check_output(["wget", "--quiet", "{0}{1}".format(self.baseuri, query), "-O", "-"]) - htmlparser.feed(str(html)) - for infopage in htmlparser.get_pkginfo().infopages: - html = subprocess.check_output(["wget", "--quiet", "{0}{1}".format(self.baseuri, infopage), "-O", "-"]) + try: + html = subprocess.check_output(["wget", "--quiet", "{0}{1}".format(self.baseuri, query), "-O", "-"]) htmlparser.feed(str(html)) + except subprocess.CalledProcessError: + sys.stderr.write("error retrieving url {0}{1}".format(self.baseuri, query)) + return None + for infopage in htmlparser.get_pkginfo().infopages: + try: + html = subprocess.check_output(["wget", "--quiet", "{0}{1}".format(self.baseuri, infopage), "-O", "-"]) + htmlparser.feed(str(html)) + except subprocess.CalledProcessError: + sys.stderr.write("error retrieving url {0}{1}".format(self.baseuri, infopage)) + return None return htmlparser.get_pkginfo(self.baseuri) -- cgit v1.1