From 154c6f6ce4e8e9c2aa5a5895c97de5957b32ec84 Mon Sep 17 00:00:00 2001 From: cinnaboot Date: Mon, 7 Oct 2019 04:50:42 -0400 Subject: [PATCH] fix json encoding of python date objects --- video_metadata/views/tmdb.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/video_metadata/views/tmdb.py b/video_metadata/views/tmdb.py index 8714785..1444e8a 100644 --- a/video_metadata/views/tmdb.py +++ b/video_metadata/views/tmdb.py @@ -1,7 +1,7 @@ import cgi from dataclasses import dataclass, field -from datetime import date +from datetime import date, datetime from enum import Enum import json import re @@ -78,9 +78,14 @@ class view_result: # add flask 1.1 to requirements when alpine distro updates flask # NOTE: haven't found a better way to json encode dataclasses :( class result_encoder(json.JSONEncoder): + def default(self, obj): if isinstance(obj, view_result): return obj.__dict__ + if isinstance(obj, date): + return obj.isoformat() + if isinstance(obj, datetime): + return obj.isoformat() try: ret = json.JSONEncoder.default(self, obj) @@ -120,9 +125,7 @@ def list_movie_test(): @bp.route('/query_movie', methods=['GET', 'POST']) def query_movie(): - errors = [] query = query_data() - view_results = [] if 'query' in request.form: query.raw_query_str = request.form['query']