提交 8b4304d5 编写于 作者: D Daniel Grana

change csv exporter to check flag inmediately instead of calling another function

上级 5ff8ed86
......@@ -105,24 +105,23 @@ class CsvItemExporter(BaseItemExporter):
self._configure(kwargs, dont_fail=True)
self.include_headers_line = include_headers_line
self.csv_writer = csv.writer(file, **kwargs)
self._headers_written = False
self._headers_not_written = True
def export_item(self, item):
self._write_headers_and_set_fields_to_export(item)
if self._headers_not_written:
self._headers_not_written = False
self._write_headers_and_set_fields_to_export(item)
fields = self._get_serialized_fields(item, default_value='', \
include_empty=True)
values = [x[1] for x in fields]
self.csv_writer.writerow(values)
def _write_headers_and_set_fields_to_export(self, item):
if self._headers_written:
return
self._headers_written = True
if not self.include_headers_line:
return
if not self.fields_to_export:
self.fields_to_export = item.fields.keys()
self.csv_writer.writerow(self.fields_to_export)
if self.include_headers_line:
if not self.fields_to_export:
self.fields_to_export = item.fields.keys()
self.csv_writer.writerow(self.fields_to_export)
class PickleItemExporter(BaseItemExporter):
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册