Skip to content

Commit 42296f2

Browse files
committed
fix failing tests by combining _get_xpathvalues() and _get_cssvalues()
1 parent 1df3891 commit 42296f2

File tree

1 file changed

+8
-15
lines changed

1 file changed

+8
-15
lines changed

itemloaders/__init__.py

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -336,14 +336,14 @@ def add_xpath(self, field_name, xpath, *processors, **kw):
336336
337337
"""
338338
self.field_tracker[f"{field_name}_xpath"] += 1
339-
values = self._get_xpathvalues(field_name, xpath, **kw)
339+
values = self.get_selector_values(field_name, xpath, 'xpath', **kw)
340340
self.add_value(field_name, values, *processors, **kw)
341341

342342
def replace_xpath(self, field_name, xpath, *processors, **kw):
343343
"""
344344
Similar to :meth:`add_xpath` but replaces collected data instead of adding it.
345345
"""
346-
values = self._get_xpathvalues(field_name, xpath, **kw)
346+
values = self.get_selector_values(field_name, xpath, 'xpath', **kw)
347347
self.replace_value(field_name, values, *processors, **kw)
348348

349349
def get_xpath(self, xpath, *processors, **kw):
@@ -367,12 +367,9 @@ def get_xpath(self, xpath, *processors, **kw):
367367
loader.get_xpath('//p[@id="price"]', TakeFirst(), re='the price is (.*)')
368368
369369
"""
370-
values = self._get_xpathvalues(None, xpath, **kw)
370+
values = self.get_selector_values(None, xpath, 'xpath', **kw)
371371
return self.get_value(values, *processors, **kw)
372372

373-
def _get_xpathvalues(self, field_name, xpaths, **kw):
374-
return self.get_selector_values(field_name, xpaths, self.selector.xpath, **kw)
375-
376373
def add_css(self, field_name, css, *processors, **kw):
377374
"""
378375
Similar to :meth:`ItemLoader.add_value` but receives a CSS selector
@@ -392,14 +389,14 @@ def add_css(self, field_name, css, *processors, **kw):
392389
loader.add_css('price', 'p#price', re='the price is (.*)')
393390
"""
394391
self.field_tracker[f"{field_name}_css"] += 1
395-
values = self._get_cssvalues(field_name, css, **kw)
392+
values = self.get_selector_values(field_name, css, 'css', **kw)
396393
self.add_value(field_name, values, *processors, **kw)
397394

398395
def replace_css(self, field_name, css, *processors, **kw):
399396
"""
400397
Similar to :meth:`add_css` but replaces collected data instead of adding it.
401398
"""
402-
values = self._get_cssvalues(field_name, css, **kw)
399+
values = self.get_selector_values(field_name, css, 'css', **kw)
403400
self.replace_value(field_name, values, *processors, **kw)
404401

405402
def get_css(self, css, *processors, **kw):
@@ -422,16 +419,12 @@ def get_css(self, css, *processors, **kw):
422419
# HTML snippet: <p id="price">the price is $1200</p>
423420
loader.get_css('p#price', TakeFirst(), re='the price is (.*)')
424421
"""
425-
values = self._get_cssvalues(None, css, **kw)
422+
values = self.get_selector_values(None, css, 'css', **kw)
426423
return self.get_value(values, *processors, **kw)
427424

428-
def _get_cssvalues(self, field_name, csss, **kw):
429-
return self.get_selector_values(field_name, csss, self.selector.css, **kw)
425+
def get_selector_values(self, field_name, selector_rules, selector_name, **kw):
430426

431-
def get_selector_values(self, field_name, selector_rules, selector, **kw):
432-
"""Provides an abstraction to _get_xpathvalues() and _get_cssvalues()
433-
since they share the same components.
434-
"""
427+
selector = getattr(self.selector, selector_name, None)
435428

436429
self._check_selector_method()
437430

0 commit comments

Comments
 (0)