diff -r adf11836cfce -r d359172d11be eric6/WebBrowser/AdBlock/AdBlockRule.py --- a/eric6/WebBrowser/AdBlock/AdBlockRule.py Fri Apr 09 18:13:36 2021 +0200 +++ b/eric6/WebBrowser/AdBlock/AdBlockRule.py Fri Apr 09 18:38:01 2021 +0200 @@ -76,7 +76,7 @@ ElementHideOption = 16384 -class AdBlockRule(object): +class AdBlockRule: """ Class implementing the AdBlock rule. """ @@ -529,23 +529,18 @@ return True if len(self.__blockedDomains) == 0: - for dom in self.__allowedDomains: - if self.__isMatchingDomain(domain, dom): - return True + return any(self.__isMatchingDomain(domain, dom) + for dom in self.__allowedDomains) elif len(self.__allowedDomains) == 0: - for dom in self.__blockedDomains: - if self.__isMatchingDomain(domain, dom): - return False - return True + return all(not self.__isMatchingDomain(domain, dom) + for dom in self.__blockedDomains) else: - for dom in self.__blockedDomains: - if self.__isMatchingDomain(domain, dom): - return False - for dom in self.__allowedDomains: - if self.__isMatchingDomain(domain, dom): - return True - - return False + return ( + all(not self.__isMatchingDomain(domain, dom) + for dom in self.__blockedDomains) and + any(self.__isMatchingDomain(domain, dom) + for dom in self.__allowedDomains) + ) def matchThirdParty(self, req): """ @@ -987,11 +982,8 @@ if not filterString.endswith("^") or not filterString.startswith("||"): return False - for filterChar in filterString: - if filterChar in ["/", ":", "?", "=", "&", "*"]: - return False - - return True + return all(filterChar not in ["/", ":", "?", "=", "&", "*"] + for filterChar in filterString) def __filterIsOnlyEndsMatch(self, filterString): """ @@ -1003,13 +995,12 @@ @return flag indicating a end of string match filter @rtype bool """ - index = 0 - for filterChar in filterString: + for index, filterChar in enumerate(filterString): + # __IGNORE_WARNING_Y111__ if filterChar in ["^", "*"]: return False elif filterChar == "|": - return bool(index == len(filterString) - 1) - index += 1 + return index == len(filterString) - 1 return False @@ -1046,9 +1037,7 @@ @rtype bool """ if self.__regExp is not None: - for matcher in self.__stringMatchers: - if matcher not in url: - return False + return all(matcher in url for matcher in self.__stringMatchers) return True