From 06930540a69f7b527a148c2506235104e838fc0c Mon Sep 17 00:00:00 2001 From: Vincent Ardisson Date: Tue, 6 Oct 2020 10:33:18 +0200 Subject: [PATCH] lxml: replace deprecated etree getiterator/getchildren These methods were deprecated in stdlib xml.etree and also in lxml, and are ultimately removed in python 3.9. --- modules/canalplus/pages.py | 4 ++-- modules/entreparticuliers/pages.py | 2 +- modules/genericnewspaper/pages.py | 2 +- modules/hds/pages.py | 2 +- modules/mareeinfo/pages.py | 2 +- modules/redmine/pages/issues.py | 4 ++-- modules/s2e/pages.py | 2 +- modules/transilien/pages.py | 2 +- weboob/tools/captcha/virtkeyboard.py | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/modules/canalplus/pages.py b/modules/canalplus/pages.py index 4b305640a0..d1739ae02e 100644 --- a/modules/canalplus/pages.py +++ b/modules/canalplus/pages.py @@ -36,8 +36,8 @@ def get_channels(self): Extract all possible channels (paths) from the page """ channels = list() - for elem in self.doc[2].getchildren(): - for e in elem.getchildren(): + for elem in self.doc[2]: + for e in elem: if e.tag == "NOM": fid, name = self._clean_name(e.text) channels.append(Collection([fid], name)) diff --git a/modules/entreparticuliers/pages.py b/modules/entreparticuliers/pages.py index a0748bfca9..6208fffece 100644 --- a/modules/entreparticuliers/pages.py +++ b/modules/entreparticuliers/pages.py @@ -97,7 +97,7 @@ class HousingPage(XMLPage): def build_doc(self, content): doc = super(HousingPage, self).build_doc(content).getroot() - for elem in doc.getiterator(): + for elem in doc.iter(): if not hasattr(elem.tag, 'find'): continue i = elem.tag.find('}') diff --git a/modules/genericnewspaper/pages.py b/modules/genericnewspaper/pages.py index 6bd10c1876..bf4a973e69 100644 --- a/modules/genericnewspaper/pages.py +++ b/modules/genericnewspaper/pages.py @@ -103,7 +103,7 @@ def get_article(self, _id): return __article def drop_comments(self, base_element): - for comment in base_element.getiterator(Comment): + for comment in base_element.iter(Comment): comment.drop_tree() def try_remove(self, base_element, selector): diff --git a/modules/hds/pages.py b/modules/hds/pages.py index ddc1b54131..c1cfac17a4 100644 --- a/modules/hds/pages.py +++ b/modules/hds/pages.py @@ -129,7 +129,7 @@ class get_author(ItemElement): def obj_description(self): description = u'' - for para in self.el.xpath('//td[has-class("t0")]')[0].getchildren(): + for para in self.el.xpath('//td[has-class("t0")]')[0]: if para.tag not in ('b', 'br'): continue if para.text is not None: diff --git a/modules/mareeinfo/pages.py b/modules/mareeinfo/pages.py index 16c3e3399b..cf1d39e9fa 100644 --- a/modules/mareeinfo/pages.py +++ b/modules/mareeinfo/pages.py @@ -142,7 +142,7 @@ def _create_low_tide(self, gauge_id, AM=True): return tide def _is_low_tide_first(self, jour): - return XPath('//tr[@id="MareeJours_%s"]/td[1]' % jour)(self)[0].getchildren()[0].tag != 'b' + return list(XPath('//tr[@id="MareeJours_%s"]/td[1]' % jour)(self)[0])[0].tag != 'b' def _get_low_tide_value(self, AM=True, jour=0): slow_tide_pos = 1 if self._is_low_tide_first(jour) else 2 diff --git a/modules/redmine/pages/issues.py b/modules/redmine/pages/issues.py index b9394d2ee0..e4a24a275b 100644 --- a/modules/redmine/pages/issues.py +++ b/modules/redmine/pages/issues.py @@ -184,11 +184,11 @@ def iter_issues(self): # No results. return - for tr in issues.getiterator('tr'): + for tr in issues.iter('tr'): if not tr.attrib.get('id', '').startswith('issue-'): continue issue = {'id': tr.attrib['id'].replace('issue-', '')} - for td in tr.getiterator('td'): + for td in tr.iter('td'): field = td.attrib.get('class', '') if field in ('checkbox','todo',''): continue diff --git a/modules/s2e/pages.py b/modules/s2e/pages.py index 0c88fc06ec..25d2571698 100644 --- a/modules/s2e/pages.py +++ b/modules/s2e/pages.py @@ -275,7 +275,7 @@ class AMFHSBCPage(LoggedPage, XMLPage, CodePage): def build_doc(self, content): doc = super(AMFHSBCPage, self).build_doc(content).getroot() # Remove namespaces - for el in doc.getiterator(): + for el in doc.iter(): if not hasattr(el.tag, 'find'): continue i = el.tag.find('}') diff --git a/modules/transilien/pages.py b/modules/transilien/pages.py index 2ded719b85..89188dc2e7 100644 --- a/modules/transilien/pages.py +++ b/modules/transilien/pages.py @@ -38,7 +38,7 @@ class RoadMapDuration(Duration): class DepartureTypeFilter(Filter): def filter(self, el): result = [] - for img in el[0].getiterator(tag='img'): + for img in el[0].iter(tag='img'): result.append(img.attrib['alt']) return u' '.join(result) diff --git a/weboob/tools/captcha/virtkeyboard.py b/weboob/tools/captcha/virtkeyboard.py index 9091c21cef..3db9c9729d 100644 --- a/weboob/tools/captcha/virtkeyboard.py +++ b/weboob/tools/captcha/virtkeyboard.py @@ -196,7 +196,7 @@ def __init__(self, file, document, img_element, color, map_attr="onclick", conve map = document.find('//map[@name="%s"]' % map_id) coords = {} - for area in map.getiterator("area"): + for area in map.iter("area"): code = area.attrib.get(map_attr) area_coords = [] for coord in area.attrib.get("coords").split(' ')[0].split(','): -- GitLab