From 8d4db7d2c92aa719da8ce218df9490283754d20b Mon Sep 17 00:00:00 2001 From: dam Date: Wed, 30 Mar 2022 14:52:01 +0000 Subject: Fixed database fields being parsed as floats instead of integers by JSON. --- logic/database.gd | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'logic') diff --git a/logic/database.gd b/logic/database.gd index a6f2747..5694dcc 100644 --- a/logic/database.gd +++ b/logic/database.gd @@ -158,6 +158,14 @@ func load_database(file_path: String = DATABASE_FILE_PATH): return db = parse_result.result["database"] + + # The JSON specification does not define integer or float types, but only a number type. + # Therefore, converting a Variant to JSON text will convert all numerical values to float types. + # Thus, we cast all integer values once we load them. + for it in db: + it.date_year = int(it.date_year) + it.date_month = int(it.date_month) + it.date_day = int(it.date_day) func save_database(file_path: String = DATABASE_FILE_PATH): -- cgit v1.2.3