def check_url(self, url): #使用所有的checker检查某个url parent = url.parent if isinstance(url, URL) else None url = url.url if isinstance(url, URL) else url GLog.debug("Checking url: %s", url) failed_checker = 0 for checker in self.checkers: failed_checker += checker.check(url) #如果所有checker检查返回0(正常),直接返回0 if failed_checker == 0: return 0 #有checker检查失败了 if not self.is_white_url(url): GLog.fatal("URL check failed: %s, parent url: %s", url, parent) return 1 else: GLog.warning("URL check failed: %s, parent url: %s", url, parent) return 0
def check(self, page): GLog.debug("Checking url: %s", page.url) for checker in self.checkers: r, msg = checker.check(page) if not r: self.result.append(Result(page, msg))