From 118ae8a3d0248603ff4cf203de956b196d5756d6 Mon Sep 17 00:00:00 2001 From: Joe Schr Date: Tue, 1 Feb 2022 19:34:50 +0100 Subject: [PATCH] Fix api_schemas/json_encoders by manually converting NaT values to empty Strings makes import of datetime columns more robust by first checking if value is null because strftime can't handle NaT values use `isnull()` because it handles all NaN/None/NaT cases --- freqtrade/rpc/api_server/api_schemas.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/freqtrade/rpc/api_server/api_schemas.py b/freqtrade/rpc/api_server/api_schemas.py index c280f453c..b0ffeee7e 100644 --- a/freqtrade/rpc/api_server/api_schemas.py +++ b/freqtrade/rpc/api_server/api_schemas.py @@ -1,4 +1,5 @@ from datetime import date, datetime +from pandas import isnull from typing import Any, Dict, List, Optional, Union from pydantic import BaseModel @@ -355,7 +356,9 @@ class PairHistory(BaseModel): class Config: json_encoders = { - datetime: lambda v: v.strftime(DATETIME_PRINT_FORMAT), + datetime: lambda v: v.strftime(DATETIME_PRINT_FORMAT) + # needed for aslong NaT doesn't work with strftime + if not isnull(v) else "", }