Принудить дату и время с помощью Cerberus со схемой, определенной в файле конфигурации ⇐ Python
-
Anonymous
Принудить дату и время с помощью Cerberus со схемой, определенной в файле конфигурации
Ссылаясь на этот ответ, я определил схему в отдельном файле конфигурации и использовал функцию read_config для чтения схемы. Это отлично работает для стандартных правил проверки, но когда я определяю fmt_date, я получаю ошибку неверный узел или строку в строке 1: при вызове < code>read_config функция. Как исправить эту ошибку? Мне нужна возможность определить схему в файле конфигурации, чтобы можно было параметризовать часть проверки.
def read_config(config_key: str): cParser = configparser.RawConfigParser() cFilePath = r'config' cParser.read(cFilePath) return str(cParser.get('my-config', config_key)) doc_schema = ast.literal_eval(read_config('my_schema')) v = Валидатор (doc_schema) fmt_date = лямбда s: datetime.strptime(s, '%Y-%m-%d') Схема
[my-config] my_schema = {"start_date": {"required": True, "nullable": True, "type": "datetime", "coerce": fmt_date}
Ссылаясь на этот ответ, я определил схему в отдельном файле конфигурации и использовал функцию read_config для чтения схемы. Это отлично работает для стандартных правил проверки, но когда я определяю fmt_date, я получаю ошибку неверный узел или строку в строке 1: при вызове < code>read_config функция. Как исправить эту ошибку? Мне нужна возможность определить схему в файле конфигурации, чтобы можно было параметризовать часть проверки.
def read_config(config_key: str): cParser = configparser.RawConfigParser() cFilePath = r'config' cParser.read(cFilePath) return str(cParser.get('my-config', config_key)) doc_schema = ast.literal_eval(read_config('my_schema')) v = Валидатор (doc_schema) fmt_date = лямбда s: datetime.strptime(s, '%Y-%m-%d') Схема
[my-config] my_schema = {"start_date": {"required": True, "nullable": True, "type": "datetime", "coerce": fmt_date}
Мобильная версия