From a463c6d052566cfd12442ed0eb98b5fda90dca61 Mon Sep 17 00:00:00 2001 From: Ben Kurtovic Date: Thu, 4 Aug 2016 00:59:52 -0400 Subject: [PATCH] Fix lazy loading bug where lxml.etree wasn't accessible to bs4. --- earwigbot/wiki/copyvios/search.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/earwigbot/wiki/copyvios/search.py b/earwigbot/wiki/copyvios/search.py index 0824a5f..1056496 100644 --- a/earwigbot/wiki/copyvios/search.py +++ b/earwigbot/wiki/copyvios/search.py @@ -31,7 +31,7 @@ from urllib2 import URLError from earwigbot import importer from earwigbot.exceptions import SearchQueryError -etree = importer.new("lxml.etree") +lxml = importer.new("lxml") oauth = importer.new("oauth2") __all__ = ["BingSearchEngine", "GoogleSearchEngine", "YahooBOSSSearchEngine", @@ -228,7 +228,7 @@ class YandexSearchEngine(_BaseSearchEngine): @staticmethod def requirements(): - return ["lxml"] + return ["lxml.etree"] def search(self, query): """Do a Yandex web search for *query*. @@ -252,9 +252,9 @@ class YandexSearchEngine(_BaseSearchEngine): result = self._open(url + urlencode(params)) try: - data = etree.fromstring(result) + data = lxml.etree.fromstring(result) return [elem.text for elem in data.xpath(".//url")] - except etree.Error as exc: + except lxml.etree.Error as exc: raise SearchQueryError("Yandex XML parse error: " + str(exc))