@@ -43,9 +43,17 @@ class CSVImporterBase:
Reader = csv.reader
DictReader = csv.DictReader
@classmethod
def _row_rindex(cls, row, default=None):
"""Return the index of the last cell in the row that has a value."""
for offset, value in enumerate(reversed(row), 1):
if value:
return len(row) - offset
return default
def _read_header_row(cls, row):
return {} if len(row) < cls._HEADER_MAX_LEN else None
return {} if cls._row_rindex(row, -1) + 1 < cls._HEADER_MAX_LEN else None
def _read_header(cls, input_file):