You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Сейчас заголовок колонки проверяется на полное соответствие значению Column.header.
Необходимо добавить возможность указания функции для валидации заголовка.
Пример1:
def test_validate_headers(column):
class Parser(BaseXLSXParser):
columns = [
Column('column_name', header='№'),
]
xlsx_file = xlsx_file_factory(header=['№'], data=[])
parser = Parser(file_path=xlsx_file.file)
parser()
assert parser.has_errors is False
def test_validate_headers_with_validator(column):
class Parser(BaseXLSXParser):
columns = [
Column('column_name', header='№', header_validator=lambda x: x in ['№', 'Номер', '№пп']),
]
xlsx_file = xlsx_file_factory(header=['№пп'], data=[])
parser = Parser(file_path=xlsx_file.file)
parser()
assert parser.has_errors is False
def test_validate_headers_error(header):
class Parser(BaseXLSXParser):
columns = [
Column('column_name', header='№'),
]
xlsx_file = xlsx_file_factory(header=['fail header'], data=[])
parser = Parser(file_path=xlsx_file.file)
parser()
assert parser.has_errors is True
assert parser.errors == (
"Incorrect column names in the file. "
"Columns in file: ['fail header']. "
"Expected columns: ['№']."
)
def test_validate_headers_with_validator_error(header):
class Parser(BaseXLSXParser):
columns = [
Column('column_name', header='№', header_validator=lambda x: x in ['№', 'Номер', '№пп']),
]
xlsx_file = xlsx_file_factory(header=['fail header'], data=[])
parser = Parser(file_path=xlsx_file.file)
parser()
assert parser.has_errors is True
assert parser.errors == (
"Incorrect column names in the file. "
"Columns in file: ['fail header']. "
"Expected columns: ['№']."
)
The text was updated successfully, but these errors were encountered:
Сейчас заголовок колонки проверяется на полное соответствие значению Column.header.
Необходимо добавить возможность указания функции для валидации заголовка.
Пример1:
The text was updated successfully, but these errors were encountered: