Browse Source

fix json encoding of python date objects

master
cinnaboot 7 years ago
parent
commit
154c6f6ce4
  1. 9
      video_metadata/views/tmdb.py

9
video_metadata/views/tmdb.py

@ -1,7 +1,7 @@
import cgi import cgi
from dataclasses import dataclass, field from dataclasses import dataclass, field
from datetime import date from datetime import date, datetime
from enum import Enum from enum import Enum
import json import json
import re import re
@ -78,9 +78,14 @@ class view_result:
# add flask 1.1 to requirements when alpine distro updates flask # add flask 1.1 to requirements when alpine distro updates flask
# NOTE: haven't found a better way to json encode dataclasses :( # NOTE: haven't found a better way to json encode dataclasses :(
class result_encoder(json.JSONEncoder): class result_encoder(json.JSONEncoder):
def default(self, obj): def default(self, obj):
if isinstance(obj, view_result): if isinstance(obj, view_result):
return obj.__dict__ return obj.__dict__
if isinstance(obj, date):
return obj.isoformat()
if isinstance(obj, datetime):
return obj.isoformat()
try: try:
ret = json.JSONEncoder.default(self, obj) ret = json.JSONEncoder.default(self, obj)
@ -120,9 +125,7 @@ def list_movie_test():
@bp.route('/query_movie', methods=['GET', 'POST']) @bp.route('/query_movie', methods=['GET', 'POST'])
def query_movie(): def query_movie():
errors = []
query = query_data() query = query_data()
view_results = []
if 'query' in request.form: if 'query' in request.form:
query.raw_query_str = request.form['query'] query.raw_query_str = request.form['query']

Loading…
Cancel
Save