diff --git a/scrapy/contrib/exporter/__init__.py b/scrapy/contrib/exporter/__init__.py index f7b25ccc1..6e8d0833d 100644 --- a/scrapy/contrib/exporter/__init__.py +++ b/scrapy/contrib/exporter/__init__.py @@ -79,7 +79,7 @@ class BaseItemExporter(object): class JsonLinesItemExporter(BaseItemExporter): def __init__(self, file, **kwargs): - self._configure(kwargs) + self._configure(kwargs, dont_fail=True) self.file = file self.encoder = ScrapyJSONEncoder(**kwargs) @@ -91,7 +91,7 @@ class JsonLinesItemExporter(BaseItemExporter): class JsonItemExporter(JsonLinesItemExporter): def __init__(self, file, **kwargs): - self._configure(kwargs) + self._configure(kwargs, dont_fail=True) self.file = file self.encoder = ScrapyJSONEncoder(**kwargs) self.first_item = True diff --git a/scrapy/tests/test_contrib_exporter.py b/scrapy/tests/test_contrib_exporter.py index d4865aafa..5ad0079a0 100644 --- a/scrapy/tests/test_contrib_exporter.py +++ b/scrapy/tests/test_contrib_exporter.py @@ -233,6 +233,13 @@ class JsonLinesItemExporterTest(BaseItemExporterTest): exported = json.loads(self.output.getvalue()) self.assertEqual(exported, self._expected_nested) + def test_extra_keywords(self): + self.ie = self._get_exporter(sort_keys=True) + self.test_export_item() + self._check_output() + self.assertRaises(TypeError, self._get_exporter, foo_unknown_keyword_bar=True) + + class JsonItemExporterTest(JsonLinesItemExporterTest): _expected_nested = [JsonLinesItemExporterTest._expected_nested]