From e5d17b4efe23a617eacadf602559e481641d3590 Mon Sep 17 00:00:00 2001 From: Mabel Villalba Date: Tue, 25 Jun 2019 13:42:40 +0200 Subject: [PATCH] [itemloader-errors] reordered method #3836 --- scrapy/loader/__init__.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/scrapy/loader/__init__.py b/scrapy/loader/__init__.py index ec4102b11..38afa951a 100644 --- a/scrapy/loader/__init__.py +++ b/scrapy/loader/__init__.py @@ -128,6 +128,15 @@ class ItemLoader(object): return item + def get_output_value(self, field_name): + proc = self.get_output_processor(field_name) + proc = wrap_loader_context(proc, self.context) + try: + return proc(self._values[field_name]) + except Exception as e: + raise ValueError("Error with output processor: field=%r value=%r error='%s: %s'" % \ + (field_name, self._values[field_name], type(e).__name__, str(e))) + return proc def get_collected_values(self, field_name): return self._values[field_name] @@ -137,14 +146,6 @@ class ItemLoader(object): if not proc: proc = self._get_item_field_attr(field_name, 'input_processor', \ self.default_input_processor) - def get_output_value(self, field_name): - proc = self.get_output_processor(field_name) - proc = wrap_loader_context(proc, self.context) - try: - return proc(self._values[field_name]) - except Exception as e: - raise ValueError("Error with output processor: field=%r value=%r error='%s: %s'" % \ - (field_name, self._values[field_name], type(e).__name__, str(e))) return proc def get_output_processor(self, field_name):