Open sergey-jerzy opened 4 years ago
Сейчас парсер инстанцируется с файлом для импорта, а потом начинает содержать в себе ошибки и данные. Это, может быть, вдохновлено Serializer'ами из DRF, но в целом не сильно удобно и смешивает сущности.
>>> parser = XLSXParser(file_path=xlsx_filepath) >>> parser() >>> print(parser.has_errors) # False >>> pprint(parser.cleaned_data)
Почему бы не передавать файл для импорта в метод parse(), отдавая некий ParseResult?
>>> parser = XLSXParser() >>> result = parser.parse(file_path=xlsx_filepath) >>> print(result.has_errors) # False >>> pprint(result.cleaned_data)
Это позволит отделить настройки парсера от результата, собрать в парсере только методы для импорта файлов, файлов по шаблону и т.п.
Отчасти сделано в https://github.com/best-doctor/import_me/pull/52 (внутри функции используется старый парсер с ошибками внутри, но DTO-обёртка возвращает ParsingResult)
Сейчас парсер инстанцируется с файлом для импорта, а потом начинает содержать в себе ошибки и данные. Это, может быть, вдохновлено Serializer'ами из DRF, но в целом не сильно удобно и смешивает сущности.
Почему бы не передавать файл для импорта в метод parse(), отдавая некий ParseResult?
Это позволит отделить настройки парсера от результата, собрать в парсере только методы для импорта файлов, файлов по шаблону и т.п.