Skip to content

Commit c885f5d

Browse files
author
Joel Collins
committed
Added type check to LogRecordSchema.preprocess
1 parent 1eb15d1 commit c885f5d

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/labthings/schema.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# -*- coding: utf-8 -*-
22
from collections.abc import Mapping
33
from datetime import datetime
4+
import logging
45

56
from flask import url_for
67
from marshmallow import Schema, pre_dump, pre_load, validate
@@ -74,9 +75,10 @@ class LogRecordSchema(Schema):
7475

7576
@pre_dump
7677
def preprocess(self, data, **kwargs):
77-
data.message = data.getMessage()
78-
if not isinstance(data.created, datetime):
79-
data.created = datetime.fromtimestamp(data.created)
78+
if isinstance(data, logging.LogRecord):
79+
data.message = data.getMessage()
80+
if not isinstance(data.created, datetime):
81+
data.created = datetime.fromtimestamp(data.created)
8082
return data
8183

8284

@@ -93,6 +95,9 @@ class ActionSchema(Schema):
9395
_request_time = fields.DateTime(data_key="timeRequested")
9496
_end_time = fields.DateTime(data_key="timeCompleted")
9597
log = fields.List(fields.Nested(LogRecordSchema()))
98+
99+
input = fields.Raw()
100+
output = fields.Raw()
96101

97102
href = fields.String()
98103
links = fields.Dict()
@@ -202,9 +207,10 @@ def generate_links(self, data, **kwargs):
202207
]
203208
except BuildError:
204209
urls = []
205-
# TODO: Tidy up this nasty jazz
210+
# If URL list is empty
206211
if len(urls) == 0:
207212
urls = None
213+
# If only 1 URL is given
208214
elif len(urls) == 1:
209215
urls = urls[0]
210216
# Make links dictionary if it doesn't yet exist

0 commit comments

Comments
 (0)