mirror of
https://github.com/scrapy/scrapy.git
synced 2025-02-25 09:03:57 +00:00
change csv exporter to check flag inmediately instead of calling another function
This commit is contained in:
parent
5ff8ed8686
commit
8b4304d5eb
@ -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):
|
||||
|
Loading…
x
Reference in New Issue
Block a user