diff --git a/scrapy/newitem/exporters/__init__.py b/scrapy/contrib/exporter/__init__.py similarity index 100% rename from scrapy/newitem/exporters/__init__.py rename to scrapy/contrib/exporter/__init__.py diff --git a/scrapy/newitem/exporters/jsonexporter.py b/scrapy/contrib/exporter/jsonexporter.py similarity index 70% rename from scrapy/newitem/exporters/jsonexporter.py rename to scrapy/contrib/exporter/jsonexporter.py index 22e5e4df7..d12c7f018 100644 --- a/scrapy/newitem/exporters/jsonexporter.py +++ b/scrapy/contrib/exporter/jsonexporter.py @@ -1,11 +1,11 @@ -from scrapy.newitem.exporters import BaseItemExporter +from scrapy.contrib.exporter import BaseItemExporter from scrapy.utils.serialization import serialize class JSONItemExporter(BaseItemExporter): def __init__(self, file): - super(BaseItemExporter, self).__init__() + super(JSONItemExporter, self).__init__() self.file = file def export(self, item): diff --git a/scrapy/tests/test_itemexporters.py b/scrapy/tests/test_contrib_exporter.py similarity index 84% rename from scrapy/tests/test_itemexporters.py rename to scrapy/tests/test_contrib_exporter.py index e41ab775e..c2f042558 100644 --- a/scrapy/tests/test_itemexporters.py +++ b/scrapy/tests/test_contrib_exporter.py @@ -1,10 +1,11 @@ from cPickle import Pickler from cStringIO import StringIO -import pprint + from twisted.trial import unittest from scrapy.newitem import Item, Field -from scrapy.newitem.exporters import * +from scrapy.contrib.exporter import BaseItemExporter, PprintItemExporter, \ + PickleItemExporter, CsvItemExporter, XmlItemExporter class TestItem(Item): name = Field() @@ -115,17 +116,20 @@ class JSONItemExporterTest(unittest.TestCase): def setUp(self): try: - from scrapy.newitem.exporters.jsonexporter import JSONItemExporter - self.output = StringIO() - self.ie = JSONItemExporter(self.output) - - except ImportError, e: - raise unittest.SkipTest("Json library not available") + import json + except ImportError: + try: + import simplejson + except ImportError: + raise unittest.SkipTest("simplejson module not available") def test_export(self): + from scrapy.contrib.exporter.jsonexporter import JSONItemExporter + + output = StringIO() + ie = JSONItemExporter(output) i = TestItem(name=u'John', age=22) + ie.export(i) - self.ie.export(i) - - self.assertEqual(self.output.getvalue(), '{"age": 22, "name": "John"}\n') + self.assertEqual(output.getvalue(), '{"age": 22, "name": "John"}\n')