From 234cb501e741955b41525c6feb34dd0b6f5d9f78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Tue, 20 Sep 2016 14:32:19 +0200 Subject: [PATCH] Also accept int values for check_lastmodified --- src/octoprint/server/util/flask.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/octoprint/server/util/flask.py b/src/octoprint/server/util/flask.py index 41432be2..6885a1b3 100644 --- a/src/octoprint/server/util/flask.py +++ b/src/octoprint/server/util/flask.py @@ -898,10 +898,13 @@ def check_etag(etag): def check_lastmodified(lastmodified): - if isinstance(lastmodified, float): - from datetime import datetime + from datetime import datetime + if isinstance(lastmodified, (float, int)): lastmodified = datetime.fromtimestamp(lastmodified).replace(microsecond=0) + if not isinstance(lastmodified, datetime): + raise ValueError("lastmodified must be a datetime or float or int instance but, got {} instead".format(lastmodified.__class__)) + return flask.request.method in ("GET", "HEAD") and \ flask.request.if_modified_since is not None and \ lastmodified >= flask.request.if_modified_since